diff --git a/mk2a/mk2a_lms1680.c b/mk2a/mk2a_lms1680.c index 0d07dac..9df6ee3 100644 --- a/mk2a/mk2a_lms1680.c +++ b/mk2a/mk2a_lms1680.c @@ -634,10 +634,16 @@ void print_frame(int len) { if (option_jsn) { // Print JSON output required by auto_rx. if (crc_err==0 && (gpx.id & 0xFFFF0000)) { // CRC-OK and FullID - // UTC oder GPS? - printf("{ \"frame\": %d, \"id\": \"%d\", \"time\": \"%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f }\n", - gpx.frnr, gpx.id, gpx.std, gpx.min, gpx.sek, gpx.lat, gpx.lon, gpx.alt, gpx.vH, gpx.vD, gpx.vV ); - printf("\n"); + static ui32_t _id0; + static int frn0; + if (gpx.frnr != frn0 || gpx.id != _id0) + { // UTC oder GPS? + printf("{ \"frame\": %d, \"id\": \"%d\", \"time\": \"%02d:%02d:%06.3fZ\", \"lat\": %.5f, \"lon\": %.5f, \"alt\": %.5f, \"vel_h\": %.5f, \"heading\": %.5f, \"vel_v\": %.5f }\n", + gpx.frnr, gpx.id, gpx.std, gpx.min, gpx.sek, gpx.lat, gpx.lon, gpx.alt, gpx.vH, gpx.vD, gpx.vV ); + //printf("\n"); + frn0 = gpx.frnr; + _id0 = gpx.id; + } } }