kopia lustrzana https://github.com/dl9rdz/rdz_ttgo_sonde
Merge branch 'patch-1' of https://github.com/eben80/rdz_ttgo_sonde into eben80-patch-1
commit
aba060d2e0
|
@ -809,6 +809,10 @@ void Display::parseDispElement(char *text, DispEntry *de)
|
|||
de->extra = strdup(text+1);
|
||||
//Serial.printf("parsing 'f' entry: extra is '%s'\n", de->extra);
|
||||
break;
|
||||
case 'm':
|
||||
de->func = disp.drawTelemetry;
|
||||
de->extra = strdup(text+1);
|
||||
break;
|
||||
case 'n':
|
||||
// IP address / small always uses tiny font on TFT for backward compatibility
|
||||
// Large font can be used arbitrarily
|
||||
|
@ -1283,6 +1287,31 @@ void Display::drawSite(DispEntry *de) {
|
|||
drawString(de, buf);
|
||||
}
|
||||
void Display::drawTelemetry(DispEntry *de) {
|
||||
rdis->setFont(de->fmt);
|
||||
float value=0;
|
||||
switch(de->extra[0]) {
|
||||
case 't':
|
||||
value = sonde.si()->d.temperature;
|
||||
if(value!=0xffff) snprintf(buf, 8, "%3.2f", value);
|
||||
else strcpy(buf, " ");
|
||||
break;
|
||||
case 'p':
|
||||
value = sonde.si()->d.pressure;
|
||||
if(value!=0xffff) snprintf(buf, 7, "%4.2f", value);
|
||||
else strcpy(buf, " ");
|
||||
break;
|
||||
case 'h':
|
||||
value = sonde.si()->d.relativeHumidity;
|
||||
if(value!=0xffff) snprintf(buf, 5, "%3.1f", value);
|
||||
else strcpy(buf, " ");
|
||||
break;
|
||||
case 'b':
|
||||
value = sonde.si()->d.batteryVoltage;
|
||||
if(value!=0xffff) snprintf(buf, 5, "%1.2f", value);
|
||||
else strcpy(buf, " ");
|
||||
break;
|
||||
}
|
||||
drawString(de,buf);
|
||||
}
|
||||
|
||||
void Display::drawKilltimer(DispEntry *de) {
|
||||
|
|
Ładowanie…
Reference in New Issue