Neues Feature: Pausieren, wenn RFID-Karte entfernt wurde

Vorab:

Dieses Feature existiert seit dem 14.7.2021 für den PN5180 und wurde am 30.9.2021 für den RC522 nachgezogen.

Was ist notwendig, um dieses Feature zu nutzen?

Eigentlich nicht viel. In settings.h muss lediglich PAUSE_WHEN_RFID_REMOVED gesetzt werden.

Wie funktioniert das Ganze?

Normalerweise legt man eine Karte auf und die Wiedergabe startet. Man kann die Karte wegnehmen oder liegen lassen - das ändert am Wiedergabemodus nichts. Legt man eine neue Karte auf, so beginnt eine andere Wiedergabe.

Aktiviert man jedoch PAUSE_WHEN_RFID_REMOVED, so beginnt die Wiedergabe wie bisher, sobald eine Karte aufgelegt wurde. Aber sie wird sofort pausiert, wenn die Karte entfernt wird. Legt man sie wieder auf, wird die Wiedergabe fortgesetzt. Davon losgelöst kann man jedoch auch weiterhin per Pause-Taste die Wiedergabe pausieren, auch wenn die Karte noch draufliegt.

Hinweis 1: Legt man eine andere „normale“ Karte auf, so beginnt eine andere Wiedergabe.
Hinweis 2: Legt man eine Modifikationskarte (2) zwischendrin auf und anschließend die eigentliche Karte (1) erneut, so startet die Wiedergabe neu (und wird nicht einfach nur fortgesetzt). Im Falle eines Hörspiels hat dies, außer einer etwas längeren Wartezeit, jedoch keine Auswirkungen, da die Wegnahme von (1) das Hörspiel pausiert und damit die letzte Abspielposition gespeichert wird.
Hinweis 3: Die Pause-Taste kann auch weiterhin benutzt werden. D.h. legt man die Karte auf, startet die Wiedergabe. Diese kann man auch bei aufgelegter Karte pausieren. Umgekehrt kann man die aufgelegte Karte auch wegnehmen und die dann automatisch vorgenommene Pausierung mit der Pause-Taste wieder beenden. Der ESPuino spielt nun vollkommen ohne Karte. Legt man die Karte jedoch wieder auf und nimmt sie wieder weg, wird wieder pausiert.

Probleme

  • Für das Feature muss dauerhaft erkannt werden, ob eine Karte aufgelegt ist oder nicht. Es kann jedoch vereinzelt immer mal zu Events kommen, bei denen das nicht klappt. Also man muss sich das vor vorstellen: Es wird 100 mal gescannt und die Karte wird als aufgelegt erkannt. Plötzlich, beim Scan 101 wird die Karte als nicht mehr aufgelegt erkannt, obwohl sie weiterhin an ihrem Platz verharrt. Ein Stück weit fängt der Code von ESPuino diese Probleme ab, aber da diese schwer nachstellbar sind, ist das Ganze nicht hochgradig optimiert.
  • Für den RC522 macht es bei Problemen ggf. Sinn, in der settings.h mit dem Parameter rfidGain zu experimentieren.
2 „Gefällt mir“