I am writing an app for logging some data for skydiving. I have currently 3 Modes: -Ground (recalibrating airpressure on groundlevel) -Flight (quick reducing airpressure) -Jump (quick increasing airpressure) I am receiving the sensor values through my registered SensorEventListener
@Override
public void onSensorChanged(SensorEvent event) {
Log.d("currentStatus", currentStatus.toString());
long currentTime = System.currentTimeMillis();
switch (currentStatus) {
case GROUND:
if (lastCheck == null || lastCheck.getTimestamp() < currentTime - 30000) {
if (lastCheck != null && Calc.getAltitudeByPressure(lastCheck.getPressure(), event.values[0]) >= 30){
currentStatus = Status.FLIGHT;
groundlevel = lastCheck;
pw.println(currentTime+": Status wechselt: Flight");
}
else{
Log.d("Kalibirierung", event.values[0] + "");
pw.println(currentTime+": Kalibrierung: "+event.values[0]);
}
lastCheck = new EnvValues(currentTime, event.values[0], 0);
}
break;
case FLIGHT:
lastCheck = new EnvValues(currentTime, event.values[0], 0);
pw.println(currentTime+": Aktuelle Höhe: "+Calc.getAltitudeByPressure(groundlevel.getPressure(), lastCheck.getPressure()));
break;
case JUMP:
break;
}
}
It works on ground and on climb perfectly, some logdata ("aktuelle Höhe" means current altitude in meters):
1438424661607: Kalibrierung: 1006.6233
1438424756674: Status wechselt: Flight
1438424756674: Aktuelle Höhe: 81
1438424756674: Aktuelle Höhe: 348
1438424756674: Aktuelle Höhe: 349
1438424756674: Aktuelle Höhe: 348
1438424756792: Aktuelle Höhe: 349
1438424756991: Aktuelle Höhe: 349
1438424757191: Aktuelle Höhe: 354
1438424757391: Aktuelle Höhe: 354
But on dropping altitude and during freefall it logs :
1438425939005: Aktuelle Höhe: 3953
1438426040917: Aktuelle Höhe: 3952
1438426040917: Aktuelle Höhe: 3953
1438426040917: Aktuelle Höhe: 749
1438426040917: Aktuelle Höhe: 747
1438426040917: Aktuelle Höhe: 747
1438426040917: Aktuelle Höhe: 747
1438426041052: Aktuelle Höhe: 746
1438426041195: Aktuelle Höhe: 745
there is no freefall logged and the timestamp is the same before exit and after opening the canopy.
Here is a link to the logfile (its very big): Link to logfile
In the logfile you can see the raising altitude until dropping-altitude (the plane was a long time on dropping-altitude of 3950m), the next value is 749m. The data for 1 minute freefall is completely missing. does anybody knows what happens here?