diff --git a/RX_FSK/data/screens1.txt b/RX_FSK/data/screens1.txt index 47b9321..0844148 100644 --- a/RX_FSK/data/screens1.txt +++ b/RX_FSK/data/screens1.txt @@ -44,7 +44,7 @@ # S scan list entry info: l/empty: launch site name, #=entry nr, t=total entries, a=active entries, /: #/t # K RS41 kill timer values: Kl launch timer, Kb burst timer, Kc kill countdown # format: K_4: h:mm k_6: h:mm:ss k_s: sssss, nothing shown for other sonde -# Mx telemetry value x (t temp p preassure h hyg) [not yet implemented, maybe some day in future] +# Mx telemetry value x (t temp p preassure h hyg b battery) # Gx GPS-related data # raw data from GPS: GA, GO, GH, GC: LAtitude, lOngitude, Altutide(Height), Course over ground # relative to sonde: GD, GI, GB: Distance, dIrection (absolute), relative Bearing @@ -203,7 +203,7 @@ timeaction=#,#,# 7,0=gV 7,2=xd= 7,4=gD -7,12=gI° +7,12=gI° ############ @BatteryOLED @@ -224,3 +224,18 @@ fonts=0,1 6,0=xTemp: 6,5=bT C +############# +@Meteo +timer=-1,-1,-1 +key1action=+,0,F,W +key2action=>,#,#,# +timeaction=#,#,# +fonts=0,1 +0,0=Is +0,9=f +1,12=t +2,0=xTelemetry Data +4,0=Mt°C +4,9=Mh%rH +6,0=MphPa +6,11=MbV diff --git a/RX_FSK/data/screens2.txt b/RX_FSK/data/screens2.txt index f4e82ea..67b3e84 100644 --- a/RX_FSK/data/screens2.txt +++ b/RX_FSK/data/screens2.txt @@ -44,7 +44,7 @@ # S scan list entry info: l/empty: launch site name, #=entry nr, t=total entries, a=active entries, /: #/t # K RS41 kill timer values: Kl launch timer, Kb burst timer, Kc kill countdown # format: K_4: h:mm k_6: h:mm:ss k_s: sssss, nothing shown for other sonde -# Mx telemetry value x (t temp p preassure h hyg) [not yet implemented, maybe some day in future] +# Mx telemetry value x (t temp p preassure h hyg b batt) # Gx GPS-related data # raw data from GPS: GA, GO, GH, GC: LAtitude, lOngitude, Altutide(Height), Course over ground # relative to sonde: GD, GI, GB: Distance, dIrection (absolute), relative Bearing @@ -571,3 +571,32 @@ color=639AFF color=FF0000,000000 12.7,0.4=Q4 12.7,18=bVV + +################# +@TelemetryData +scale=22,13 +timer=-1,-1,N +key1action=+,0,F,W +key2action=>,#,#,# +timeaction=#,#,0 +fonts=5,6 +color=FFD700 +0,0,10.5=Is +color=0000FF +0,11,-5.5=f +1,0,4=t +1,10.5,-6=c +color=00ff00 +2,0,7=L +3,0,7=O +color=FFA500 +2,9.5,-7=a +2.8,9.5,-7=vm/s +color=AA5522 +3.6,9.5,-7=hkkm/h +color=FFFFFF +4.4,0=xTelemetry Data: +5.3,0=Mt C +5.3,9=Mh%rH +6.5,0=MphPa +6.5,11=MbV diff --git a/RX_FSK/src/Display.cpp b/RX_FSK/src/Display.cpp index 0272678..eeb8a1a 100644 --- a/RX_FSK/src/Display.cpp +++ b/RX_FSK/src/Display.cpp @@ -1289,26 +1289,40 @@ void Display::drawSite(DispEntry *de) { void Display::drawTelemetry(DispEntry *de) { rdis->setFont(de->fmt); float value=0; + memset(buf, ' ', 16); switch(de->extra[0]) { case 't': value = sonde.si()->d.temperature; - if(value!=0xffff) snprintf(buf, 8, "%3.2f", value); - else strcpy(buf, " "); + if(!isnan(value)) { + sprintf(buf, "%5.1f", value); + strcat(buf, de->extra+1); + } + buf[5+strlen(de->extra+1)] = 0; break; case 'p': value = sonde.si()->d.pressure; - if(value!=0xffff) snprintf(buf, 7, "%4.2f", value); - else strcpy(buf, " "); + if(!isnan(value)) { + if(value>=1000) sprintf(buf, "%6.1f", value); + else sprintf(buf, "%6.2f", value); + strcat(buf, de->extra+1); + } + buf[6+strlen(de->extra+1)] = 0; break; case 'h': value = sonde.si()->d.relativeHumidity; - if(value!=0xffff) snprintf(buf, 5, "%3.1f", value); - else strcpy(buf, " "); + if(!isnan(value)) { + sprintf(buf, "%4.1f", value); + strcat(buf, de->extra+1); + } + buf[4+strlen(de->extra+1)] = 0; break; case 'b': value = sonde.si()->d.batteryVoltage; - if(value!=0xffff) snprintf(buf, 5, "%1.2f", value); - else strcpy(buf, " "); + if(!isnan(value)) { + snprintf(buf, 5, "%4.2f", value); + strcat(buf, de->extra+1); + } + buf[5+strlen(de->extra+1)] = 0; break; } drawString(de,buf); diff --git a/RX_FSK/version.h b/RX_FSK/version.h index d36b78e..20c7c65 100644 --- a/RX_FSK/version.h +++ b/RX_FSK/version.h @@ -1,4 +1,4 @@ const char *version_name = "rdzTTGOsonde"; -const char *version_id = "devel20210924b"; +const char *version_id = "devel20210924c"; const int SPIFFS_MAJOR=2; const int SPIFFS_MINOR=16;