* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.AltosLib;
+package org.altusmetrum.altoslib_1;
-import java.lang.*;
import java.text.*;
-import java.util.HashMap;
/*
* Telemetry data contents
final static String AO_TELEM_SAT_SVID = "s_v";
final static String AO_TELEM_SAT_C_N_0 = "s_c";
- AltosRecord record;
+ AltosRecordTM record;
private void parse_v4(String[] words, int i) throws ParseException {
AltosTelemetryMap map = new AltosTelemetryMap(words, i);
record.serial = map.get_int(AO_TELEM_SERIAL, AltosRecord.MISSING);
record.flight = map.get_int(AO_TELEM_FLIGHT, AltosRecord.MISSING);
record.rssi = map.get_int(AO_TELEM_RSSI, AltosRecord.MISSING);
- record.state = Altos.state(map.get_string(AO_TELEM_STATE, "invalid"));
+ record.state = AltosLib.state(map.get_string(AO_TELEM_STATE, "invalid"));
record.tick = map.get_int(AO_TELEM_TICK, 0);
/* raw sensor values */
record.accel_minus_g = map.get_int(AO_TELEM_CAL_ACCEL_MINUS, AltosRecord.MISSING);
/* flight computer values */
- record.acceleration = map.get_double(AO_TELEM_KALMAN_ACCEL, AltosRecord.MISSING, 1/16.0);
- record.speed = map.get_double(AO_TELEM_KALMAN_SPEED, AltosRecord.MISSING, 1/16.0);
- record.height = map.get_int(AO_TELEM_KALMAN_HEIGHT, AltosRecord.MISSING);
+ record.kalman_acceleration = map.get_double(AO_TELEM_KALMAN_ACCEL, AltosRecord.MISSING, 1/16.0);
+ record.kalman_speed = map.get_double(AO_TELEM_KALMAN_SPEED, AltosRecord.MISSING, 1/16.0);
+ record.kalman_height = map.get_int(AO_TELEM_KALMAN_HEIGHT, AltosRecord.MISSING);
record.flight_accel = map.get_int(AO_TELEM_ADHOC_ACCEL, AltosRecord.MISSING);
record.flight_vel = map.get_int(AO_TELEM_ADHOC_SPEED, AltosRecord.MISSING);
record.status = AltosParse.parse_hex(words[i++]);
AltosParse.word(words[i++], "STATE");
- record.state = Altos.state(words[i++]);
+ record.state = AltosLib.state(words[i++]);
record.tick = AltosParse.parse_int(words[i++]);
/* Old TeleDongle code with kalman-reporting TeleMetrum code */
if ((record.flight_vel & 0xffff0000) == 0x80000000) {
- record.speed = ((short) record.flight_vel) / 16.0;
- record.acceleration = record.flight_accel / 16.0;
- record.height = record.flight_pres;
+ record.kalman_speed = ((short) record.flight_vel) / 16.0;
+ record.kalman_acceleration = record.flight_accel / 16.0;
+ record.kalman_height = record.flight_pres;
record.flight_vel = AltosRecord.MISSING;
record.flight_pres = AltosRecord.MISSING;
record.flight_accel = AltosRecord.MISSING;
String[] words = line.split("\\s+");
int i = 0;
- record = new AltosRecord();
+ record = new AltosRecordTM();
if (words[i].equals("CRC") && words[i+1].equals("INVALID")) {
i += 2;
}
/*
- * Given a hex dump of a legacy telemetry line, construct an AltosRecord from that
+ * Given a hex dump of a legacy telemetry line, construct an AltosRecordTM from that
*/
int[] bytes;
int adjust;
+ /*
private int int8(int i) {
return AltosLib.int8(bytes, i + 1 + adjust);
}
+ */
private int uint8(int i) {
return AltosLib.uint8(bytes, i + 1 + adjust);
}
static final int AO_GPS_COURSE_VALID = (1 << 7);
public AltosTelemetryRecordLegacy(int[] in_bytes, int in_rssi, int in_status) {
- record = new AltosRecord();
+ record = new AltosRecordTM();
bytes = in_bytes;
record.version = 4;
record.accel_minus_g = int16(19);
if (uint16(11) == 0x8000) {
- record.acceleration = int16(5);
- record.speed = int16(9);
- record.height = int16(13);
+ record.kalman_acceleration = int16(5);
+ record.kalman_speed = int16(9);
+ record.kalman_height = int16(13);
record.flight_accel = AltosRecord.MISSING;
record.flight_vel = AltosRecord.MISSING;
record.flight_pres = AltosRecord.MISSING;
record.flight_accel = int16(5);
record.flight_vel = uint32(9);
record.flight_pres = int16(13);
- record.acceleration = AltosRecord.MISSING;
- record.speed = AltosRecord.MISSING;
- record.height = AltosRecord.MISSING;
+ record.kalman_acceleration = AltosRecord.MISSING;
+ record.kalman_speed = AltosRecord.MISSING;
+ record.kalman_height = AltosRecord.MISSING;
}
record.gps = null;
record.gps = new AltosGPS();
record.new_gps = true;
- record.seen |= record.seen_gps_time | record.seen_gps_lat | record.seen_gps_lon;
+ record.seen |= AltosRecord.seen_gps_time | AltosRecord.seen_gps_lat | AltosRecord.seen_gps_lon;
record.gps.nsat = (gps_flags & AO_GPS_NUM_SAT_MASK);
record.gps.locked = (gps_flags & AO_GPS_VALID) != 0;
record.gps.connected = true;