From aab495085386ea626ce02f87c6a824d028893450 Mon Sep 17 00:00:00 2001 From: Zilog80 Date: Thu, 7 May 2020 23:47:17 +0200 Subject: [PATCH] JSON output: added type key --- c34/c50dft.c | 4 ++-- demod/mod/dfm09mod.c | 3 ++- demod/mod/lms6Xmod.c | 4 +++- demod/mod/lms6Xmod_soft.c | 4 +++- demod/mod/m10mod.c | 4 ++-- demod/mod/meisei100mod.c | 3 ++- demod/mod/rs41mod.c | 3 ++- demod/mod/rs92mod.c | 4 +++- imet/imet1rs_dft.c | 3 ++- 9 files changed, 21 insertions(+), 11 deletions(-) mode change 100644 => 100755 c34/c50dft.c diff --git a/c34/c50dft.c b/c34/c50dft.c old mode 100644 new mode 100755 index 4065b84..19ed1d0 --- a/c34/c50dft.c +++ b/c34/c50dft.c @@ -327,8 +327,8 @@ static void printJSON() { if (gpx.sn) { sprintf(json_sonde_id, "C50-%u", gpx.sn); } - printf("{ "); - printf("\"id\": \"%s\", ", json_sonde_id); + printf("{ \"type\": \"%s\"", "C50"); + printf(", \"id\": \"%s\", ", json_sonde_id); printf("\"datetime\": \"%04d-%02d-%02dT%02d:%02d:%02dZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.1f", gpx.jahr, gpx.monat, gpx.tag, gpx.std, gpx.min, gpx.sek, gpx.lat, gpx.lon, gpx.alt); if (option_ptu && (gpx.T > -273.0 || gpx.RH > -0.5)) { diff --git a/demod/mod/dfm09mod.c b/demod/mod/dfm09mod.c index 92cfcdc..d5372d5 100644 --- a/demod/mod/dfm09mod.c +++ b/demod/mod/dfm09mod.c @@ -747,7 +747,8 @@ static void print_gpx(gpx_t *gpx) { } // Print JSON blob // valid sonde_ID? - printf("{ \"frame\": %d, \"id\": \"%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f", + printf("{ \"type\": \"%s\"", "DFM"); + printf(", \"frame\": %d, \"id\": \"%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f", gpx->frnr, json_sonde_id, gpx->jahr, gpx->monat, gpx->tag, gpx->std, gpx->min, gpx->sek, gpx->lat, gpx->lon, gpx->alt, gpx->horiV, gpx->dir, gpx->vertV); if (gpx->ptu_out >= 0xA && gpx->status[0] > 0) { // DFM>=09(P): Battery (STM32) printf(", \"batt\": %.2f", gpx->status[0]); diff --git a/demod/mod/lms6Xmod.c b/demod/mod/lms6Xmod.c index 6f9fc59..18ba69f 100644 --- a/demod/mod/lms6Xmod.c +++ b/demod/mod/lms6Xmod.c @@ -738,11 +738,13 @@ static void print_frame(gpx_t *gpx, int crc_err, int len) { // UTC oder GPS? char sntyp[] = "LMS6-"; if (gpx->typ == 10) sntyp[3] = 'X'; - printf("{ \"frame\": %d, \"id\": \"%s%d\", \"datetime\": \"", gpx->frnr, sntyp, gpx->sn ); + printf("{ \"type\": \"%s\"", "LMS6"); + printf(", \"frame\": %d, \"id\": \"%s%d\", \"datetime\": \"", gpx->frnr, sntyp, gpx->sn ); //if (gpx->week > 0) printf("%04d-%02d-%02dT", gpx->jahr, gpx->monat, gpx->tag ); printf("%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f", gpx->std, gpx->min, gpx->sek, gpx->lat, gpx->lon, gpx->alt, gpx->vH, gpx->vD, gpx->vV ); printf(", \"gpstow\": %d", gpx->gpstow ); + printf(", \"subtype\": \"%c\"", sntyp[3]); printf(" }\n"); printf("\n"); } diff --git a/demod/mod/lms6Xmod_soft.c b/demod/mod/lms6Xmod_soft.c index 972a2f5..5bc2d8c 100644 --- a/demod/mod/lms6Xmod_soft.c +++ b/demod/mod/lms6Xmod_soft.c @@ -753,11 +753,13 @@ static void print_frame(gpx_t *gpx, int crc_err, int len) { // UTC oder GPS? char sntyp[] = "LMS6-"; if (gpx->typ == 10) sntyp[3] = 'X'; - printf("{ \"frame\": %d, \"id\": \"%s%d\", \"datetime\": \"", gpx->frnr, sntyp, gpx->sn ); + printf("{ \"type\": \"%s\"", "LMS6"); + printf(", \"frame\": %d, \"id\": \"%s%d\", \"datetime\": \"", gpx->frnr, sntyp, gpx->sn ); //if (gpx->week > 0) printf("%04d-%02d-%02dT", gpx->jahr, gpx->monat, gpx->tag ); printf("%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f", gpx->std, gpx->min, gpx->sek, gpx->lat, gpx->lon, gpx->alt, gpx->vH, gpx->vD, gpx->vV ); printf(", \"gpstow\": %d", gpx->gpstow ); + printf(", \"subtype\": \"%c\"", sntyp[3]); printf(" }\n"); printf("\n"); } diff --git a/demod/mod/m10mod.c b/demod/mod/m10mod.c index 98cdedd..bf95f50 100644 --- a/demod/mod/m10mod.c +++ b/demod/mod/m10mod.c @@ -790,8 +790,8 @@ static int print_pos(gpx_t *gpx, int csOK) { sn_id[15] = '\0'; for (j = 0; sn_id[j]; j++) { if (sn_id[j] == ' ') sn_id[j] = '-'; } - fprintf(stdout, "{ "); - fprintf(stdout, "\"frame\": %lu ,", (unsigned long)(sec_gps0+0.5)); + fprintf(stdout, "{ \"type\": \"%s\"", "M10"); + fprintf(stdout, ", \"frame\": %lu ,", (unsigned long)(sec_gps0+0.5)); fprintf(stdout, "\"id\": \"%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f, \"sats\": %d", sn_id, utc_jahr, utc_monat, utc_tag, utc_std, utc_min, utc_sek, gpx->lat, gpx->lon, gpx->alt, gpx->vH, gpx->vD, gpx->vV, gpx->numSV); // APRS id, 9 characters diff --git a/demod/mod/meisei100mod.c b/demod/mod/meisei100mod.c index be996dd..128eccf 100644 --- a/demod/mod/meisei100mod.c +++ b/demod/mod/meisei100mod.c @@ -720,7 +720,8 @@ int main(int argc, char **argv) { if (gpx.sn > 0 && gpx.sn < 1e9) { sprintf(id_str, "%.0f", gpx.sn); } - printf("{ \"frame\": %d, \"id\": \"IMS100-%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f }\n", + printf("{ \"type\": \"%s\"", "IMS100"); + printf(", \"frame\": %d, \"id\": \"IMS100-%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f }\n", gpx.frnr, id_str, gpx.jahr, gpx.monat, gpx.tag, gpx.std, gpx.min, gpx.sek, gpx.lat, gpx.lon, gpx.alt, gpx.vH, gpx.vD ); printf("\n"); } diff --git a/demod/mod/rs41mod.c b/demod/mod/rs41mod.c index 521a421..d176c58 100644 --- a/demod/mod/rs41mod.c +++ b/demod/mod/rs41mod.c @@ -1327,7 +1327,8 @@ static int print_position(gpx_t *gpx, int ec) { // Print out telemetry data as JSON if ((!err && !err1 && !err3) || (!err && encrypted)) { // frame-nb/id && gps-time && gps-position (crc-)ok; 3 CRCs, RS not needed // eigentlich GPS, d.h. UTC = GPS - 18sec (ab 1.1.2017) - fprintf(stdout, "{ \"frame\": %d, \"id\": \"%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f, \"sats\": %d, \"bt\": %d, \"batt\": %.2f", + fprintf(stdout, "{ \"type\": \"%s\"", "RS41"); + fprintf(stdout, ", \"frame\": %d, \"id\": \"%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f, \"sats\": %d, \"bt\": %d, \"batt\": %.2f", gpx->frnr, gpx->id, gpx->jahr, gpx->monat, gpx->tag, gpx->std, gpx->min, gpx->sek, gpx->lat, gpx->lon, gpx->alt, gpx->vH, gpx->vD, gpx->vV, gpx->numSV, gpx->conf_cd, gpx->batt ); if (gpx->option.ptu && !err0 && gpx->T > -273.0) { fprintf(stdout, ", \"temp\": %.1f", gpx->T ); diff --git a/demod/mod/rs92mod.c b/demod/mod/rs92mod.c index ac93e62..a28b840 100644 --- a/demod/mod/rs92mod.c +++ b/demod/mod/rs92mod.c @@ -1177,7 +1177,9 @@ static int print_position(gpx_t *gpx, int ec) { // GPS-Hoehe ueber Ellipsoid // Print out telemetry data as JSON //even if we don't have a valid GPS lock if ((gpx->crc & (crc_FRAME | crc_GPS))==0 && (gpx->gps.almanac || gpx->gps.ephem)) //(!err1 && !err3) { // eigentlich GPS, d.h. UTC = GPS - UTC_OFS (UTC_OFS=18sec ab 1.1.2017) - fprintf(stdout, "\n{ \"frame\": %d, \"id\": \"%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f", + fprintf(stdout, "\n"); + fprintf(stdout, "{ \"type\": \"%s\"", "RS92"); + fprintf(stdout, ", \"frame\": %d, \"id\": \"%s\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f", gpx->frnr, gpx->id, gpx->jahr, gpx->monat, gpx->tag, gpx->std, gpx->min, gpx->sek, gpx->lat, gpx->lon, gpx->alt, gpx->vH, gpx->vD, gpx->vU); if ((gpx->crc & crc_AUX)==0 && (gpx->aux[0] != 0 || gpx->aux[1] != 0 || gpx->aux[2] != 0 || gpx->aux[3] != 0)) { fprintf(stdout, ", \"aux\": \"%04x%04x%04x%04x\"", gpx->aux[0], gpx->aux[1], gpx->aux[2], gpx->aux[3]); diff --git a/imet/imet1rs_dft.c b/imet/imet1rs_dft.c index f56681c..cc749e7 100644 --- a/imet/imet1rs_dft.c +++ b/imet/imet1rs_dft.c @@ -427,7 +427,8 @@ int print_frame(int len) { if (option_json) { if (gpx.gps_valid && gpx.ptu_valid) // frameNb part of PTU-pck { - fprintf(stdout, "{ \"frame\": %d, \"id\": \"iMet\", \"datetime\": \"%02d:%02d:%02dZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %d, \"sats\": %d, \"temp\": %.2f, \"humidity\": %.2f, \"pressure\": %.2f, \"batt\": %.1f }\n", + fprintf(stdout, "{ \"type\": \"%s\"", "IMET"); + fprintf(stdout, ", \"frame\": %d, \"id\": \"iMet\", \"datetime\": \"%02d:%02d:%02dZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %d, \"sats\": %d, \"temp\": %.2f, \"humidity\": %.2f, \"pressure\": %.2f, \"batt\": %.1f }\n", gpx.frame, gpx.hour, gpx.min, gpx.sec, gpx.lat, gpx.lon, gpx.alt, gpx.sats, gpx.temp, gpx.humidity, gpx.pressure, gpx.batt); } }