Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA:

Update zur Sender-Decoder-Library 06 Feb 2018 11:41 #85

  • Eckehard
  • Eckehards Avatar
  • Offline
  • Senior Boarder
  • Senior Boarder
  • Beiträge: 54
  • Dank erhalten: 6
Hallo Zusammen,

gestern hieß es "abnabeln"....

Hier der Stand der Dinge, siehe Anhang.....

Grüße
Eckehard
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Eckehard. Grund: Typo

Update zur Sender-Decoder-Library 06 Feb 2018 12:45 #86

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 289
  • Dank erhalten: 134
Daumen hoch ! Das schaut ja schon sehr gut aus. Ich gratuliere !

VG Bernd

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Update zur Sender-Decoder-Library 06 Feb 2018 13:15 #87

  • Eckehard
  • Eckehards Avatar
  • Offline
  • Senior Boarder
  • Senior Boarder
  • Beiträge: 54
  • Dank erhalten: 6
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Darstellung von Einheiten non ASCII Zeichen, °C 19 Feb 2018 21:36 #88

  • Eckehard
  • Eckehards Avatar
  • Offline
  • Senior Boarder
  • Senior Boarder
  • Beiträge: 54
  • Dank erhalten: 6
Hallo,

habe noch ein klitzekleines Problemchen, an dem ich aktuell nicht weiterkomme:

Auf dem SerialMonitor am Dekoder Teensy erscheint:
....
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)

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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Eckehard. Grund: Typo

Darstellung von Einheiten non ASCII Zeichen, °C 19 Feb 2018 22:17 #89

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 289
  • Dank erhalten: 134
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Darstellung von Einheiten non ASCII Zeichen, °C 20 Feb 2018 23:10 #90

  • Eckehard
  • Eckehards Avatar
  • Offline
  • Senior Boarder
  • Senior Boarder
  • Beiträge: 54
  • Dank erhalten: 6
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 1.301 Sekunden
Powered by Kunena Forum