json reorg part 2
This commit is contained in:
parent
b605e156fd
commit
cad5bd16cd
|
|
@ -23,6 +23,7 @@
|
||||||
#include "src/aprs.h"
|
#include "src/aprs.h"
|
||||||
#include "src/ShFreqImport.h"
|
#include "src/ShFreqImport.h"
|
||||||
#include "src/RS41.h"
|
#include "src/RS41.h"
|
||||||
|
#include "src/json.h"
|
||||||
#if FEATURE_CHASEMAPPER
|
#if FEATURE_CHASEMAPPER
|
||||||
#include "src/Chasemapper.h"
|
#include "src/Chasemapper.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -545,9 +546,12 @@ const char *createStatusForm() {
|
||||||
|
|
||||||
const char *createLiveJson() {
|
const char *createLiveJson() {
|
||||||
char *ptr = message;
|
char *ptr = message;
|
||||||
strcpy(ptr, "{");
|
|
||||||
|
|
||||||
SondeInfo *s = &sonde.sondeList[sonde.currentSonde];
|
SondeInfo *s = &sonde.sondeList[sonde.currentSonde];
|
||||||
|
|
||||||
|
strcpy(ptr, "{\"sonde\": {");
|
||||||
|
// use the same JSON format here as for MQTT and for the Android App
|
||||||
|
sonde2json( ptr+strlen(ptr), 1024, s );
|
||||||
|
#if 0
|
||||||
sprintf(ptr + strlen(ptr), "\"sonde\": {\"rssi\": %d, \"vframe\": %d, \"time\": %d,\"id\": \"%s\", \"freq\": %3.3f, \"type\": \"%s\"",
|
sprintf(ptr + strlen(ptr), "\"sonde\": {\"rssi\": %d, \"vframe\": %d, \"time\": %d,\"id\": \"%s\", \"freq\": %3.3f, \"type\": \"%s\"",
|
||||||
s->rssi, s->d.vframe, s->d.time, s->d.id, s->freq, sondeTypeStr[sonde.realType(s)]);
|
s->rssi, s->d.vframe, s->d.time, s->d.id, s->freq, sondeTypeStr[sonde.realType(s)]);
|
||||||
|
|
||||||
|
|
@ -563,7 +567,8 @@ const char *createLiveJson() {
|
||||||
sprintf(ptr + strlen(ptr), ", \"speed\": %.1f", s->d.hs);
|
sprintf(ptr + strlen(ptr), ", \"speed\": %.1f", s->d.hs);
|
||||||
|
|
||||||
sprintf(ptr + strlen(ptr), ", \"launchsite\": \"%s\", \"res\": %d }", s->launchsite, s->rxStat[0]);
|
sprintf(ptr + strlen(ptr), ", \"launchsite\": \"%s\", \"res\": %d }", s->launchsite, s->rxStat[0]);
|
||||||
|
#endif
|
||||||
|
strcat(ptr, " }");
|
||||||
if (gpsPos.valid) {
|
if (gpsPos.valid) {
|
||||||
sprintf(ptr + strlen(ptr), ", \"gps\": {\"lat\": %g, \"lon\": %g, \"alt\": %d, \"sat\": %d, \"speed\": %g, \"dir\": %d, \"hdop\": %d }", gpsPos.lat, gpsPos.lon, gpsPos.alt, gpsPos.sat, gpsPos.speed, gpsPos.course, gpsPos.hdop);
|
sprintf(ptr + strlen(ptr), ", \"gps\": {\"lat\": %g, \"lon\": %g, \"alt\": %d, \"sat\": %d, \"speed\": %g, \"dir\": %d, \"hdop\": %d }", gpsPos.lat, gpsPos.lon, gpsPos.alt, gpsPos.sat, gpsPos.speed, gpsPos.course, gpsPos.hdop);
|
||||||
//}
|
//}
|
||||||
|
|
@ -573,7 +578,6 @@ const char *createLiveJson() {
|
||||||
int alt = isnan(sonde.config.rxalt) ? 0 : (int)sonde.config.rxalt;
|
int alt = isnan(sonde.config.rxalt) ? 0 : (int)sonde.config.rxalt;
|
||||||
sprintf(ptr + strlen(ptr), ", \"gps\": {\"lat\": %g, \"lon\": %g, \"alt\": %d, \"sat\": 0, \"speed\": 0, \"dir\": 0, \"hdop\": 0 }", sonde.config.rxlat, sonde.config.rxlon, alt);
|
sprintf(ptr + strlen(ptr), ", \"gps\": {\"lat\": %g, \"lon\": %g, \"alt\": %d, \"sat\": 0, \"speed\": 0, \"dir\": 0, \"hdop\": 0 }", sonde.config.rxlat, sonde.config.rxlon, alt);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat(ptr, "}");
|
strcat(ptr, "}");
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ int sonde2json(char *buf, int maxlen, SondeInfo *si)
|
||||||
"\"id\": \"%s\"," // TODO: maybe remove in the future, ser is enough, client can calculate APRS id if needed
|
"\"id\": \"%s\"," // TODO: maybe remove in the future, ser is enough, client can calculate APRS id if needed
|
||||||
"\"ser\": \"%s\","
|
"\"ser\": \"%s\","
|
||||||
"\"frame\": %u," // raw frame, from sonde, can be 0. (TODO: add virtual frame # as in sondehub?)
|
"\"frame\": %u," // raw frame, from sonde, can be 0. (TODO: add virtual frame # as in sondehub?)
|
||||||
|
"\"vframe\": %d,"
|
||||||
"\"time\": %u,"
|
"\"time\": %u,"
|
||||||
"\"lat\": %.5f,"
|
"\"lat\": %.5f,"
|
||||||
"\"lon\": %.5f,"
|
"\"lon\": %.5f,"
|
||||||
|
|
@ -46,11 +47,14 @@ int sonde2json(char *buf, int maxlen, SondeInfo *si)
|
||||||
"\"launchKT\": %d,"
|
"\"launchKT\": %d,"
|
||||||
"\"burstKT\": %d,"
|
"\"burstKT\": %d,"
|
||||||
"\"countKT\": %d,"
|
"\"countKT\": %d,"
|
||||||
"\"crefKT\": %d",
|
"\"crefKT\": %d,"
|
||||||
|
"\"launchsite\": \"%d\","
|
||||||
|
"\"res\": %d",
|
||||||
getType(si),
|
getType(si),
|
||||||
s->id,
|
s->id,
|
||||||
s->ser,
|
s->ser,
|
||||||
s->frame,
|
s->frame,
|
||||||
|
s->vframe,
|
||||||
s->time,
|
s->time,
|
||||||
s->lat,
|
s->lat,
|
||||||
s->lon,
|
s->lon,
|
||||||
|
|
@ -67,7 +71,9 @@ int sonde2json(char *buf, int maxlen, SondeInfo *si)
|
||||||
s->launchKT,
|
s->launchKT,
|
||||||
s->burstKT,
|
s->burstKT,
|
||||||
s->countKT,
|
s->countKT,
|
||||||
s->crefKT
|
s->crefKT,
|
||||||
|
si->launchsite,
|
||||||
|
si->rxStat[0]
|
||||||
);
|
);
|
||||||
if(n>=maxlen) return -1;
|
if(n>=maxlen) return -1;
|
||||||
buf += n; maxlen -= n;
|
buf += n; maxlen -= n;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue