Hörbuchmodus Von - Bis mit Fortschritt Speicherung

Bez. des ursprünglichen Problems dieses Themas hätte ich eine Idee:

Dabei wird der Fortschritt weiterhin nur im EEPROM und nicht auf der RFID oder der SD Karte gespeichert.

Bisher ist es (wenn ich es richtig verstanden habe) so:

  • für jeden (1-99) Ordner wird ein eigener Fortschritt (1 Titelnummer = 1 Byte) gespeichert (=99Bytes).

Das scheitert, wie geschrieben, für alle Spezialmodi - wobei der Hörbuch Modus der einzige ist, der sich den Fortschritt merkt - die anderen interessiert das ja nicht.

Lösung:

  • Nummer für aktuellen Titel zum Speichern des Fortschritts (wie bisher)
  • zur Identifikation:
    • Nummern für Ordner + Starttitel + Endtitel zur Identifikation
    • Alternativ kann man auch die RFID/UUID der Karte nutzen
      • Aber das erfordert
        • mehr Speicher: 8? Bytes für die UUID statt 3 Bytes (Ordner, Start, Ende)
        • das Auflegen der Karte zu Beginn bzw. zusätzliche Speichern der letzten Musikkarten UUID

Problem:

  • Da ein Ordner mehrere Spezial-Modi Konfigurationen enthalten kann, d.h. die Anzahl an Konfigurationen für einen Ordner nicht definiert ist (bisher galt 1 Konfiguration pro Ordner), muss die Ordner-Nummer ebenfalls gespeichert werden (bisher war die Ordner-Nummer = Index-Position des Bytes).

Folgen:

  • Statt 1 braucht die neue Variante also 4 Bytes pro Datensatz.
    • Mit der UUID Alternative wären es 9 Bytes
  • Außerdem sind nicht nur 99, sondern realistisch (10 Titel pro Album) bis zu ~25 * 99 = 2475 Kombinationen zu speichern.
    • Mit der UUID Alternative wären es so viele wie Karten im Umlauf sind (i.d.R. <1000?)
  • Statt 99 Bytes braucht die neue Variante also 2475 * 4 = 9900 Bytes
    • Die UUID Alternative 9 * 1000 = 9000 Bytes

Da ich nicht weiß, wie viel Speicher der EEPROM hergibt, gibt es 2 Varianten:

Variante A

  • Man nutzt die o.g. Variante und braucht 9900 bzw. 9000 Bytes im EEPROM

Vairante B

  • Man speichert den Fortschritt nicht für alle Ordner (oder alle/1000 UUIDs) sondern nur die letzten 10 oder 20.
    • Realistisch betrachtet fängt man doch keine 10 oder 20 Alben gleichzeitig an
    • Und erinnert sich obendrein noch für jeden, was bisher passiert ist
  • Damit man noch weiß, welches der letzte Datensatz war, braucht es noch 1 Byte für einen Index
  • Damit nutzt man 20 * 4 + 1 = 81 Bytes
    • Die UUID Alternative wäre bei 20 * 9 + 1 = 181 Bytes

Mir persönlich gefällt Variante B besser, weil

  • ich nicht den Fortschritt für jede Konfiguration brauche
    • ich habe keine 100+ Hörbücher und würde mich auch nicht an jeden Fortschritt erinnern
  • ich nicht für jede Konfiguration den Speicher im EEPROM dafür vorhalten muss
    • Es gibt ja auch Ordner die keine Hörbücher enthalten und daher nie einen Fortschritt speichern müssen

just my 2 cents