Merge branch 'dl9rdz:devel' into devel

pull/212/head
eben80 2021-09-24 18:58:20 +02:00 zatwierdzone przez GitHub
commit 3d80c1740e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
6 zmienionych plików z 93 dodań i 6 usunięć

Wyświetl plik

@ -26,7 +26,7 @@ Manufacturer | Model | Position | Temperature | Humidity | Pressure
Vaisala | RS92-SGP/NGP | :heavy_check_mark: | :heavy_check_mark: | :x: | :x:
Vaisala | RS41-SG/SGP/SGM | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:
Graw | DFM06/09/17 | :heavy_check_mark: | :x: | :x: | :x:
Meteomodem | M10 | :heavy_check_mark: | :x: | :x: | Not Sent
Meteomodem | M10 | :heavy_check_mark: | :heavy_checkmark: | :x: | Not Sent
Meteomodem | M20 | :heavy_check_mark: | :x: | :x: | Not Sent
Meteo-Radiy | MP3-H1 (MRZ-H1) | :heavy_check_mark: | :x: | :x: | :x:

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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,45 @@ void Display::drawSite(DispEntry *de) {
drawString(de, buf);
}
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(!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(!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(!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(!isnan(value)) {
snprintf(buf, 5, "%4.2f", value);
strcat(buf, de->extra+1);
}
buf[5+strlen(de->extra+1)] = 0;
break;
}
drawString(de,buf);
}
void Display::drawKilltimer(DispEntry *de) {

Wyświetl plik

@ -333,7 +333,7 @@ int M10M20::decodeframeM10(uint8_t *data) {
const float Rs[3] = { 12.1e3 , 36.5e3 , 475.0e3 };
const float Rp[3] = { 1e20 , 330.0e3 , 2000.0e3 };
uint8_t sct = data[62];
float rt = getint16(data+63) & (0xFFF);
float rt = getint16_r(data+63) & (0xFFF);
float T = NAN;
if(rt!=0 && sct<3) {
rt = (4095-rt)/rt - (Rs[sct]/Rp[sct]);

Wyświetl plik

@ -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;