json reorg part 2
This commit is contained in:
parent
b605e156fd
commit
cad5bd16cd
|
|
@ -23,6 +23,7 @@
|
|||
#include "src/aprs.h"
|
||||
#include "src/ShFreqImport.h"
|
||||
#include "src/RS41.h"
|
||||
#include "src/json.h"
|
||||
#if FEATURE_CHASEMAPPER
|
||||
#include "src/Chasemapper.h"
|
||||
#endif
|
||||
|
|
@ -545,9 +546,12 @@ const char *createStatusForm() {
|
|||
|
||||
const char *createLiveJson() {
|
||||
char *ptr = message;
|
||||
strcpy(ptr, "{");
|
||||
|
||||
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\"",
|
||||
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), ", \"launchsite\": \"%s\", \"res\": %d }", s->launchsite, s->rxStat[0]);
|
||||
|
||||
#endif
|
||||
strcat(ptr, " }");
|
||||
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);
|
||||
//}
|
||||
|
|
@ -573,7 +578,6 @@ const char *createLiveJson() {
|
|||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
"\"ser\": \"%s\","
|
||||
"\"frame\": %u," // raw frame, from sonde, can be 0. (TODO: add virtual frame # as in sondehub?)
|
||||
"\"vframe\": %d,"
|
||||
"\"time\": %u,"
|
||||
"\"lat\": %.5f,"
|
||||
"\"lon\": %.5f,"
|
||||
|
|
@ -46,11 +47,14 @@ int sonde2json(char *buf, int maxlen, SondeInfo *si)
|
|||
"\"launchKT\": %d,"
|
||||
"\"burstKT\": %d,"
|
||||
"\"countKT\": %d,"
|
||||
"\"crefKT\": %d",
|
||||
"\"crefKT\": %d,"
|
||||
"\"launchsite\": \"%d\","
|
||||
"\"res\": %d",
|
||||
getType(si),
|
||||
s->id,
|
||||
s->ser,
|
||||
s->frame,
|
||||
s->vframe,
|
||||
s->time,
|
||||
s->lat,
|
||||
s->lon,
|
||||
|
|
@ -67,7 +71,9 @@ int sonde2json(char *buf, int maxlen, SondeInfo *si)
|
|||
s->launchKT,
|
||||
s->burstKT,
|
||||
s->countKT,
|
||||
s->crefKT
|
||||
s->crefKT,
|
||||
si->launchsite,
|
||||
si->rxStat[0]
|
||||
);
|
||||
if(n>=maxlen) return -1;
|
||||
buf += n; maxlen -= n;
|
||||
|
|
|
|||
Loading…
Reference in New Issue