diff options
Diffstat (limited to 'altoslib/AltosTelemetryMini2.java')
| -rw-r--r-- | altoslib/AltosTelemetryMini2.java | 62 | 
1 files changed, 25 insertions, 37 deletions
| diff --git a/altoslib/AltosTelemetryMini2.java b/altoslib/AltosTelemetryMini2.java index 50ec504d..3ea287ac 100644 --- a/altoslib/AltosTelemetryMini2.java +++ b/altoslib/AltosTelemetryMini2.java @@ -16,58 +16,46 @@   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.   */ -package org.altusmetrum.altoslib_11; +package org.altusmetrum.altoslib_12;  public class AltosTelemetryMini2 extends AltosTelemetryStandard { -	int	state; -	int	v_batt; -	int	sense_a; -	int	sense_m; +	int	state() { return uint8(5); } -	int	pres; -	int	temp; +	int	v_batt() { return int16(6); } +	int	sense_a() { return int16(8); } +	int	sense_m() { return int16(10); } -	int	acceleration; -	int	speed; -	int	height; +	int	pres() { return int32(12); } +	int	temp() { return int16(16); } -	int	ground_pres; +	int	acceleration() { return int16(18); } +	int	speed() { return int16(20); } +	int	height() { return int16(22); } -	public AltosTelemetryMini2(int[] bytes) { -		super(bytes); - -		state	      = int8(5); - -		v_batt        = int16(6); -		sense_a       = int16(8); -		sense_m       = int16(10); - -		pres          = int32(12); -		temp          = int16(16); +	int	ground_pres() { return int32(24); } -		acceleration  = int16(18); -		speed         = int16(20); -		height        = int16(22); - -		ground_pres   = int32(24); +	public AltosTelemetryMini2(int[] bytes) throws AltosCRCException { +		super(bytes);  	} -	public void update_state(AltosState state) { -		super.update_state(state); +	public void provide_data(AltosDataListener listener) { +		super.provide_data(listener); + +		listener.set_state(state()); -		state.set_state(this.state); +		listener.set_battery_voltage(AltosConvert.tele_mini_2_voltage(v_batt())); +		listener.set_apogee_voltage(AltosConvert.tele_mini_2_voltage(sense_a())); +		listener.set_main_voltage(AltosConvert.tele_mini_2_voltage(sense_m())); -		state.set_battery_voltage(AltosConvert.tele_mini_2_voltage(v_batt)); -		state.set_apogee_voltage(AltosConvert.tele_mini_2_voltage(sense_a)); -		state.set_main_voltage(AltosConvert.tele_mini_2_voltage(sense_m)); +		AltosCalData	cal_data = listener.cal_data(); -		state.set_ground_pressure(ground_pres); +		cal_data.set_ground_pressure(ground_pres()); -		state.set_pressure(pres); -		state.set_temperature(temp/100.0); +		listener.set_pressure(pres()); +		listener.set_temperature(temp()/100.0); -		state.set_kalman(height, speed/16.0, acceleration/16.0); +		listener.set_kalman(height(), speed()/16.0, acceleration()/16.0);  	}  } | 
