+
+ altitude = data.altitude();
+ if (altitude == AltosRecord.MISSING && data.gps != null)
+ altitude = data.gps.alt;
+
+ height = AltosRecord.MISSING;
+ if (data.kalman_height != AltosRecord.MISSING)
+ height = data.kalman_height;
+ else {
+ if (altitude != AltosRecord.MISSING && ground_altitude != AltosRecord.MISSING) {
+ double cur_height = altitude - ground_altitude;
+ if (prev_state == null || prev_state.height == AltosRecord.MISSING)
+ height = cur_height;
+ else
+ height = (prev_state.height * 15 + cur_height) / 16.0;
+ }
+ }