diff --git a/demod/mod/meisei100mod.c b/demod/mod/meisei100mod.c index 14deaff..7409576 100644 --- a/demod/mod/meisei100mod.c +++ b/demod/mod/meisei100mod.c @@ -395,6 +395,7 @@ int main(int argc, char **argv) { rs_init_BCH64(&gpx.RS); } + gpx.sn = -1; bitofs += shift; @@ -661,8 +662,12 @@ int main(int argc, char **argv) { printf("\n"); if (option_jsn && err_frm==0) { - printf("{ \"frame\": %d, \"id\": \"IMS100-%.0f\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f }\n", - gpx.frnr, gpx.sn, gpx.jahr, gpx.monat, gpx.tag, gpx.std, gpx.min, gpx.sek, gpx.lat, gpx.lon, gpx.alt, gpx.vH, gpx.vD ); + char id_str[] = "xxxxxx\0\0\0\0\0\0"; + 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", + 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/meisei/meisei_ims.c b/meisei/meisei_ims.c index 7c764c0..259a2d6 100644 --- a/meisei/meisei_ims.c +++ b/meisei/meisei_ims.c @@ -543,6 +543,7 @@ int main(int argc, char **argv) { rs_init_BCH64(); } + gpx.sn = -1; bufpos = 0; bit_count = 0; @@ -832,8 +833,12 @@ int main(int argc, char **argv) { printf("\n"); if (option_jsn && err_frm==0) { - printf("{ \"frame\": %d, \"id\": \"IMS100-%.0f\", \"datetime\": \"%04d-%02d-%02dT%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f }\n", - gpx.frnr, gpx.sn, gpx.jahr, gpx.monat, gpx.tag, gpx.std, gpx.min, gpx.sek, gpx.lat, gpx.lon, gpx.alt, gpx.vH, gpx.vD ); + char id_str[] = "xxxxxx\0\0\0\0\0\0"; + 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", + 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"); }