doc: Add 1.9 release notes
[fw/altos] / altoslib / AltosTelemetryConfiguration.java
index b5f0eb4b821893074b99f1d5ad702961c09b090b..22fd8568cab896f9cf42bfa1268901ba68bf6fe6 100644 (file)
@@ -16,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_12;
+package org.altusmetrum.altoslib_13;
 
 
 public class AltosTelemetryConfiguration extends AltosTelemetryStandard {
@@ -35,14 +35,23 @@ public class AltosTelemetryConfiguration extends AltosTelemetryStandard {
                super(bytes);
        }
 
-       public void provide_data(AltosDataListener listener, AltosCalData cal_data) {
-               super.provide_data(listener, cal_data);
-               cal_data.set_device_type(device_type());
+       public void provide_data(AltosDataListener listener) {
+               super.provide_data(listener);
+
+               AltosCalData cal_data = listener.cal_data();
+
+               listener.set_device_type(device_type());
                cal_data.set_flight(flight());
                cal_data.set_config(config_major(), config_minor(), flight_log_max());
-               if (device_type() == AltosLib.product_telegps)
-                       listener.set_battery_voltage(AltosConvert.tele_gps_voltage(v_batt()));
-               else
+               if (device_type() == AltosLib.product_telegps) {
+                       int v_batt = v_batt();
+                       double batt;
+                       if (v_batt > 4095)
+                               batt = AltosConvert.tele_gps_1_voltage(v_batt);
+                       else
+                               batt = AltosConvert.tele_gps_2_voltage(v_batt);
+                       listener.set_battery_voltage(batt);
+               } else
                        cal_data.set_flight_params(apogee_delay() / 100.0, main_deploy());
 
                cal_data.set_callsign(callsign());