altos: Make sure APRS packets are reasonably separated
[fw/altos] / src / kernel / ao_telemetry.c
index d567f9c2a3604c0a3a073432b869bd7204d8f92e..9f98ea002187e03308f5346ab707a6ef9a579b1d 100644 (file)
@@ -490,7 +490,10 @@ ao_set_aprs_time(void)
                } else {
                        delta = second - ao_gps_data.second;
                }
-               ao_aprs_time = ao_gps_tick + AO_SEC_TO_TICKS(delta);
+               if (delta < (interval >> 1))
+                       delta += interval;
+
+               ao_aprs_time = ao_gps_utc_tick + AO_SEC_TO_TICKS(delta);
        } else {
                ao_aprs_time += AO_SEC_TO_TICKS(ao_config.aprs_interval);
        }