accel_minus_g = map.get_int(AO_TELEM_CAL_ACCEL_MINUS, MISSING);
/* flight computer values */
- acceleration = map.get_int(AO_TELEM_KALMAN_ACCEL, MISSING);
- if (acceleration != MISSING)
- acceleration /= 16.0;
- speed = map.get_int(AO_TELEM_KALMAN_SPEED, MISSING);
- if (speed != MISSING)
- speed /= 16.0;
+ acceleration = map.get_double(AO_TELEM_KALMAN_ACCEL, MISSING, 1/16.0);
+ speed = map.get_double(AO_TELEM_KALMAN_SPEED, MISSING, 1/16.0);
height = map.get_int(AO_TELEM_KALMAN_HEIGHT, MISSING);
flight_accel = map.get_int(AO_TELEM_ADHOC_ACCEL, MISSING);
AltosParse.word(words[i++], "fp:");
flight_pres = AltosParse.parse_int(words[i++]);
+ /* Old TeleDongle code with kalman-reporting TeleMetrum code */
+ if ((flight_vel & 0xffff0000) == 0x80000000) {
+ speed = ((short) flight_vel) / 16.0;
+ acceleration = flight_accel / 16.0;
+ height = flight_pres;
+ flight_vel = MISSING;
+ flight_pres = MISSING;
+ flight_accel = MISSING;
+ }
+
AltosParse.word(words[i++], "gp:");
ground_pres = AltosParse.parse_int(words[i++]);