Arduino Library für die Dekodierung von EX-Paketen
- Eckehard
-
- Offline
- Senior Member
-
- Posts: 65
- Thank you received: 6
TPL_KUNENA_MESSAGE_REPLIED_NEW Update zur Sender-Decoder-Library
06 Feb 2018 10:41 - 06 Feb 2018 12:01
Hallo Zusammen,
gestern hieß es "abnabeln"....
Hier der Stand der Dinge, siehe Anhang.....
Grüße
Eckehard
gestern hieß es "abnabeln"....
Hier der Stand der Dinge, siehe Anhang.....
Grüße
Eckehard
Last edit: 06 Feb 2018 12:01 by Eckehard. Reason: Typo
Please Log in or Create an account to join the conversation.
- Sepp62
-
Topic Author
- Offline
- Elite Member
-
- Posts: 305
- Thank you received: 154
TPL_KUNENA_MESSAGE_REPLIED_NEW Update zur Sender-Decoder-Library
06 Feb 2018 11:45
Daumen hoch ! Das schaut ja schon sehr gut aus. Ich gratuliere !
VG Bernd
VG Bernd
Please Log in or Create an account to join the conversation.
- Eckehard
-
- Offline
- Senior Member
-
- Posts: 65
- Thank you received: 6
TPL_KUNENA_MESSAGE_REPLIED_NEW Update zur Sender-Decoder-Library
06 Feb 2018 12:15
Hallo,
Danke! Und nochmals Danke für die Lib, ohne die es mir nicht möglich gewesen wäre, soeinfach soweit zu kommen!
Ohne der Acryl-Überbrille wiegt die DatenBrille übrigens 50g.
Das ist imho doch recht leicht. Zusammen gesnappt an der Acryl-Überbrille hält das aber bei normalen Bewegungen sehr gut, zumindestens an meinem Dickkopf.
Sparen könnte man bei diesem Prototyp bei:
- Accu: nur 100mAh nehmen
- Gehäuse: dünneres Kunstoff Material, oder maßgeschneiderter 3D Druck
- Vereinfachung/Erleichterung der Verstellmechanik für den "Insight" Spiegel
- der "Klotz von Taster" muss unbedingt weg
Bin gespannt, wie sich das beim Fliegen "bewährt".
Danach werde ich schaun was zu verbessern ist, das 049"er Display soll ja auch noch seinen Einsatz finden....
Leider wird der praktische Einsatz aber frühestens in 3Wochen stattfinden können, ein Urlaub ist mir dazwischen gerutscht....
Macht nichts.....
Ich werde berichten....
Grüße
Eckehard
Danke! Und nochmals Danke für die Lib, ohne die es mir nicht möglich gewesen wäre, soeinfach soweit zu kommen!
Ohne der Acryl-Überbrille wiegt die DatenBrille übrigens 50g.
Das ist imho doch recht leicht. Zusammen gesnappt an der Acryl-Überbrille hält das aber bei normalen Bewegungen sehr gut, zumindestens an meinem Dickkopf.
Sparen könnte man bei diesem Prototyp bei:
- Accu: nur 100mAh nehmen
- Gehäuse: dünneres Kunstoff Material, oder maßgeschneiderter 3D Druck
- Vereinfachung/Erleichterung der Verstellmechanik für den "Insight" Spiegel
- der "Klotz von Taster" muss unbedingt weg
Bin gespannt, wie sich das beim Fliegen "bewährt".
Danach werde ich schaun was zu verbessern ist, das 049"er Display soll ja auch noch seinen Einsatz finden....
Leider wird der praktische Einsatz aber frühestens in 3Wochen stattfinden können, ein Urlaub ist mir dazwischen gerutscht....
Macht nichts.....
Ich werde berichten....
Grüße
Eckehard
Please Log in or Create an account to join the conversation.
- Eckehard
-
- Offline
- Senior Member
-
- Posts: 65
- Thank you received: 6
TPL_KUNENA_MESSAGE_REPLIED_NEW Darstellung von Einheiten non ASCII Zeichen, °C
19 Feb 2018 20:36 - 19 Feb 2018 20:38
Hallo,
habe noch ein klitzekleines Problemchen, an dem ich aktuell nicht weiterkomme:
Auf dem SerialMonitor am Dekoder Teensy erscheint:
.....mit folgender Funktion PrintValue, abgeleitet vom Beispiel TxJetiEx\Examples\TxJetiEx\TxJetiEx.ino (aus TxJetiEx_v0.9.4.zip)
Unschön:
Die Einheit/Unit im Falle eines Temperatur Sensors wird als "29.10⸮C" übertragen und auch angezeigt.
Frage:
Wie bekomme ich das "Grad Celsius" korrekt dargetellt?
Grübelnde Grüße
Eckehard
habe noch ein klitzekleines Problemchen, an dem ich aktuell nicht weiterkomme:
Auf dem SerialMonitor am Dekoder Teensy erscheint:
Code:
....
UniS-E 49c7a302 9 Leistung 1.10W
---------------------------
UniS-E 49c7a302 10 Luftdruck 951.03hPa
---------------------------
Label from UniS-E, Serial: 49c7a302/12
Label - Temp. int, Unit: ⸮C
++++++++++
UniS-E 49c7a302 12 Temp. int 29.10⸮C
---------------------------
UniS-E 49c7a302 13 Hoehengew. 0.10m
---------------------------
UniS-E 49c7a302 1 Spannung 11.03V
....
.....mit folgender Funktion PrintValue, abgeleitet vom Beispiel TxJetiEx\Examples\TxJetiEx\TxJetiEx.ino (aus TxJetiEx_v0.9.4.zip)
Code:
void PrintValue( TxJetiExPacketValue * pValue )
{
char buf[50];
float fValue;
uint8_t day; uint8_t month; uint16_t year;
uint8_t hour; uint8_t minute; uint8_t second;
sprintf(buf, "tdmarker %s %08lx %d ", pValue->GetName(), pValue->GetSerialId(), pValue->GetId() ); Serial.print( buf );
toSmartGlassSerial.print( buf);
sprintf(buf, "%s ", pValue->GetLabel() ); Serial.print( buf );
toSmartGlassSerial.print( buf);
if( pValue->GetFloat( &fValue ) )
{
Serial.print( fValue );
toSmartGlassSerial.print( fValue);
}
else if( pValue->GetLatitude( &fValue ) )
{
Serial.print( fValue, 5 );
toSmartGlassSerial.print( fValue, 5);
}
else if( pValue->GetLongitude( &fValue ) )
{
Serial.print( fValue, 5 );
toSmartGlassSerial.print( fValue, 5);
}
else if( pValue->GetDate( &day, &month, &year ) )
{
sprintf( buf, "%d.%d.%d", day, month, year ); Serial.print( buf );
}
else if( pValue->GetTime( &hour, &minute, &second ) )
{
sprintf( buf, "%d:%d:%d", hour, minute, second ); Serial.print( buf );
}
else
Serial.print( pValue->GetRawValue() );
//sprintf( buf, " %s Type: %s/%d", pValue->GetUnit(), GetDataTypeString( pValue->GetExType() ), pValue->GetExType() ); Serial.println( buf );
sprintf( buf,"%s", pValue->GetUnit() ); Serial.println( buf );
toSmartGlassSerial.println( buf );
Serial.println( "---------------------------" );
}
Unschön:
Die Einheit/Unit im Falle eines Temperatur Sensors wird als "29.10⸮C" übertragen und auch angezeigt.
Frage:
Wie bekomme ich das "Grad Celsius" korrekt dargetellt?
Grübelnde Grüße
Eckehard
Last edit: 19 Feb 2018 20:38 by Eckehard. Reason: Typo
Please Log in or Create an account to join the conversation.
- Sepp62
-
Topic Author
- Offline
- Elite Member
-
- Posts: 305
- Thank you received: 154
TPL_KUNENA_MESSAGE_REPLIED_NEW Darstellung von Einheiten non ASCII Zeichen, °C
19 Feb 2018 21:17
Hallo Eckehard,
das Problem kenne ich. Nach ein wenig rumprobieren, habe ich dann nichts mehr dafür gemacht, weil die Zeichen-Codes am Ende sowieso nicht am Serial-Monitor dargestellt werden sollen, sondern auf irgendeinem anderen "Gerät", das dann wieder andere Zeichensätze unterstützt.
Daher rate ich Dir:
- Mach alle Tests nur mit dem Gerät, das am Ende für die Zeichen darstellen soll. Dies dürfte bei Dir das Brillen-Display sein.
- Welches der richtige Code ist, muss Du wohl probieren. Am Einfachsten dürfte sein, wenn Du eine Schleife baust, die eine Reihe von Zeichen ausgibt und für jedes Zeichen wird der Code erhöhst Du den Code um eins. Dann schaust Du auf dem Display, ob irgendwo ein "Grad"-Zeichen dabei ist.
- Vielleicht muss man für die Anzeige des Grad-Zeichens auf dem Display den Zeichensatz irgendwie umschalten (oder eine Escape-Sequenz bilden). Dann schickst Du irgendeinen Code, der sonst kein vernünftiges Zeichen darstellt zur Brille und konvertierst dieses Zeichen dann bei der Display-Ausgabe.
Hoffe, Du kommst damit weiter.
VG Bernd
das Problem kenne ich. Nach ein wenig rumprobieren, habe ich dann nichts mehr dafür gemacht, weil die Zeichen-Codes am Ende sowieso nicht am Serial-Monitor dargestellt werden sollen, sondern auf irgendeinem anderen "Gerät", das dann wieder andere Zeichensätze unterstützt.
Daher rate ich Dir:
- Mach alle Tests nur mit dem Gerät, das am Ende für die Zeichen darstellen soll. Dies dürfte bei Dir das Brillen-Display sein.
- Welches der richtige Code ist, muss Du wohl probieren. Am Einfachsten dürfte sein, wenn Du eine Schleife baust, die eine Reihe von Zeichen ausgibt und für jedes Zeichen wird der Code erhöhst Du den Code um eins. Dann schaust Du auf dem Display, ob irgendwo ein "Grad"-Zeichen dabei ist.
- Vielleicht muss man für die Anzeige des Grad-Zeichens auf dem Display den Zeichensatz irgendwie umschalten (oder eine Escape-Sequenz bilden). Dann schickst Du irgendeinen Code, der sonst kein vernünftiges Zeichen darstellt zur Brille und konvertierst dieses Zeichen dann bei der Display-Ausgabe.
Hoffe, Du kommst damit weiter.
VG Bernd
Please Log in or Create an account to join the conversation.
- Eckehard
-
- Offline
- Senior Member
-
- Posts: 65
- Thank you received: 6
TPL_KUNENA_MESSAGE_REPLIED_NEW Darstellung von Einheiten non ASCII Zeichen, °C
20 Feb 2018 22:10
Hallo Bernd,
Dein Rat war "goldrichtig"....
Ich habe bei der Suche zu den Beispielen zu meinem MicroOLed eine leicht abwandelbaren Code gefunden, mit dem ich den Byte Wert des ° Zeichens ermitteln konnte.
(Quelle:
* MicroOLED_Demo.ino
* SFE_MicroOLED Library Demo
* Jim Lindblom @ SparkFun Electronics
* Original Creation Date: October 27, 2014
)
In meinem Brillen Sketch, unter Verwendung der Library
#include <SFE_MicroOLED.h>
mit
MicroOLED oled(PIN_RESET, DC_JUMPER); // Example I2C Declaration
und
oled.setFontType(0); // 5x7 Pixel, max 6 zeilen
kann man mit
oled.write(247);
ein ° Zeichen auf das Display "zaubern"....
Danke, Du hast mir wiedereinmal sehr geholfen!
weiter gehts....
Grüße
Eckehard
Dein Rat war "goldrichtig"....
Ich habe bei der Suche zu den Beispielen zu meinem MicroOLed eine leicht abwandelbaren Code gefunden, mit dem ich den Byte Wert des ° Zeichens ermitteln konnte.
(Quelle:
* MicroOLED_Demo.ino
* SFE_MicroOLED Library Demo
* Jim Lindblom @ SparkFun Electronics
* Original Creation Date: October 27, 2014
)
In meinem Brillen Sketch, unter Verwendung der Library
#include <SFE_MicroOLED.h>
mit
MicroOLED oled(PIN_RESET, DC_JUMPER); // Example I2C Declaration
und
oled.setFontType(0); // 5x7 Pixel, max 6 zeilen
kann man mit
oled.write(247);
ein ° Zeichen auf das Display "zaubern"....
Danke, Du hast mir wiedereinmal sehr geholfen!
weiter gehts....
Grüße
Eckehard
Please Log in or Create an account to join the conversation.
Time to create page: 0.367 seconds