Hallo,
ein Fehlerbild hat mich zuletzt stark beschäftigt: Eine nicht sauber aufgelegte Karte führt auf dem Espuino zu einem Neustart des Hörspiels. Den Fehler habe ich dabei so provoziert, dass die Karte quasi gar nicht mehr auf dem Reader aufliegt. Der Fehler trat bei lastTimeDetected mit 1000 ms ca. alle 3s reproduzierbar auf.
In den folgenden Threads wurde das zum Teil bereits bearbeitet:
Laut Log kann ich bei mir ausschließen, dass eine andere Karte gelesen wird. Wenn ich lastTimeDetected auf ca. 5s setze ist der Fehler weg. Dafür wurde aber eigentlich die bessere Funktion „DONT_ACCEPT_SAME_RFID_TWICE_ENABLE“ geschrieben. Die Funktioniert auch hervorragend, allerdings nur beim „zweiten“ Mal.
Im Log sieht man, dass es immer beim ersten Mal Abspielen der Datei zu einem zweiten Fehleinlesen kommt. Im weiteren Verlauf des Songs wird die Karte wie vorgesehen abgelehnt.
Lasse ich die Karte weiter drauf liegen, passiert der gleicher wieder nur beim ersten Mal.
Es scheint also, dass gOldRfidTagId nicht korrekt beschrieben wird. Die folgende Logging-Zeile zeigt, dann auch, dass bei einem Neuabspielen der Initialwert „X“ zweimal gilt:
snprintf(Log_Buffer, Log_BufferLength, „%s: %s, OLD %s“, (char *) FPSTR(rfidTagReceived), gCurrentRfidTagId, gOldRfidTagId);
Ursache ist, dass in AudioPlayer.cpp die folgende Bedingung auch während des Starts eines Lieds erfüllt. Die Bedingung wird mehrfach durchlaufen:
#ifdef DONT_ACCEPT_SAME_RFID_TWICE_ENABLE
if (gPlayProperties.playlistFinished || gPlayProperties.playMode == NO_PLAYLIST) {
Log_Println((char *) "OldRFIDTag auf X", LOGLEVEL_INFO);
strncpy(gOldRfidTagId, "X", cardIdStringSize-1); // Set old rfid-id to crap in order to allow to re-apply an rfid-tag after playback is finished
}
#endif
Beholfen habe ich mir indem ich das Kopieren der Altennummer nur einmalig bei Eintritt des Ereignises zulasse:
//Flankenmerker deklarieren und nur einmal abfragen
bool Flankenmerker;
bool Hilfsmerker;
Flankenmerker = gPlayProperties.playlistFinished && !Hilfsmerker;
Hilfsmerker = gPlayProperties.playlistFinished;
#ifdef DONT_ACCEPT_SAME_RFID_TWICE_ENABLE
if (Flankenmerker) {
Log_Println((char *) "OldRFIDTag auf X", LOGLEVEL_INFO);
strncpy(gOldRfidTagId, "X", cardIdStringSize-1); // Set old rfid-id to crap in order to allow to re-apply an rfid-tag after playback is finished
}
#endif
Da die Codebasis relativ alt ist und der Code sich zur Revision 20230214-1 stark verändert hat, macht ein Bugreport nicht so wirklich sinn, deshalb poste ich es hier.
_____ ____ ____ _
| ____| / ___| | _ \ _ _ (_) _ __ ___
| _| \__ \ | |_) | | | | | | | | '_ \ / _ \
| |___ ___) | | __/ | |_| | | | | | | | | (_) |
|_____| |____/ |_| \__,_| |_| |_| |_| \___/
Rfid-controlled musicplayer
[ 210 ] Software-revision: 20230214-1
[ 214 ] Git-revision: bc823de-dirty
[ 217 ] ESP-IDF version: v3.3.5-1-g85c43024c
[ 221 ] Wakeup was not caused by deepsleep: 0
[ 225 ] Versuche SD-Karte wird im SD_MMC-Modus (1 Bit) zu mounten...
[ 231 ] SD card type: [ 233 ] SDHC
[ 235 ] SD-Kartengröße / freier Speicherplatz: 30436 MB / 30414 MB
[ 242 ] FTP-User wurde aus NVS geladen: esp32
[ 246 ] FTP-Passwort wurde aus NVS geladen: esp32
[ 376 ] Hostname aus NVS geladen: Espuino
[ 378 ] Versuche mit WLAN 'Test' zu verbinden...
[ 378 ] Freier Heap-Speicher nach Setup-Routine: 131832
[ 378 ] PSRAM: 0 bytes
[ 380 ] Flash-size: 4194304 bytes
[ 385 ] PN5180 firmware version=4.0
[ 390 ] RFID-Tags koennen jetzt gescannt werden...
[ 735 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 739 ] RFID-Karte empfangen: 083079040251
[ 739 ] RFID-Karte empfangen: 083079040251, OLD X
[ 748 ] Freier Speicher: 131144
[ 749 ] Playlist-Generierung: uncached
[ 749 ] Dateimodus erkannt.
[ 749 ] Modus: Einzelner Track
[ 750 ] Neue Playlist empfangen mit 1 Titel(n)
[ 754 ] Free heap: : 131628
[ 760 ] info : PSRAM not found, inputBufferSize: 14399 bytes
[ 763 ] info : buffers freed, free Heap: 115612 bytes
[ 768 ] info : Reading file: "/mp3/ChipChap.mp3"
[ 783 ] info : MP3Decoder has been initialized, free Heap: 91980 bytes , free stack 2580 DWORDs
[ 784 ] '/mp3/ChipChap.mp3' wird abgespielt (1 von 1)
[ 803 ] info : Content-Length: 960718
[ 803 ] info : ID3 framesSize: 142
[ 803 ] info : ID3 version: 2.4
[ 804 ] info : ID3 normal frames
[ 823 ] id3data : SettingsForEncoding: Lavf57.83.100
[ 858 ] info : Audio-Length: 960576
[ 859 ] info : stream ready
[ 861 ] info : syncword found at pos 0
[ 868 ] info : Channels: 2
[ 868 ] info : SampleRate: 48000
[ 868 ] info : BitsPerSample: 16
[ 868 ] info : BitRate: 64000
[ 890 ] info : VBR recognized, audioFileDuration is estimated
[ 3038 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 3042 ] RFID-Karte empfangen: 083079040251
[ 3043 ] RFID-Karte empfangen: 083079040251, OLD X
[ 3089 ] Freier Speicher: 90212
[ 3089 ] Gebe Speicher der alten Playlist frei.
[ 3089 ] Freier Speicher nach Aufräumen: 90248
[ 3089 ] Playlist-Generierung: uncached
[ 3104 ] Dateimodus erkannt.
[ 3104 ] Modus: Einzelner Track
[ 3112 ] info : Closing audio file
[ 3112 ] Neue Playlist empfangen mit 1 Titel(n)
[ 3112 ] Free heap: : 91160
[ 3117 ] info : buffers freed, free Heap: 114516 bytes
[ 3117 ] info : Reading file: "/mp3/ChipChap.mp3"
[ 3132 ] info : MP3Decoder has been initialized, free Heap: 90892 bytes , free stack 2580 DWORDs
[ 3133 ] '/mp3/ChipChap.mp3' wird abgespielt (1 von 1)
[ 3153 ] info : Content-Length: 960718
[ 3153 ] info : ID3 framesSize: 142
[ 3153 ] info : ID3 version: 2.4
[ 3155 ] info : ID3 normal frames
[ 3174 ] id3data : SettingsForEncoding: Lavf57.83.100
[ 3209 ] info : Audio-Length: 960576
[ 3210 ] info : stream ready
[ 3212 ] info : syncword found at pos 0
[ 3219 ] info : Channels: 2
[ 3219 ] info : SampleRate: 48000
[ 3219 ] info : BitsPerSample: 16
[ 3220 ] info : BitRate: 64000
[ 3242 ] info : VBR recognized, audioFileDuration is estimated
[ 4888 ] Verbindung zum WLAN nicht möglich. Nächster Versuch...
[ 7783 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 7790 ] RFID-Karte empfangen: 083079040251
[ 7791 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 7796 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 9901 ] Access-Point geöffnet
[ 9901 ] IP-Adresse: 192.168.4.1
[ 9923 ] HTTP-Server gestartet.
[ 11176 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 11177 ] RFID-Karte empfangen: 083079040251
[ 11177 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 11191 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 15191 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 15200 ] RFID-Karte empfangen: 083079040251
[ 15200 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 15201 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 19414 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 19423 ] RFID-Karte empfangen: 083079040251
[ 19423 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 19424 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 20673 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 20678 ] RFID-Karte empfangen: 083079040251
[ 20678 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 20679 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 22595 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 22597 ] RFID-Karte empfangen: 083079040251
[ 22597 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 22600 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 24294 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 24295 ] RFID-Karte empfangen: 083079040251
[ 24295 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 24303 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 26436 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 26449 ] RFID-Karte empfangen: 083079040251
[ 26450 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 26451 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 28217 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 28230 ] RFID-Karte empfangen: 083079040251
[ 28230 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 28231 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 35578 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 35580 ] RFID-Karte empfangen: 083079040251
[ 35580 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 35597 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 40589 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 40593 ] RFID-Karte empfangen: 083079040251
[ 40593 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 40595 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 46108 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 46121 ] RFID-Karte empfangen: 083079040251
[ 46122 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 46123 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 47853 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 47857 ] RFID-Karte empfangen: 083079040251
[ 47857 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 47858 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 49651 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 49659 ] RFID-Karte empfangen: 083079040251
[ 49659 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 49660 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 52916 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 52921 ] RFID-Karte empfangen: 083079040251
[ 52922 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 52923 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 56064 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 56066 ] RFID-Karte empfangen: 083079040251
[ 56066 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 56069 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 60614 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 60620 ] RFID-Karte empfangen: 083079040251
[ 60620 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 60621 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 63145 ] info : Closing audio file
[ 63145 ] info : End of file "/mp3/ChipChap.mp3"
[ 63145 ] eof_mp3 : /mp3/ChipChap.mp3
[ 63147 ] Ende der Playlist erreicht.
[ 64557 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 64561 ] RFID-Karte empfangen: 083079040251
[ 64561 ] RFID-Karte empfangen: 083079040251, OLD X
[ 64570 ] Freier Speicher: 92160
[ 64570 ] Gebe Speicher der alten Playlist frei.
[ 64570 ] Freier Speicher nach Aufräumen: 92204
[ 64572 ] Playlist-Generierung: uncached
[ 64576 ] Dateimodus erkannt.
[ 64579 ] Modus: Einzelner Track
[ 64591 ] Neue Playlist empfangen mit 1 Titel(n)
[ 64591 ] Free heap: : 92684
[ 64595 ] info : buffers freed, free Heap: 92684 bytes
[ 64595 ] info : Reading file: "/mp3/ChipChap.mp3"
[ 64610 ] info : MP3Decoder has been initialized, free Heap: 69076 bytes , free stack 2580 DWORDs
[ 64611 ] '/mp3/ChipChap.mp3' wird abgespielt (1 von 1)
[ 64630 ] info : Content-Length: 960718
[ 64631 ] info : ID3 framesSize: 142
[ 64631 ] info : ID3 version: 2.4
[ 64633 ] info : ID3 normal frames
[ 64652 ] id3data : SettingsForEncoding: Lavf57.83.100
[ 64687 ] info : Audio-Length: 960576
[ 64688 ] info : stream ready
[ 64690 ] info : syncword found at pos 0
[ 64697 ] info : Channels: 2
[ 64697 ] info : SampleRate: 48000
[ 64697 ] info : BitsPerSample: 16
[ 64698 ] info : BitRate: 64000
[ 64720 ] info : VBR recognized, audioFileDuration is estimated
[ 67368 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 67375 ] RFID-Karte empfangen: 083079040251
[ 67375 ] RFID-Karte empfangen: 083079040251, OLD X
[ 67420 ] Freier Speicher: 68340
[ 67420 ] Gebe Speicher der alten Playlist frei.
[ 67420 ] Freier Speicher nach Aufräumen: 68380
[ 67421 ] Playlist-Generierung: uncached
[ 67434 ] Dateimodus erkannt.
[ 67434 ] Modus: Einzelner Track
[ 67449 ] info : Closing audio file
[ 67449 ] Neue Playlist empfangen mit 1 Titel(n)
[ 67449 ] Free heap: : 69276
[ 67454 ] info : buffers freed, free Heap: 92632 bytes
[ 67454 ] info : Reading file: "/mp3/ChipChap.mp3"
[ 67470 ] info : MP3Decoder has been initialized, free Heap: 69028 bytes , free stack 2580 DWORDs
[ 67471 ] '/mp3/ChipChap.mp3' wird abgespielt (1 von 1)
[ 67490 ] info : Content-Length: 960718
[ 67490 ] info : ID3 framesSize: 142
[ 67490 ] info : ID3 version: 2.4
[ 67493 ] info : ID3 normal frames
[ 67511 ] id3data : SettingsForEncoding: Lavf57.83.100
[ 67546 ] info : Audio-Length: 960576
[ 67547 ] info : stream ready
[ 67549 ] info : syncword found at pos 0
[ 67556 ] info : Channels: 2
[ 67556 ] info : SampleRate: 48000
[ 67556 ] info : BitsPerSample: 16
[ 67557 ] info : BitRate: 64000
[ 67579 ] info : VBR recognized, audioFileDuration is estimated
[ 74437 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 74451 ] RFID-Karte empfangen: 083079040251
[ 74451 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 74452 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)
[ 78308 ] RFID-Karte erkannt: (ISO-14443) ID: 53-4f-28-fb
[ 78310 ] RFID-Karte empfangen: 083079040251
[ 78311 ] RFID-Karte empfangen: 083079040251, OLD 083079040251
[ 78313 ] Aktuelle RFID-Karte erneut aufgelegt - abgelehnt! (083079040251)