diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index 9f64a9d..dd0fcff 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -2422,6 +2422,20 @@ void loopDecoder() { float dir = isnan(s->d.dir) ? 0 : s->d.dir; // + raw[0] = '{'; + // Use same JSON format as for MQTT and HTML map........ + sonde2json(raw+1, 1023, s); + sprintf(raw+strlen(raw), + ",\"active\":%d" + ",\"validId\":%d" + ",\"validPos\":%d" + " %s}\n", + (int)s->active, + s->d.validID, + s->d.validPos, + gps); + int len = strlen(raw); +#if 0 int len = snprintf(raw, 1024, "{" "\"res\": %d," "\"type\": \"%s\"," @@ -2477,6 +2491,8 @@ void loopDecoder() { s->d.crefKT, gps ); +#endif + //Serial.println("Writing rdzclient..."); if (len > 1024) len = 1024; int wlen = rdzclient.write(raw, len); diff --git a/RX_FSK/src/json.cpp b/RX_FSK/src/json.cpp index 9964694..1a2f192 100644 --- a/RX_FSK/src/json.cpp +++ b/RX_FSK/src/json.cpp @@ -73,14 +73,14 @@ int sonde2json(char *buf, int maxlen, SondeInfo *si) s->countKT, s->crefKT, si->launchsite, - si->rxStat[0] + (int)si->rxStat[0] ); if(n>=maxlen) return -1; buf += n; maxlen -= n; // add only if available if(s->batteryVoltage > 0) { - n = snprintf(buf, maxlen, "\"bat\": %.1f,", s->batteryVoltage); + n = snprintf(buf, maxlen, ",\"bat\": %.1f", s->batteryVoltage); if(n>=maxlen) return -1; buf += n; maxlen -= n; }