Soooo, rbca und ich haben die neueste Version der App auf GitHub hochgeladen.
Die App ist jetzt unter
https://github.com/KoopCoop/Cyclino/blo ... -debug.apk zu finden (vorher war der Pfad etwas kürzer, da sie nicht im "Debug"-Ordner lag, also nicht verwechseln; die alte apk-Datei liegt noch unter dem alten Pfad).
rbca hatte mir noch Code geschickt, um den Absturz bei Eingabe von leeren Kalibrationswerten zu beheben, den habe ich auch erfolgreich eingebaut. Alle anderen Änderungen hatte ich ja schon weiter oben beschrieben.
Mir ist inzwischen aber noch ein seltsamer Effekt aufgefallen: wir hatten ja gesagt, wenn die Mission unerwartet abbricht, driften die Messzeiten immer weiter auseinander, also nimmt man besser die Messabstände, die der User vorgegeben hatte.
Ich konnte das jetzt auch testen, weil ich neulich die alte Batterie in den Sensor gesteckt habe, die

noch rumliegen hatte, und diese jetzt schon schwächelt. Die Zeiten, die dabei herauskommen, sind genauso, wie sie sein sollten (mein Code tut also, was er soll), aber ich bin mir nicht sicher, ob der Sensor vielleicht bei schwächelnder Batterie nicht doch tatsächlich mit größer werdenden Zeitabständen misst.
Der Grund für meine Vermutung ist diese Nachtkurve (Blau: iButton, Orange: up-Cyclino):

Als ich morgens gegen 7 Uhr die Werte per App ausgelesen habe, endete die Mission (unter der im Code gemachten Annahme, dass die Messungen weiter im vorgegebenen Messintervall erfolgten) um ca. 3 Uhr nachts, wie man auch an der Grafik sieht. Es würde allerdings besser zur iButton-Kurve passen, wenn man größere Messabstände annimmt und dadurch die orange Kurve weiter nach rechts "streckt". Oder der Sensor spinnt, wenn die Batterie so schwach ist, und misst plötzlich höhere Werte.

Was aber noch interessanter war: beim Auslesen um 7 Uhr sahen die Messwerte zunächst so aus (ich füge nur die Links ein, die Bilder sind irgendwie zu groß):
https://imgur.com/0aSrn29Beim erneuten Auslesen um kurz nach 9 Uhr (ich hatte die Mission nicht gestoppt) dann so - es sind noch Werte dazugekommen:
https://imgur.com/ztqhJisUnd als ich heute (zwei Tage später) nochmal ausgelesen habe, gab es noch mehr Werte:
https://imgur.com/Mh0nUsBDie Messzeiten verschieben sich im Nachhinein noch um ca. 1,5 Minuten, aber vor allem werden es immer mehr Werte.
Entweder hat der Sensor durchs Auslesen jedes Mal einen kleinen Schubs bekommen und nochmal angefangen zu messen, oder er misst tatsächlich in größeren Abständen als vorher, wenn die Batterie nicht mehr so richtig will. Aber im zweiten Fall hätten wir keine Möglichkeit, diese Zeitabstände herauszufinden, oder?

Als einfachste Lösung würde mir jetzt einfallen, die Mission automatisch zu stoppen, sobald beim Auslesen der Daten auffällt, dass die Mission unerwartet abgebrochen (oder in zu großen Abständen gemessen oder was auch immer es war) wurde, d.h. wenn der Fall eintritt, dass die vorgegebene Frequenz und die sich aus der aktuellen Messzeit, der Startzeit der Mission und der Anzahl der Werte ergebende Frequenz um mehr als 10% voneinander abweichen.