* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.AltosLib;
+package org.altusmetrum.altoslib_2;
public class AltosTelemetryRecordSensor extends AltosTelemetryRecordRaw {
int accel_plus_g;
int accel_minus_g;
- int rssi;
-
- public AltosTelemetryRecordSensor(int[] in_bytes, int in_rssi) {
- super(in_bytes);
+ public AltosTelemetryRecordSensor(int[] in_bytes, int rssi) {
+ super(in_bytes, rssi);
state = uint8(5);
accel = int16(6);
ground_accel = int16(26);
accel_plus_g = int16(28);
accel_minus_g = int16(30);
-
- rssi = in_rssi;
}
- public AltosRecord update_state(AltosRecord previous) {
- AltosRecord next = super.update_state(previous);
+ public AltosRecord update_state(AltosRecord prev) {
+ AltosRecord n = super.update_state(prev);
+
+ AltosRecordTM next;
+ if (!(n instanceof AltosRecordTM))
+ next = new AltosRecordTM(n);
+ else
+ next = (AltosRecordTM) n;
next.state = state;
if (type == packet_type_TM_sensor)
next.accel = accel;
else
- next.accel = AltosRecord.MISSING;
+ next.accel = AltosLib.MISSING;
next.pres = pres;
next.temp = temp;
next.batt = v_batt;
next.drogue = sense_d;
next.main = sense_m;
} else {
- next.drogue = AltosRecord.MISSING;
- next.main = AltosRecord.MISSING;
+ next.drogue = AltosLib.MISSING;
+ next.main = AltosLib.MISSING;
}
- next.acceleration = acceleration / 16.0;
- next.speed = speed / 16.0;
- next.height = height;
+ next.kalman_acceleration = acceleration / 16.0;
+ next.kalman_speed = speed / 16.0;
+ next.kalman_height = height;
next.ground_pres = ground_pres;
if (type == packet_type_TM_sensor) {
next.accel_plus_g = accel_plus_g;
next.accel_minus_g = accel_minus_g;
} else {
- next.ground_accel = AltosRecord.MISSING;
- next.accel_plus_g = AltosRecord.MISSING;
- next.accel_minus_g = AltosRecord.MISSING;
+ next.ground_accel = AltosLib.MISSING;
+ next.accel_plus_g = AltosLib.MISSING;
+ next.accel_minus_g = AltosLib.MISSING;
}
- next.rssi = rssi;
-
next.seen |= AltosRecord.seen_sensor | AltosRecord.seen_temp_volt;
return next;