Arduino Library für Jeti EX Eigenbau-Telemetrie
- TeroS
- Offline
- Platinum Mitglied
- RC-Thoughts
- Beiträge: 527
- Dank erhalten: 370
Any idea why Jetibox would not work? Sensor work with everything else, transmitter does see it, values are ok etc. (Arduino Pro Mini 8Mhz 3.3V)
loop contains HandleMenu(); and HandleMenu() looks very normal to me:
loop contains HandleMenu(); and HandleMenu() looks very normal to me:
Code:
void HandleMenu()
{
static int _nMenu = 0;
static bool _bSetDisplay = true;
uint8_t c = jetiEx.GetJetiboxKey();
// 224 0xe0 : // RIGHT
// 112 0x70 : // LEFT
// 208 0xd0 : // UP
// 176 0xb0 : // DOWN
// 144 0x90 : // UP+DOWN
// 96 0x60 : // LEFT+RIGHT
// right
if( c == 0xe0 && _nMenu < 2 )
{
_nMenu++;
_bSetDisplay = true;
}
// left
if( c == 0x70 )
{
if( _nMenu > 0 )
{
_nMenu--;
_bSetDisplay = true;
}
else
{
jetiEx.SetJetiboxExit(); // todo does not exit menu
return;
}
}
if( !_bSetDisplay )
return;
switch( _nMenu )
{
case 0:
jetiEx.SetJetiboxText( JetiExProtocol::LINE1, " RCT Jeti Tools" );
jetiEx.SetJetiboxText( JetiExProtocol::LINE2, " Test Sensor" );
break;
case 1:
jetiEx.SetJetiboxText( JetiExProtocol::LINE1, "Menu 1 - Line 1" );
jetiEx.SetJetiboxText( JetiExProtocol::LINE2, "Menu 1 - Line 2" );
break;
case 2:
jetiEx.SetJetiboxText( JetiExProtocol::LINE1, "Menu 2 - Line 1" );
jetiEx.SetJetiboxText( JetiExProtocol::LINE2, "Menu 2 - Line 2" );
break;
}
_bSetDisplay = false;
}
Last Edit:30 Apr. 2017 14:58
von TeroS
Letzte Änderung: 30 Apr. 2017 14:58 von TeroS.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- TeroS
- Offline
- Platinum Mitglied
- RC-Thoughts
- Beiträge: 527
- Dank erhalten: 370
Found it, wrong resistor.
von TeroS
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- sierra_uniform
- Offline
- Elite Mitglied
- Beiträge: 275
- Dank erhalten: 138
Hallo Leute,
bin neu im Sensor Eigenbau Geschäft. Und auch noch relativ unbedarft in Sachen C-Programmierung. Als erstes möchte ich mich mal ganz herzlich für die C-Bibliothek und die dazugehörenden Beispielprogramme bedanken. Damit ist es mir gelungen einen Sensor zu bauen, der einen LiPo Akku mit bis zu 6 Zellen überwacht und 3 Werte ausgibt:
a) Akkuspannung
b) Spannung der Zelle mit der niedrigsten Spannung
c) Nummer der Zelle mit der niedrigsten Spannung
Die Ausgabe auf dem Sender sieht wie folgt aus:
Und die Ausgabe auf der Jetibox so:
Bei der Ausgabe für die Jetibox kämpfe ich noch damit, das Dezimalkomma mit auszugeben. Kann ich da irgendwie die Festlegung aus der Definiton mit JETISENSOR_CONST benutzen? Wenn ja, wie? Oder wie bekomme das sonst hin? Außerdem würde ich zur Zellenspannung der niedrigsten Zelle in der gleichen Zeile auch noch die Zellennummer mit ausgeben. Auch das habe ich bisher nicht geschafft. Wie gesagt: Bin noch C-Anfänger.
Viele Grüße
SU
bin neu im Sensor Eigenbau Geschäft. Und auch noch relativ unbedarft in Sachen C-Programmierung. Als erstes möchte ich mich mal ganz herzlich für die C-Bibliothek und die dazugehörenden Beispielprogramme bedanken. Damit ist es mir gelungen einen Sensor zu bauen, der einen LiPo Akku mit bis zu 6 Zellen überwacht und 3 Werte ausgibt:
a) Akkuspannung
b) Spannung der Zelle mit der niedrigsten Spannung
c) Nummer der Zelle mit der niedrigsten Spannung
Die Ausgabe auf dem Sender sieht wie folgt aus:
Und die Ausgabe auf der Jetibox so:
Bei der Ausgabe für die Jetibox kämpfe ich noch damit, das Dezimalkomma mit auszugeben. Kann ich da irgendwie die Festlegung aus der Definiton mit JETISENSOR_CONST benutzen? Wenn ja, wie? Oder wie bekomme das sonst hin? Außerdem würde ich zur Zellenspannung der niedrigsten Zelle in der gleichen Zeile auch noch die Zellennummer mit ausgeben. Auch das habe ich bisher nicht geschafft. Wie gesagt: Bin noch C-Anfänger.
Viele Grüße
SU
von sierra_uniform
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Sepp62
- Offline Autor
- Elite Mitglied
- Beiträge: 294
- Dank erhalten: 153
Hallo SU,
bin gerade unterwegs und kann daher nur kurz antworten. Das Schlüsselwort zur Formatierung der Ausgabedaten heisst "sprintf". Du findest einige Beispiele hier im Thread z.B. ab Post 230. Die Dezimalstellendefinition in den Senderdaten bringt Dich hier nicht weiter. Der String für die Jetibox-Anzeige muss von Deinem Code formatiert werden.
VG Bernd
bin gerade unterwegs und kann daher nur kurz antworten. Das Schlüsselwort zur Formatierung der Ausgabedaten heisst "sprintf". Du findest einige Beispiele hier im Thread z.B. ab Post 230. Die Dezimalstellendefinition in den Senderdaten bringt Dich hier nicht weiter. Der String für die Jetibox-Anzeige muss von Deinem Code formatiert werden.
VG Bernd
von Sepp62
Folgende Benutzer bedankten sich: sierra_uniform
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- sierra_uniform
- Offline
- Elite Mitglied
- Beiträge: 275
- Dank erhalten: 138
Hallo Bernd,
vielen Dank für Deinen Tipp. Das mit den 2 Werten habe ich hinbekommen. Das mit dem Komma nicht. Habe eine float Variable benutzt und zur Ausgabe-Formatierung %.2f angegeben. Das erzeugt in der Jetibox aber nur ein ?. Stehe irgendwie auf dem Schlauch.
Gruß SU
vielen Dank für Deinen Tipp. Das mit den 2 Werten habe ich hinbekommen. Das mit dem Komma nicht. Habe eine float Variable benutzt und zur Ausgabe-Formatierung %.2f angegeben. Das erzeugt in der Jetibox aber nur ein ?. Stehe irgendwie auf dem Schlauch.
Gruß SU
von sierra_uniform
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Sepp62
- Offline Autor
- Elite Mitglied
- Beiträge: 294
- Dank erhalten: 153
Siehe hier:sierra_uniform wrote: Hallo Bernd,
vielen Dank für Deinen Tipp. Das mit den 2 Werten habe ich hinbekommen. Das mit dem Komma nicht. Habe eine float Variable benutzt und zur Ausgabe-Formatierung %.2f angegeben. Das erzeugt in der Jetibox aber nur ein ?. Stehe irgendwie auf dem Schlauch.
Gruß SU
stackoverflow.com/questions/27651012/ard...float-not-formatting
In den Beispielen weiter vorne findest Du ähnlichen Code.
von Sepp62
Folgende Benutzer bedankten sich: sierra_uniform
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 1.108 Sekunden