Nein, gibt es nicht. Das Problem mit dem Knacken ist auch schon aufgetreten in einer älteren Revision, wenn man zB in der main.cpp ein paar simple Zeilen Code eingefügt hat, die mit MQTT gar nix zu tun haben und auch nicht viel CPU-Zeit gefressen haben. Also das scheint irgendwie ein Speicherproblem zu sein und das wird mit einem Task eher schlimmer als besser.
Es gibt, wenn du das nicht selbst programmieren möchtest, aus meiner Sicht zwei Möglichkeiten:
a) Wechsel auf eine ältere Revision und kompilierst dir die Version neu (*). Beispielsweise läuft auf dem ESPuino von meinem Sohnemann die 20221230-1. Da gibt’s keine Probleme.
b) Du wechselst auf neuere Hardware. Mit der mini4L hatte ich das Problem mit dem Deepsleep nicht mehr.
Für mich selbst scheidet die zweite Variante auch aus (mir geht’s also nicht besser), da das Gehäuse auf Kopfhörerplatine basierend auf UDA1334 / PJ306b angepasst ist und die mini4L halt keinen IDC-Anschluss mehr hat.
(*) Das geht mit git ja ohne Probleme. Der Code muss lokal ausgecheckt sein und dann halt so, wie es hier beschrieben ist: git checkout - How do I revert a Git repository to a previous commit? - Stack Overflow
- Code mit git auschecken.
-
git checkout -b old-state d0c0ef8
Letztgenanntes bewirkt, dass du einen extra Branch lokal bei dir dafür anlegst, der in diesem Falle „old-state“ heißt. Du kannst dem auch einen anderen Namen geben (würde Sinn machen). Vorteil an diesem Branch ist einfach, dass du da immer wieder raus- und reinspringen kannst, wenn du das möchtest. Der lebt nur lokal bei dir und da ändert sich nix dran.
Ganz grundsätzlich kannst du dir auch die Commit-History anschauen (Commits · biologist79/ESPuino · GitHub) und versuchen, zu einem neueren Punkt zu springen. Und springst halt nur soweit, wie es keine Probleme gibt.