Odyssee beendet: Ager wieder stabil

jetzt wieder topstabil!

Nachdem ich bereits glaubte durch die Änderung der Stromversorgung  etwas zur Stabilität beigetragen zu haben, tauchten leider sporadisch immer noch Probleme auf. Diese waren nach wie vor in keinem Log zu erkennen und wegen des sporadischen Auftretens auch nicht zb. im Logic Analyzer oder Ozilloskop aufzuzeichnen.

Dies sind die durchgeführten Hardwareverbesserungen im Ausschlussprinzip:

– Kabel und Box mit Alu abgeschirmt:   crash
– Relais entfernt und durch SSR ersetzt:   crash
– ESP ohne die langen Kabel / Antennen laufen lassen:   crash
– andere Stromversorgung verwendet:    crash
– nur noch VIN bedienen, nicht mehr 3.3V parallel versorgen:    crash
– glättenden Kondensator an der Stromversorgung:    crash
– Wifi Kommunikation reduziert durch neues Protokoll:    crash
– MQTTget und push deaktiviert:    crash
– 2k2 pullups statt 10k auf i2c: crash

Des Rätsels Lösung konnte ich dann mit Unterstützung durch stickbreaker erschlagen: Bei der Kommunikation über i2c trat – ausgelöst durch einen Bug im Arduino Core – ein Crash auf sobald ein READ Kommando mit 0 bytes Länge abgesetzt wurde. Daraufhin landete der Slave in einer unbegrenzten Warteschleife und das STOP Kommando konnte nie abgesetzt werden. Und somit war der ganze Chip in einem permanenten WAIT Status während SDA nie auf high gehen konnte („Stop“).

Ja, das ist gemein und betrifft alle ESP32 Arduino Cores vor Commit 9a7946e (Version 1.0.1-rc4) und nach irgend einer Version aus dem September 2018.

jetzt wieder super stabil!


Kommentare

2 Antworten zu „Odyssee beendet: Ager wieder stabil“

  1. […] wenn die instabile Stromversorgung sicherlich nicht zuträglich ist, was das eigentliche Problem im Arduino Code […]

  2. holledauer

    Sehr geil, ich finde es Klasse, wie Du an die „Probleme“ rangehst.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.