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/AltosTelemetryMegaSensor.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/AltosTelemetryMegaSensor.java')
| -rw-r--r-- | altoslib/AltosTelemetryMegaSensor.java | 67 | 
1 files changed, 25 insertions, 42 deletions
| diff --git a/altoslib/AltosTelemetryMegaSensor.java b/altoslib/AltosTelemetryMegaSensor.java index 2dfc455a..bf560e92 100644 --- a/altoslib/AltosTelemetryMegaSensor.java +++ b/altoslib/AltosTelemetryMegaSensor.java @@ -19,61 +19,44 @@  package org.altusmetrum.altoslib_11;  public class AltosTelemetryMegaSensor extends AltosTelemetryStandard { -	int	accel; -	int	pres; -	int	temp; +	int	orient() { return int8(5); } -	int	accel_x; -	int	accel_y; -	int	accel_z; +	int	accel() { return int16(6); } +	int	pres() { return int32(8); } +	int	temp() { return int16(12); } -	int	gyro_x; -	int	gyro_y; -	int	gyro_z; +	int	accel_x() { return int16(14); } +	int	accel_y() { return int16(16); } +	int	accel_z() { return int16(18); } -	int	mag_x; -	int	mag_y; -	int	mag_z; +	int	gyro_x() { return int16(20); } +	int	gyro_y() { return int16(22); } +	int	gyro_z() { return int16(24); } -	int	orient; +	int	mag_x() { return int16(26); } +	int	mag_y() { return int16(28); } +	int	mag_z() { return int16(30); } -	public AltosTelemetryMegaSensor(int[] bytes) { +	public AltosTelemetryMegaSensor(int[] bytes) throws AltosCRCException {  		super(bytes); - -		orient	      = int8(5); -		accel         = int16(6); -		pres          = int32(8); -		temp          = int16(12); - -		accel_x	      = int16(14); -		accel_y	      = int16(16); -		accel_z	      = int16(18); - -		gyro_x	      = int16(20); -		gyro_y	      = int16(22); -		gyro_z	      = int16(24); - -		mag_x	      = int16(26); -		mag_y	      = int16(28); -		mag_z	      = int16(30);  	}  	public void update_state(AltosState state) {  		super.update_state(state); -		state.set_accel(accel); -		state.set_pressure(pres); -		state.set_temperature(temp / 100.0); +		state.set_accel(accel()); +		state.set_pressure(pres()); +		state.set_temperature(temp() / 100.0); -		state.set_orient(orient); +		state.set_orient(orient()); -		state.set_imu(new AltosIMU(accel_y,	/* along */ -					   accel_x,	/* across */ -					   accel_z,	/* through */ -					   gyro_y,	/* along */ -					   gyro_x,	/* across */ -					   gyro_z));	/* through */ +		state.set_imu(new AltosIMU(accel_y(),	/* along */ +					   accel_x(),	/* across */ +					   accel_z(),	/* through */ +					   gyro_y(),	/* along */ +					   gyro_x(),	/* across */ +					   gyro_z()));	/* through */ -		state.set_mag(new AltosMag(mag_x, mag_y, mag_z)); +		state.set_mag(new AltosMag(mag_x(), mag_y(), mag_z()));  	}  } | 
