public static final int record_length = 8;
- static double
- thermometer_to_temperature(double thermo)
- {
- return (thermo - 19791.268) / 32728.0 * 1.25 / 0.00247;
- }
-
public void write(PrintStream out) {
out.printf("%c %4x %4x %4x\n", cmd, tick, a, b);
}
+ public int record_length() { return record_length; }
+
+ public String string() {
+ return String.format("%c %4x %4x %4x\n", cmd, tick, a, b);
+ }
+
public void update_state(AltosState state) {
AltosGPS gps;
break;
case AltosLib.AO_LOG_TEMP_VOLT:
state.set_tick(tick);
- state.set_temperature(thermometer_to_temperature(a));
+ state.set_temperature(AltosConvert.thermometer_to_temperature(a));
state.set_battery_voltage(AltosConvert.cc_battery_to_voltage(b));
break;
case AltosLib.AO_LOG_DEPLOY:
state.set_state(a);
break;
case AltosLib.AO_LOG_GPS_TIME:
- gps = state.make_temp_gps();
+ gps = state.make_temp_gps(false);
gps.hour = (a & 0xff);
gps.minute = (a >> 8);
AltosLib.AO_GPS_NUM_SAT_SHIFT;
break;
case AltosLib.AO_LOG_GPS_LAT:
- gps = state.make_temp_gps();
+ gps = state.make_temp_gps(false);
int lat32 = a | (b << 16);
gps.lat = (double) lat32 / 1e7;
break;
case AltosLib.AO_LOG_GPS_LON:
- gps = state.make_temp_gps();
+ gps = state.make_temp_gps(false);
int lon32 = a | (b << 16);
gps.lon = (double) lon32 / 1e7;
break;
case AltosLib.AO_LOG_GPS_ALT:
- gps = state.make_temp_gps();
+ gps = state.make_temp_gps(false);
gps.alt = a;
break;
case AltosLib.AO_LOG_GPS_SAT:
- gps = state.make_temp_gps();
+ gps = state.make_temp_gps(true);
int svid = a;
int c_n0 = b >> 8;
gps.add_sat(svid, c_n0);
break;
case AltosLib.AO_LOG_GPS_DATE:
- gps = state.make_temp_gps();
+ gps = state.make_temp_gps(false);
gps.year = (a & 0xff) + 2000;
gps.month = a >> 8;
gps.day = b & 0xff;