* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_12;
+package org.altusmetrum.altoslib_14;
public class AltosTelemetryLocation extends AltosTelemetryStandard {
}
public void provide_data(AltosDataListener listener) {
- super.provide_data(listener);
AltosCalData cal_data = listener.cal_data();
- AltosGPS gps = cal_data.make_temp_gps(tick(), false);
+ AltosGPS gps = listener.make_temp_gps(false);
int flags = flags();
gps.nsat = flags & 0xf;
gps.pdop = pdop() / 10.0;
gps.hdop = hdop() / 10.0;
gps.vdop = vdop() / 10.0;
+ if (gps.connected)
+ super.provide_data(listener);
if (gps.locked) {
gps.lat = latitude() * 1.0e-7;
gps.ground_speed = ground_speed() * 1.0e-2;
gps.course = course() * 2;
gps.climb_rate = climb_rate() * 1.0e-2;
-
- if (gps.nsat >= 4)
- cal_data.set_gps(gps);
}
- listener.set_gps(gps);
- cal_data.set_gps(gps);
- cal_data.reset_temp_gps();
+ if (gps.connected)
+ listener.set_gps(gps, true, false);
}
}