3

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?

4

0 回答 0