Kleinere bugs/issues

Bei mir ist es beim letzten Test auf jeden Fall gelaufen.

Genau den würde ich nicht nehmen. War kein Zufall, dass ich 32 vorgeschlagen habe :slight_smile:

So, habe es jetzt so umgebaut wie du vorgeschlagen hast. Allerdings laufe ich jetzt in eine Exception beim ausschalten :frowning:

[ 82842 ] Gehe jetzt in Deep Sleep!
[ 82842 ] Lautsprecher ausgeschaltet
Guru Meditation Error: Core 0 panic’ed (Unhandled debug exception)
Debug exception reason: Stack canary watchpoint triggered (rfid)
Core 0 register dump:
PC : 0x401376e7 PS : 0x00060d36 A0 : 0x8012da49 A1 : 0x3ffbb0f0
A2 : 0x3ffbb744 A3 : 0x3ffbb430 A4 : 0x3ffbb314 A5 : 0x00000010
A6 : 0x00000005 A7 : 0x3ffbb354 A8 : 0xa0000000 A9 : 0x00000000
A10 : 0x00000000 A11 : 0x80000000 A12 : 0x00000000 A13 : 0x00000001
A14 : 0x00060f23 A15 : 0x00000000 SAR : 0x00000004 EXCCAUSE: 0x00000001
EXCVADDR: 0x00000000 LBEG : 0x400961bd LEND : 0x400961cd LCOUNT : 0xffffffff

ELF file SHA256: 0000000000000000

Backtrace: 0x401376e7:0x3ffbb0f0 0x4012da46:0x3ffbb120 0x4013522a:0x3ffbb430 0x40135266:0x3ffbb4c0 0x401094e6:0x3ffbb500 0x400d7edc:0x3ffbb5a0 0x400d87da:0x3ffbb5c0 0x400d8941:0x3ffbb5f0 0x400992ba:0x3ffbb640

Rebooting…

Wie komme ich am besten mit diesen Infos weiter?

Bedeutet das, dass der Task zu wenig Speicher hat?

Kannst dem RFID-Task ja mal 500k mehr Stack geben oder so.
Ansonsten steht in der FAQ, wie man den Exception Decoder aktiviert. Dann wird’s lesbarer.

Super, vielen Dank. Hat geholfen. Sieht jetzt so aus wie es soll glaub ich :slight_smile:

Habe jetzt mal angefangen das ganze etwas mit dem Multimeter angeschaut: Der IRQ kommt gefühlt alle 3-10 Sekunden völlig unabhängig von der Situation. Kennst du das Phänomen?

Ja. Der pn5180 wirft irqs ohne Ende.
Deswegen habe ich ihn per Default auch nicht verbunden den irq-Pin.

Ich betreibe LPCD im Batteriemodus und kann auch nach vielen Tagen mit der RFID-Karte aufwecken.

Irgendwas stimmt also noch nicht. Fehlalarm bekomme ich meist 1 Mal unmittelbar nach dem Schlafenlegen. Hier scheint es einen Moment zu dauern bis sich das RF-Feld eingeregelt hat. Doch danach ist Ruhe. Allerdings verwende ich ein anderes Board TTGO Energy T18 mit einem echten GPIO und die Firmware ist ca. 1 Jahr alt. Evt. ein Bug in der aktuellen Software…

  • 3/5V beide Anschlüsse dauerhaft am Strom?
  • PN5180 schon eingebaut? Metall/Magnet in der Nähe?

Vielen Dank für den Hinweis! Habe daraufhin mir die Lib und das Datenblatt des PN5810 mal sehr genau angeschaut und tatsächlich einige verbesserungen / korrekturen in der Parametrierung der EEPROMs, des Ablaufs und der Register gefunden, was jetzt erstmalig ziemlich vielversprechend aussieht.
Hatte auch die Autocalib am laufen, die selfcalibration scheint aber der bessere Weg zu sein, zumindest wenn man noch die Sensitivity anpasst, die Settletime erhöht und das AGC_REF_CONFIG an der richtigen Stelle konfiguriert. Was genau davon jetz den Unterschied macht muss ich noch herausfinden ^^

Werde noch bisschen weiter testen und optimieren und dann anfangen das ganze bisschen leserlicher aufzuräumen :slight_smile:
Vielen Dank euch!

:+1: Schön das es bei Dir voran geht, Du bist ja sehr tief in die Materie eingestiegen!

Wenn Du LPCD Verbesserungen hast würde ich über Pull-Request oder private Nachricht freuen. Ich pflege die PN5180-Bibliothek noch weiter:.

Ihr könnt das hier gerne auch öffentlich kommunzieren. Ich finde das interessant zu lesen, da ich den PN5180 ja selbst auch benutze. Dessen Datenblatt ist schon ziemlich komplex muss ich sagen - da kann man Tod und Teufel konfigurieren :slight_smile:

1 „Gefällt mir“

Na klar, gern auch hier…

Mach ich. Aktuell ist meine These, dass vor allem das Schreiben / Lesen des Registers AGC_REF_CONFIG vor dem ersten DeepSleep den Unterschied macht. Wird so auch für die Selfcalibration im Datasheet beschrieben, dass dort erst die Kalibrierung stattfindet. Teste aber noch weiter und melde mich :slight_smile:

Hi Zusammen,
ich wünsche euch allen frohe Weihnachten und erholsamme Tage!

Kurzes Update:
da das Gerät zuletzt immer mal wieder in einen „nicht-weckbaren-Zustand“ gekommen ist, habe ich die Änderungen für das Weihnachtsgeschenk erstmal wieder rückgebaut um ein funktionierendes Weihnachtsgeschenk überreichen zu können (und die Freude war groß :slight_smile: ).

Allerdings habe ich gerade das Problem, dass die SD-Karte von Zeit zu Zeit nicht mehr erkannt wird, ohne dass sich irgendwas ändert. Meistens reicht dann ein klick auf „Reset“ oder sonst das „auswerfen und wieder einstecken“.
Gibt es Ideen woran das liegen könnte, oder ist eventuell einfach der Slot kaputt? Lötsteppen haben ich alle zur Sicherheit nachgelötet und überprüft. Passiert auch immer nur direkt beim Auflegen eines neuen Tags, also nicht beim duch eine Playlist zippen oder so.

Und: nach einem OTA-Update scheint das flashen per USB nicht mehr richtig zu funktionieren. Die Firmwareänderungen wirken dann teilweise nicht sondern es bleibt bei der Version über OTA. Habe ich hier noch einen Schritt vergessen?

@biologist da mir das aktuell zu riskant ist auf der Hardware der Kids weiter zu testen / zu entwickeln würde ich mich die Tage mal mit ner PN melden um nochmal ein oder zwei Sets zu bestellen :wink: . Dann kann ich auf dem weiterentwickeln / debuggen und die Hardware der Kids auch nur dann updaten, wenn alles läuft…
Habt noch gute Tage und bis bald!

Scheint irgendwie, als würdest du alle ESP32-Bugs mal antriggern :slight_smile:
Verwendest du eine Speicherkarte, die > 32 GB ist? Ich hatte vor ein paar Wochen eine Speicherkarte von einem User hier und die wurde zuweilen auch nicht erkannt, auch wenn mit der Karte soweit alles ok war. Auf jeden Fall habe ich in die gleiche Hardware dann 32er-Karten reingesteckt und hatte exakt NULL Probleme.
Also entweder es gibt Problem mit manchen Karten oder es gibt Probleme mit Karten, die >32G sind. Es gibt jedoch auch einen User, der sogar 128 G am Laufen hat: Werden 64 Gb SD Karten unterstützt?.

Das ist leider ein äußerst nerviger ESP32-Bug. Vielleicht muss ich die Sachen mal zusammentragen.
Das führt jedenfalls dazu, dass der ESP32 weiterhin das alte Image bootet und damit ihn damit (soweit ich weiß) auch nicht mehr abbringen kann. Es sei denn, man lässt „flash erase“ laufen, wobei aber leider alle Einstellungen verloren gehen.

Ja ok. Sorry für die ganzen Bugs, in die du läufst. Aber mindestens ein Teil davon kann ich nicht direkt beeinflussen.

Alles gut. Wenn direkt alles funktionieren würde, würde es ja auch keinen Spaß machen :wink:
Ich verwende nur 2GB als SD. Werde es Mal noch mit einer 64 GB (und der passenden Formatierung) testen. Wirkt auf mich aber irgendwie noch nicht wie Hardware. Ich teste weiter und teile meine Erkenntnisse. Da mein Sohn voll drauf abfährt wird die Testtiefe bestimmt gut sein um alles zu finden was noch so da ist :slightly_smiling_face:

Kurzes Update: Das Aussteigen des Geräts (entweder Reboot / Exception oder SD-weg) kommt immer nur dann zustande, wenn ein Tag ganz langsam in das Feld kommt. Vielleicht wird hier irgendwas mehrfach getriggered… Das ist aber mal ein hilfreicher Ansatz…

Interessant. Habe vor kurzem auf den aktuellen Stand aktualisiert und musst den Stack auch vergrößern. Wäre also eine Änderung die man generell anwenden könnte.

Ich konnte den Fehler (RFID) Stack canary watchpoint triggered jetzt auch nachstellen:
Tritt bei mir auf wenn LPCD aktiviert ist und beim Booten auf eine Karte geprüft wird.

Durch Vergrößerung der RFID-Task Stackgröße von 1536 auf 2048 klappt wieder Alles. @biologist kannst Du das bei Gelegenheit anpassen hier?

Hab’s hochgeladen.

2 „Gefällt mir“