diff options
| author | Keith Packard <keithp@keithp.com> | 2017-05-23 14:53:55 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-05-23 15:15:21 -0700 | 
| commit | 7600116a191b3ac252a0f716d200d0e0b3500987 (patch) | |
| tree | c9cc6c418244d3e2fb5b5c1b9ab961f8a3f5ab30 /altoslib/AltosTelemetryConfiguration.java | |
| parent | abcedc4b49ce77607ef95abf69479dc1d2c1b76d (diff) | |
altoslib: Don't store computed telemetry fields
These values are only needed once, so there's no reason to save them.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosTelemetryConfiguration.java')
| -rw-r--r-- | altoslib/AltosTelemetryConfiguration.java | 49 | 
1 files changed, 19 insertions, 30 deletions
| diff --git a/altoslib/AltosTelemetryConfiguration.java b/altoslib/AltosTelemetryConfiguration.java index 6ded5461..d91a03fc 100644 --- a/altoslib/AltosTelemetryConfiguration.java +++ b/altoslib/AltosTelemetryConfiguration.java @@ -20,43 +20,32 @@ package org.altusmetrum.altoslib_11;  public class AltosTelemetryConfiguration extends AltosTelemetryStandard { -	int	device_type; -	int	flight; -	int	config_major; -	int	config_minor; -	int	apogee_delay; -	int	main_deploy; -	int	v_batt; -	int	flight_log_max; -	String	callsign; -	String	version; +	int	device_type() { return uint8(5); } +	int	flight() { return uint16(6); } +	int	config_major() { return uint8(8); } +	int	config_minor() { return uint8(9); } +	int	apogee_delay() { return uint16(10); } +	int	main_deploy() { return uint16(12); } +	int	v_batt() { return uint16(10); } +	int	flight_log_max() { return uint16(14); } +	String	callsign() { return string(16, 8); } +	String	version() { return string(24, 8); } -	public AltosTelemetryConfiguration(int[] bytes) { +	public AltosTelemetryConfiguration(int[] bytes) throws AltosCRCException {  		super(bytes); - -		device_type    = uint8(5); -		flight         = uint16(6); -		config_major   = uint8(8); -		config_minor   = uint8(9); -		v_batt	       = uint16(10); -		apogee_delay   = uint16(10); -		main_deploy    = uint16(12); -		flight_log_max = uint16(14); -		callsign       = string(16, 8); -		version        = string(24, 8);  	}  	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)); +		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_flight_params(apogee_delay(), main_deploy()); -		state.set_callsign(callsign); -		state.set_firmware_version(version); +		state.set_callsign(callsign()); +		state.set_firmware_version(version());  	}  } | 
