X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosTelemetryConfiguration.java;h=22fd8568cab896f9cf42bfa1268901ba68bf6fe6;hp=d91a03fc5f8caefe8abfe9b7d395eb8ca8728318;hb=bed019b64d9e37f276ad5aa2dabb7681aae122ec;hpb=7600116a191b3ac252a0f716d200d0e0b3500987 diff --git a/altoslib/AltosTelemetryConfiguration.java b/altoslib/AltosTelemetryConfiguration.java index d91a03fc..22fd8568 100644 --- a/altoslib/AltosTelemetryConfiguration.java +++ b/altoslib/AltosTelemetryConfiguration.java @@ -16,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_11; +package org.altusmetrum.altoslib_13; public class AltosTelemetryConfiguration extends AltosTelemetryStandard { @@ -35,17 +35,26 @@ public class AltosTelemetryConfiguration extends AltosTelemetryStandard { super(bytes); } - public void update_state(AltosState state) { - super.update_state(state); - state.set_device_type(device_type()); - state.set_flight(flight()); - state.set_config(config_major(), config_minor(), flight_log_max()); - if (device_type() == AltosLib.product_telegps) - state.set_battery_voltage(AltosConvert.tele_gps_voltage(v_batt())); - else - state.set_flight_params(apogee_delay(), main_deploy()); - - state.set_callsign(callsign()); - state.set_firmware_version(version()); + 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) { + 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()); + cal_data.set_firmware_version(version()); } }