* General Public License for more details.
*/
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_12;
public class AltosEepromRecordMega extends AltosEepromRecord {
public static final int record_length = 32;
private int gyro_y() { return data16(16); }
private int gyro_z() { return data16(18); }
private int mag_x() { return data16(20); }
- private int mag_y() { return data16(22); }
- private int mag_z() { return data16(24); }
+ private int mag_z() { return data16(22); }
+ private int mag_y() { return data16(24); }
private int accel() { return data16(26); }
/* AO_LOG_TEMP_VOLT elements */
AltosGPS gps;
- /* Flush any pending GPS changes */
- if (cal_data.gps_pending()) {
- switch (cmd()) {
- case AltosLib.AO_LOG_GPS_LAT:
- case AltosLib.AO_LOG_GPS_LON:
- case AltosLib.AO_LOG_GPS_ALT:
- case AltosLib.AO_LOG_GPS_SAT:
- case AltosLib.AO_LOG_GPS_DATE:
- break;
- default:
- listener.set_gps(cal_data.temp_gps());
- cal_data.reset_temp_gps();
- break;
- }
- }
-
switch (cmd()) {
case AltosLib.AO_LOG_FLIGHT:
cal_data.set_flight(flight());
int gyro_pitch = gyro_x();
int gyro_yaw = gyro_z();
- int mag_along = mag_x();
- int mag_across = mag_y();
+ int mag_along = mag_y();
+ int mag_across = mag_x();
int mag_through = mag_z();
if (log_format == AltosLib.AO_LOG_FORMAT_TELEMEGA_OLD)
cal_data.mag_through(mag_through));
+ final double lsb_per_g = 1920.0/105.5;
+
double acceleration = AltosConvert.acceleration_from_sensor(
accel(),
- config_data.accel_cal_plus,
- config_data.accel_cal_minus,
- AltosLib.MISSING);
+ cal_data.ground_accel,
+ cal_data.ground_accel + 2 * lsb_per_g,
+ cal_data.ground_accel);
listener.set_acceleration(acceleration);
break;
listener.set_pyro_fired(pyro());
break;
case AltosLib.AO_LOG_GPS_TIME:
- gps = cal_data.make_temp_gps(tick(), false);
+ gps = listener.make_temp_gps(false);
gps.lat = latitude() / 1e7;
gps.lon = longitude() / 1e7;
}
break;
case AltosLib.AO_LOG_GPS_SAT:
- gps = cal_data.make_temp_gps(tick(), true);
+ gps = listener.make_temp_gps(true);
int n = nsat();
if (n > max_sat)
return new AltosEepromRecordMega(eeprom, s);
}
- public AltosEepromRecordMega(AltosEepromNew eeprom, int start) {
+ public AltosEepromRecordMega(AltosEeprom eeprom, int start) {
super(eeprom, start, record_length);
log_format = eeprom.config_data().log_format;
}
- public AltosEepromRecordMega(AltosEepromNew eeprom) {
+ public AltosEepromRecordMega(AltosEeprom eeprom) {
this(eeprom, 0);
}
}