Vorschlag: Diveprofile Speicheroptimierung

OSTC's running hwOS sport or tech
Post Reply
Spacefish
Posts: 32
Joined: Wednesday 30. August 2017, 12:57

Vorschlag: Diveprofile Speicheroptimierung

Post by Spacefish »

Hallo,

mir ist aufgefallen, dass der Druck/Tiefe pro Sample als 16bit Wert im Flash gespeichert wird. (falls ich ghostwriter.asm Zeile 37 ff. richtig interpretiere und den Aufruf in divemode.asm).


Da der MS5541C Sensor 16bit rauswirft und max 14 Bar messen kann, ändert sich das high order byte nur alle ~0,54m Wassertiefe (falls ich richtig rechne). Sprich die Chance, dass zwei Samples das selbe high order byte besitzen ist relativ groß beim normalen tauchen und einer Samplingrate von 30 Hz, falls man jetzt nicht gerade 16m/minute (b.z.w. +-8m) auf oder absteigt.

Man könnte die Messwerte im Flash Delta enkodieren, sprich es wird am Anfang einmal das high order und das low order byte geschrieben, danach nur noch der Offset, da dieser selten > +-0,22m zwischen zwei Samples ist wird fast der komplette Tauchgang als 8bit pro Sample gespeichert, man hat aber trozdem die 16bit Auflösung wie vorher. Sollte der Offset > 127 oder < -127 sein, reserviert man einfach den Wert 0xFF dafür um zu signalisieren, dass jetzt ein 16bit Wert folgt, sprich dieses sample benötigt dann 24bit, das kommt aber relativ selten vor. Der neue 16bit Wert ist dann natürlich basis für folgende 8 bit "delta" samples.

Vorteile:
- Fast doppelt so viele Samples in der selben Flashgröße speicherbar wie wenn man alles als 16bit speichert.
- Implementierung benötigt kaum Rechenleistung

Nachteile:
- Die Länge des Datenbereichs lässt sich nicht anhand der Anzahl der Samples ermitteln, man braucht beide Werte unabhängig (weiteres Headerfield)
- Springen an eine bestimmte Sampleposition ist nur möglich, wenn man alle vorherigen Samples einliest, da die Beziehung Sampleoffset - Datenoffset nicht mehr linear ist.
heinrichsweikamp
Posts: 4370
Joined: Sunday 13. May 2007, 18:07

Re: Vorschlag: Diveprofile Speicheroptimierung

Post by heinrichsweikamp »

Hi,

Prinzipiell eine gute Idee (Sorry, das ich erst jetzt antworte) aber es gibt einen sehr starken Grund das nicht zu tun: PC Software wird inkompatibel. Das will ich den zahlreichen Autoren nicht antun...

Gruß,
Matthias
Spacefish
Posts: 32
Joined: Wednesday 30. August 2017, 12:57

Re: Vorschlag: Diveprofile Speicheroptimierung

Post by Spacefish »

ok verständlich ;)

b.t.w. habe meine ersten vier Tauchgänge mit dem bei euch gekauften OTSC 2 sport gemacht. Hat alles gut geklappt!

Ich hatte den TC auch im Flugzeug im Handgepäck dabei und hab ab und zu mal auf den Umgebungsdruck geschaut. Ist ja schon cool, dass er dann am Boden die negative Sättigung berücksichtigt, wenn man ihn im Flugzeug mal an hatte!

Da ich mit dem tauchen erst angefangen habe, mache ich aber bisher eh keine dekompressionspflichtigen Tauchgänge.
Post Reply