Drehen des Drehencoders funktioniert nach Flashen nicht mehr

Vielen Dank für das großartige Projekt! Nachdem Zusammenbau der Complete hat alles gut funktioniert. Allerdings wollte ich MQTT und Bluetooth nutzen, weshalb ich selbst eine Firmware flashen wollte (mit VS Code und Pioarduino) Ich habe den dev branch verwendet und nach dem Flashen wurde das Menü in der Weboberfläche auch um Bluetooth und MQTT erweitert. Allerdings funktioniert seitdem das Drehen des Drehencoders nicht mehr. Im Monitor-Modus sehe ich auch gar keine Eingabe beim Drehen. Wenn ich auf den Drehencoder klicke, wird mir die Voltage angezeigt und durch langes Klicken, kann ich den Espuino auch ausstellen. Ich habe jetzt auch probiert eine fertig kompilierte Software über die Weboberfläche zu installieren, aber erhalte die Meldung:

Upload error: Internal Server Error

In den Logs sehe ich:

N [53838] Starte Firmware-update via OTA...
.....................................................................................................................................N [54238] Firmware-update beendet
E [54239] Decryption error

Manuelles Flashen über VS Code funktioniert. Ich habe auch mal auf den main branch gewechselt, und mit Ausnahme des Drehens des Drehencoders scheint alles zu funktionieren.

Nach dem Auschecken von main und der Auswahl von env:complete in VS Code, habe ich folgendes verändert in platformio.ini:
default_envs = complete

und in settings.h den RFID_READER verändert:

// #define RFID_READER_TYPE_MFRC522_SPI // use MFRC522 via SPI
#define RFID_READER_TYPE_PN5180 // use PN5180 via SPI

In der Weboberfläche wird mir nach dem Flashen das Folgende gezeigt:

ESPuino Software-revision: 20260103-1-DEV
ESPuino Git-revision: f54bf5e-dirty
Arduino Version: 3.3.4 (ESP-IDF 5.5.1.251106)
Hardware: ESP32-D0WD-V3, Revision 301, CPU: 240 MHZ
Free heap: 138624 Bytes
Largest free heap-block: 3932148 Bytes
Free PS-RAM: 3944992 Bytes

Sollte ich ähnlich wie bei Buttons & Drehencoder ohne Funktion - #9 von biologist mal Erase Flash machen?

Sonst fällt mir nix ein. Also dass der Button geht zeigt auf jeden Fall, dass der Port-Expander geht. Die Drehfunktion des Drehencoders hängt direkt an GPIOs.

Vielen Dank für die schnelle Antwort. Nach Erase Flash habe ich mit VS Code und Upload and Monitor wieder neue Firmware installiert. Und musste dann auch wieder neu das Wifi PW eingeben, also hat Erase Flash wohl richtig funktioniert (Gab auch keine Fehlermeldung). Allerdings treten dieselben Probleme immer noch auf. Rotieren des Drehknopfs macht weiterhin nichts und das Einspielen der Firmware über die GUI resultiert weiterhin in: Upload error: Internal Server Error und Monitoring zeigt: E [114668] Decryption error.

Ist ein Zusammenhang zwischen Drehknopf und Problemen beim Flashen über GUI wahrscheinlich?

Zeig mal Detailbilder, wie die Drehencoder-Platine gelötet ist.
Also mir sind diese Fehler unbekannt. Ich muss allerdings zugeben, dass ich selten per OTA flashe. Drahtgebunden halt ständig, weil ich die Boards ja vor der Auslieferung flashe. Glaube wir hatten das auch früher schon 2-3 mal, dass Leute beim OTA-Flashen Probleme hatten - also noch zu Zeiten der mini4L.

Schön schauen die nicht aus :smiley: Aber es hat ja alles funktioniert bis zum neuen Flashen. Kann ich sonst irgendwas messen oder den Vorgang des Drehens auf der Platine triggern?

Wenn ich in der GUI die Belegung der anderen Taster (play next and play previous) ändere (beispielsweise bei langem Drücken), kann ich mit denen die Lautstärke ändern.

Das würde ich als „pures Glück“ bezeichnen, wenn das überhaupt mal funktioniert hat. Was spricht dagegen, das sauber nachzulöten? Mechanic HX-T100 0,4 mm gelötet mit 350 Grad.

Richtig messen kann man den Graycode eigentlich nur mit einem Oszilloskop. Mit einem Multimeter sollte das jedoch auch so halbwegs gehen. An CLK bzw DT müssen wechselweise 3,3 V gegen GND messbar sein. Ansonsten natürlich 3,3 V gegen GND messen. Und bei allem keinen Kurzschluss machen.

Danke! Nach dem Bessern der Lötstellen klappt der Drehencoder wieder. OTA Flashen produziert immer noch den gleichen Fehler.

Das kommt vermutlich ganz aus den Tiefen → arduino-esp32/libraries/Update/src/Updater.cpp at 6cfa93f4b4e2c0e3cf492e4a45780bfbe757fcd4 · espressif/arduino-esp32 · GitHub

Die fertige .bins von @biologist gehen aber per OTA Update?

Hi,

probiert hatte ich diese hier: ESPuino-Firmware/Firmwares/dev/firmware-complete-PN5180-noBT.bin at main · biologist79/ESPuino-Firmware · GitHub (auch mit Bluetooth) und beide haben nicht geklappt.

Falls gewünscht, kann ich gerne noch andere testen oder auch noch mehr Logs oder so erstellen und teilen.