ESP RGBWW Controller - Firmware v5

Begonnen von pjakobs, 01 Januar 2025, 21:14:31

Vorheriges Thema - Nächstes Thema

pjakobs

Moin zusammen,

ich war ne Weile lang extrem eingespannt, aber in der freien Zeit hab ich langsam weiter an meiner neuen Firmware gearbeitet. Die Version für den Esp8266 funktioniert schon ganz gut.
Ein paar Dinge sind noch nicht implementiert, so zum Beispiel die Presets und Gruppen, aber das meiste davon ist für den Betrieb mit fhem nicht von Belang.

Ihr würdet mir sehr helfen, wenn Ihr ein paar (nicht lebenswichtige) Controller auf die neue Version updaten könntet (geht zumeist auch mit denen, die einen defekten Flash Baustein haben und kein web Frontend mehr zeigen *aufdennägelnkau*).

Die update-url ist:

http://lightinator.de/version.json

das Dateisystem des Controllers wird dann komplett umgebaut, statt spiffs kommt ein lfs (little File System) drauf. Wenn Euch die Konfiguration des Controllers also wichtig ist, sichert sie vorher in ein json File, Ihr könnt sie danach wieder hochladen.

Sollte der Controller nach einem solchen over-the-air nicht wieder starten, sondern immer "OTA in progress" melden, macht ihn kurz stromlos. Nach dem Neustart gibt es mit ziemlicher Sicherheit kein UI, Linux Nutzer können jetzt auf der Kommandozeile mit

curl -X POST http://<controller-adresse oder name>/update -H 'Content-Type: application/json' --data '{"rom":{"url":"http://lightinator.de/download/esp8266/develop/debug/rom0.bin"}}'ein manuelles Update anstoßen. Bei meinen Controllern hat das immer geholfen, sie wieder zum Leben zu erwecken.
Wer den Controller an den PC anschließen kann, der kann das rom0.bin natürlich auch direkt flashen.

Wenn Ihr Bugs findet oder Vorschläge habt, bitte am besten gleich im Github Repo angeben:

http://github.com/pljakobs/esp_rgbww_firmware

Achtung: obwohl die Firmware aktuell auf Esp8266, Esp32 und Esp32c3 läuft, sind die OTA Routinen für die beiden Esp32 Typen noch nicht scharfgeschaltet, wenn Ihr da experimentieren wollt, müsst Ihr zwingend via USB flashen.

im Anhang findet Ihr ein paar Screenshots. Die meisten im dark Mode, weil der mir besser gefällt, eines auch im hellen Mode.

Ihr seht
  • den Color Picker (leider ist der, den Quasar da zur Verfügung stellt ziemlich klein und auch nicht skalierbar - soweit ich weiß)
  • das Pop out Menü (auf kleinen Bildschirmen wird es ausgeblendet, auf großen ist es immer zu sehen)
  • die Color Settings Seite - wie schon beim alten Controller
  • die Network Settings Seite, die jetzt einen schnellen Überblick über die Einstellungen gibt, das Setzen eines Namens zulässt, sowie dhcp und mqtt ein und ausschalten lässt
  • die System Information Seite gibt in ähnlicher Weise Überblick über die aktuelle Systemkonfig, die DeviceID, welches rom (0/1) gerade aktiv ist, welche Version gerade installiert ist, welches Sming dem zugrunde liegt, wieviel Heap (RAM) frei ist (da bin ich besonders stolz, in der alten Version waren das oft unter 10kB, was zu Netzwerkproblemen geführt hat) und welcher SoC, also welche CPU verbaut ist. Außerdem ist hier die Firmware Update Funktion
  • die Firmware update Funktion ist erheblich ausgeweitet worden, sie erlaubt jetzt die Auswahl zwischen debug und release builds (mit/ohne Serieller Log Ausgabe) und wird später noch stable / testing / nightly anbieten. (im Moment ist alles testing)
  • weiter auf der System Settings Seite gibt es den Selektor für die Pin Konfiguration. Der ist jetzt flexibler und ich kann zentral über eine Datei neue Konfigurationen shippen. Was noch fehlt ist die manuelle Konfiguration
  • ganz unten sind die Knöpfe um die Systemkonfiguration zu speichern / hochzuladen. Wenn Ihr eine Datei zum Hochladen auswählt wird sie in dem kleinen Fenster angezeigt, so dass Ihr checken könnt, ob das auch die korrekte Datei ist (keine Edit Funktion) bevor Ihr sie abschickt
  • oben im popout Menü gibt es ein Dropdown, das alle Controller mit der neuen Firmware im LAN anzeigt, die Firmware verwendet mdns, um die Controller auffindbar zu machen. Hier könnt ihr zwischen verschiedenen Controllern umschalten und die so von einem Frontend aus bearbeiten, egal von welchem Controller das geladen worden ist.

Soviel zum neuen UI.

Ich bin auf Euer Feedback gespannt.

schönes neues Jahr

pj

ach, und PS:

ich hab Anfangs ja ein bisschen mit Sming gefremdelt, aber wie cool sind die Leute da!
Ich hatte im Sommer diesen Diskussionsbeitrag geschrieben:
https://github.com/SmingHub/Sming/discussions/2871

entstanden ist daraus das hier:
https://github.com/mikee47/ConfigDB/tree/develop

damit konnte ich fast die gesamte Konfiguration des Controllers aus dem RAM in's Flash schieben, was alleine über 10kB RAM und ungelogen 1200 Zeilen Code eingespart hat (das ganze lesen/schreiben der Konfigdatei sowie das gleiche im http API - es hat mich immer schon genervt, dass der quasi gleiche Code da doppelt vorkam).
ConfigDB ist jetzt ein fester Bestandteil der Firmware und macht mein Leben da extrem viel einfacher und wird auch in Zukunft viele Funktionen möglich machen.

pc1246

HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

rippi46

#2
Hallo pjakobs,

werden die Änderungen in der Konfiguration direkt übernommen nach der Bestätigung oder muss ein Neustart durchgeführt werden.
Wenn ich einen neue Namen vergebe taucht der Controller noch relativ lange mit dem alten Namen bei den andern Controllern auf.

Kann man über die Weboberfläche einen Neustart auslösen?


Gruß rippi

P.S.: Presets konnte ich bis jetzt keine abspeichern, MQTT taucht unter fhem nicht auf
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Mafi

Hallo pjakobs,

super dass du die Firmware weiter entwickelst!
Ich habe die Version 9d5d-dirty-[develop] mal auf einen meiner Controller gespielt (OTA). Update hat gut geklappt. Leider habe ich jetzt aber das Problem, dass der Controller exakt alle 60s einen Crash hinlegt und neu startet. Jedenfalls sehe ich exakt in diesem Abstand im WLAN Protokoll meiner Fritz!Box, dass sich der Controller ab- und wieder anmeldet. Außerdem wird das Licht auf einen festen Wert zurückgesetzt (von dem ich nicht weiß wo er herkommt) und in FHEM werden sämtliche Readings aktualisiert. Die Uptime im Webinterface bleibt bei 0 stehen (sind das Minuten?).
Irgendwas klemmt da offenbar noch.

Grüße
Markus

pjakobs

Zitat von: rippi46 am 10 Januar 2025, 16:21:25Hallo pjakobs,

werden die Änderungen in der Konfiguration direkt übernommen nach der Bestätigung oder muss ein Neustart durchgeführt werden.
Wenn ich einen neue Namen vergebe taucht der Controller noch relativ lange mit dem alten Namen bei den andern Controllern auf.

Änderungen werden im Allgemeinen sofort übernommen. Das, damit die anderen Controller die Änderung allerdings sehen, muss erst das mDNS Timeout ablaufen.
Dabei fällt mir gerade etwas ein: im neuen Code (ich hab die Art, wie andere Controller abgelegt werden gerade geändert), muss ich noch was einbauen, wenn der Name geändert wurde.

Zitat von: rippi46 am 10 Januar 2025, 16:21:25Kann man über die Weboberfläche einen Neustart auslösen?
ich glaub, in der Version gerade nicht, aber in Zukunft: ja.

Zitat von: rippi46 am 10 Januar 2025, 16:21:25Gruß rippi

P.S.: Presets konnte ich bis jetzt keine abspeichern, MQTT taucht unter fhem nicht auf


genau, Presets sind gerade nicht drin, da hab ich das ganze Backend geändert. Kommt bald (im Moment hängt meine CI weil ich zwei Änderungen an Sming brauche, die aber gerade auf die Version 6.1 warten :/ )

Wie meinst Du MQTT taucht unter fhem nicht auf? Siehst Du keine mqtt updates? Ich gestehe, dass ich den mqtt Code selbst kaum angefasst habe.

pjakobs

Zitat von: Mafi am 11 Januar 2025, 15:06:34Hallo pjakobs,

super dass du die Firmware weiter entwickelst!
Ich habe die Version 9d5d-dirty-[develop] mal auf einen meiner Controller gespielt (OTA). Update hat gut geklappt. Leider habe ich jetzt aber das Problem, dass der Controller exakt alle 60s einen Crash hinlegt und neu startet. Jedenfalls sehe ich exakt in diesem Abstand im WLAN Protokoll meiner Fritz!Box, dass sich der Controller ab- und wieder anmeldet. Außerdem wird das Licht auf einen festen Wert zurückgesetzt (von dem ich nicht weiß wo er herkommt) und in FHEM werden sämtliche Readings aktualisiert. Die Uptime im Webinterface bleibt bei 0 stehen (sind das Minuten?).
Irgendwas klemmt da offenbar noch.

ja, in der Version sind das noch Minten. Hmm.. warum er crasht kann ich so natürlich nicht sagen. Hast Du ne Chance, das Log zu speichern (also mit einem Terminal ran zu gehen, 115200bps)?
Dann kann ich nachsehen, was da los ist.

rippi46

Hallo

ZitatMQTT taucht unter fhem nicht auf

hatte es bisher nicht benuzt, und habe gedacht ich könnte aus fhem heraus den Controller mit MQTT steuern.
Hatte dazu meinen MQTT-Server angegeben. Aber ich glaube der Gedankengang war vekehrt.

Ab und zu habe ich das Gefühl, dass die Weboberfläche hängt oder Änderungen werden nicht übernommen.
Gibt es einen einfachen Weg auch wieder zurück auf die alte Version, oder geht das nur über das ESPTool?

Der Weg zur neuen Version hat Problemlos funktioniert.
Auch der Aufruf der Weboberfläche funktioniert besser (auch über VPN), da es über die ./index.html aufgerufen wird.
Bei der ./webapp Version mekert bei mir immer der Browser und über VPN geht gar nichts.

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

pjakobs

Zitat von: rippi46 am 13 Januar 2025, 19:25:25hatte es bisher nicht benuzt, und habe gedacht ich könnte aus fhem heraus den Controller mit MQTT steuern.
Hatte dazu meinen MQTT-Server angegeben. Aber ich glaube der Gedankengang war vekehrt.

ja, das geht grundsätzlich, allerdings ist das ein json rpc over mqtt interface, d.h. Du musst json rpc messages erstellen und die über mqtt an den Controller schicken.

Zitat von: rippi46 am 13 Januar 2025, 19:25:25Ab und zu habe ich das Gefühl, dass die Weboberfläche hängt oder Änderungen werden nicht übernommen.
Ich habe folgenden Verdacht und muss mich darauf noch kümmern:

Wenn über das API die Farbe verändert wird, dann wollte ich erreichen, dass alle Endgeräte, die gerade mit dem Controller sprechen (etwa, wenn Du das Web Frontend auf dem PC und dem Telefon offen hast) die neue Farbe korrekt darstellen.
Dazu sendet der Controller die neue Farbeinstellung als json-rpc Update über die vorhandenen Websocket Verbindungen raus - auch an das Frontend, das die Veränderung angestoßen hat.
Ich versuche das zwar da herauszufiltern, aber das scheint nicht immer zu funktionieren, so dass es quasi eine Rückkopplung gibt.

Zitat von: rippi46 am 13 Januar 2025, 19:25:25Gibt es einen einfachen Weg auch wieder zurück auf die alte Version, oder geht das nur über das ESPTool?
nein, es gibt keinen Weg, den Controller auf die alte Version zurück zu setzen, ohne über die serielle Schnittstelle zu flashen.
Das liegt daran, dass ich in der neuen Version ein anderes Flash Datei System (LittleFS statt SPIFFS) verwende.

Hintergrund dabei: mit der alten Firmware sind viele Controller mit defekten Flash Zellen einfach ausgefallen, das SPIFFS Volume konnte nicht mehr gemountet werden und das führte zu dem "normalen" Fehler, dass das Webfrontend nicht mehr aufzurufen war und der Controller meist auch in den reinen RGB Modus zurückgefallen ist (weil er seine Konfiguration nicht mehr lesen konnte).

LittleFS hat sehr viel besseres wear levelling (verteilt also die Daten gleichmäßig über den verfügbaren Flash Bereich) und ist auch resilienter gegen defekte Sektoren, weil die Metadaten (also die eigentlichen Strukturdaten des Dateisystems) immer doppelt gehalten werden.

Aber: ein OTA auf die alte Version muss daran scheitern, dass dann eben kein SPIFFS mehr da ist. Das Update überschreibt immer nur den eigentlichen Programmbereich, nicht das Dateisystem. Ich überlege allerdings gerade, da das OTA für die alte Version auch das SPIFFS image mitliefert könnte ich eine Funktion bauen, die das alte Zeug wieder flasht. hmm..
Würde ich aber eigentlich gerne vermeiden, denn das wäre viel Aufwand für etwas, was eigentlich niemand brauchen sollte.

Zitat von: rippi46 am 13 Januar 2025, 19:25:25Der Weg zur neuen Version hat Problemlos funktioniert.
ich hab noch einen Edge-case gefunden, den ich beachten muss, aber ja, im großen und ganzen funktioniert das gut (und war ziemlch viel Gefrickel)

Zitat von: rippi46 am 13 Januar 2025, 19:25:25Auch der Aufruf der Weboberfläche funktioniert besser (auch über VPN), da es über die ./index.html aufgerufen wird.
Bei der ./webapp Version mekert bei mir immer der Browser und über VPN geht gar nichts.

Das höre ich gern. Die Weboberfläche ist jetzt ja Vue bzw Quasar und nicht mehr AngularJS. Dazu wird die Webapp jetzt auch nicht mehr als externes Dateisystem ausgeliefert, sondern ist in das eigentliche Firmware Image eingebaut. Das macht die Updates kleiner und flexibler.

Mafi

Zitat von: pjakobs am 13 Januar 2025, 17:45:57ja, in der Version sind das noch Minten. Hmm.. warum er crasht kann ich so natürlich nicht sagen. Hast Du ne Chance, das Log zu speichern (also mit einem Terminal ran zu gehen, 115200bps)?
Dann kann ich nachsehen, was da los ist.

Hmm, ist nicht ideal dranzukommen, weil das Ding etwas blöd verbaut ist, aber ich werde das am Wochenende mal versuchen. Eine Möglichkeit das per Webinterface herunterzuladen wäre genial. Aber idealerweise braucht man später ja gar kein Log mehr. Man kann übrigens auch an der LED auf dem ESP Board sehen, dass tatsächlich ein Neustart stattfindet. Wenn das Licht zu dem Zeitpunkt an ist ändert sich oft kurz vorher die Farbe, dann folgt der Neustart.
Ich melde mich, sobald ich das mal mitgeschnitten habe. Gibt es einen Unterschied zwischen den beiden Versionen Release und Develop oder geben beide Logs auf der Konsole aus?

Grüße
Markus

rippi46

Hallo,

Zitatnein, es gibt keinen Weg, den Controller auf die alte Version zurück zu setzen, ohne über die serielle Schnittstelle zu flashen.
Das liegt daran, dass ich in der neuen Version ein anderes Flash Datei System (LittleFS statt SPIFFS) verwende.

Das ist nicht zwingend notwendig. wäre nur zum testen gewesen. Gehr aber auch relativ schnell über die serielle Schnittstelle

ZitatHintergrund dabei: mit der alten Firmware sind viele Controller mit defekten Flash Zellen einfach ausgefallen, das SPIFFS Volume konnte nicht mehr gemountet werden und das führte zu dem "normalen" Fehler, dass das Webfrontend nicht mehr aufzurufen war und der Controller meist auch in den reinen RGB Modus zurückgefallen ist (weil er seine Konfiguration nicht mehr lesen konnte).

LittleFS hat sehr viel besseres wear levelling (verteilt also die Daten gleichmäßig über den verfügbaren Flash Bereich) und ist auch resilienter gegen defekte Sektoren, weil die Metadaten (also die eigentlichen Strukturdaten des Dateisystems) immer doppelt gehalten werden.

Das höre ich gerne, da ich ca. 13 Controller im Einsatz habe und immer mal wieder einer ausfällt.
Manchmal reicht es dann neu zu flashen. In der Regel tausche ich aber den ESP aus.

Was ich bis jetzt noch nicht geschafft habe den Controller über MQTT anzusteuern!!!???
da stehe ich glaube ich auf dem Schlauch  :))
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

pjakobs

Zitat von: Mafi am 16 Januar 2025, 10:19:29
Zitat von: pjakobs am 13 Januar 2025, 17:45:57ja, in der Version sind das noch Minten. Hmm.. warum er crasht kann ich so natürlich nicht sagen. Hast Du ne Chance, das Log zu speichern (also mit einem Terminal ran zu gehen, 115200bps)?
Dann kann ich nachsehen, was da los ist.

Hmm, ist nicht ideal dranzukommen, weil das Ding etwas blöd verbaut ist, aber ich werde das am Wochenende mal versuchen. Eine Möglichkeit das per Webinterface herunterzuladen wäre genial. Aber idealerweise braucht man später ja gar kein Log mehr. Man kann übrigens auch an der LED auf dem ESP Board sehen, dass tatsächlich ein Neustart stattfindet. Wenn das Licht zu dem Zeitpunkt an ist ändert sich oft kurz vorher die Farbe, dann folgt der Neustart.
Ich melde mich, sobald ich das mal mitgeschnitten habe. Gibt es einen Unterschied zwischen den beiden Versionen Release und Develop oder geben beide Logs auf der Konsole aus?

Grüße
Markus

tatsächlich habe ich ein bisschen Code, der das Log umleiten kann. Ich weiß nur nicht, ob ich das in's Flash schreiben will, weil das relativ schnell dazu führen kann, dass Zellen ausfallen. Vielleicht mach ich was für rsyslog.

pjakobs

Zitat von: rippi46 am 16 Januar 2025, 15:53:04Was ich bis jetzt noch nicht geschafft habe den Controller über MQTT anzusteuern!!!???
da stehe ich glaube ich auf dem Schlauch  :))

am besten schaltest Du bei einem Controller mal mqtt master ein und schaust Dir an, wie das Nachrichtenformat aussieht.
Ohne es vor mir zu haben, glaube ich, dass es etwa so aussehen sollte:

Zitat{
  "cmd": "color",
  "hsv":{
    "h":60,
    "s":30,
    "v":50
  }
}
Ich weiß aus dem Kopf gerade nicht das Topic, an das die Nachricht geschickt werden muss. Muss ich mir ansehen.

Mafi

Zitat von: pjakobs am 17 Januar 2025, 16:13:39tatsächlich habe ich ein bisschen Code, der das Log umleiten kann. Ich weiß nur nicht, ob ich das in's Flash schreiben will, weil das relativ schnell dazu führen kann, dass Zellen ausfallen. Vielleicht mach ich was für rsyslog.

Ins Flash würde ich das auch nicht schreiben. Mit rsyslog müsste ich mich mal vertraut machen. Aber für diesen Fall hier alles nicht nötig, ich bin seriell am Controller dran und habe ein erstes Log, das auch einen Fehler zeigt. Ich hoffe das hilft, ich kann damit leider nichts anfangen.

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2025.01.18 12:35:00 =~=~=~=~=~=~=~=~=~=~=~=

Fatal exception 0(IllegalInstructionCause):
epc1=0x4000e296, epc2=0x00000000, epc3=0x40000f68, excvaddr=0x00000000, depc=0x00000000þ
 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 1948, room 16
tail 12
chksum 0x37
ho 0 tail 12 room 4
load 0x3ffe8000, len 772, room 12
tail 8
chksum 0x6c
csum 0x6c

rBoot v1.3.0 - richardaburton@gmail.com
Flash Size:   32 Mbit
Flash Mode:   QIO
Flash Speed:  40 MHz
rBoot Option: Big flash
rBoot Option: RTC data

Booting rom 0.
< hier stehen 2 Zeilen Kauderwelsch, die das Einfügen des kompletten Logs verhindern >
==========

Registered storage devices:
  spiFlash: type flash, size 0x400000. Partitions:
    spiFlash/rom0, app/ota0 @ 0x2000, size 0xfe000
    spiFlash/lfs0, data/littlefs @ 0x106000, size 0xf8000
    spiFlash/rom1, app/ota1 @ 0x202000, size 0xfe000
    spiFlash/lfs1, data/littlefs @ 0x300000, size 0xf8000
    spiFlash/rf_cal, data/rfCal @ 0x3fb000, size 0x1000
    spiFlash/phy_init, data/phy @ 0x3fc000, size 0x1000
    spiFlash/sys_param, data/sysParam @ 0x3fd000, size 0x3000



Registered storage devices:
  spiFlash: type flash, size 0x400000. Partitions:
    spiFlash/rom0, app/ota0 @ 0x2000, size 0xfe000
    spiFlash/lfs0, data/littlefs @ 0x106000, size 0xf8000
    spiFlash/rom1, app/ota1 @ 0x202000, size 0xfe000
    spiFlash/lfs1, data/littlefs @ 0x300000, size 0xf8000
    spiFlash/rf_cal, data/rfCal @ 0x3fb000, size 0x1000
    spiFlash/phy_init, data/phy @ 0x3fc000, size 0x1000
    spiFlash/sys_param, data/sysParam @ 0x3fd000, size 0x3000


sleep disable
mode : sta(5c:cf:7f:a2:ea:23)
add if0
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt

connected with HnT1, channel 6
dhcp client start...
ip:192.168.178.118,mask:255.255.255.0,gw:192.168.178.1
pm open,type:0 0
Fatal exception 0(IllegalInstructionCause):
epc1=0x4000e296, epc2=0x00000000, epc3=0x4000dea1, excvaddr=0x00000000, depc=0x00000000þ
 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 1948, room 16
tail 12
chksum 0x37
ho 0 tail 12 room 4
load 0x3ffe8000, len 772, room 12
tail 8
chksum 0x6c
csum 0x6c

rBoot v1.3.0 - richardaburton@gmail.com
Flash Size:   32 Mbit
Flash Mode:   QIO
Flash Speed:  40 MHz
rBoot Option: Big flash
rBoot Option: RTC data

Booting rom 0.

usw. Wiederholt sich dann jede Minute

Mafi

Ich habe gerade nochmal explizit die Debugversion auf den Controller gespielt (OTA) und die ist ja noch gewaltig gesprächiger. Kann man vermutlich noch mehr mit anfangen:

***** Fatal exception 0 (ILLEGAL)
pc=0x4000e296 sp=0x3ffffed0 excvaddr=0x00000000
ps=0x00000030 sar=0x00000010 vpri=0x401012c6
r00: 0x4021ff0c=1075969804 r01: 0x3ffffed0=1073741520 r02: 0x13b31c20= 330505248
r03: 0x00000000=         0 r04: 0x00000002=         2 r05: 0x00000014=        20
r06: 0xffffffff=-         1 r07: 0x010000e0=  16777440 r08: 0xf7ffffff=- 134217729
r09: 0x00000000=         0 r10: 0x3ffef27c=1073672828 r11: 0xfb0000e0=-  83885856
r12: 0x3fff2cd0=1073687760 r13: 0x00000001=         1 r14: 0x3fff2cd0=1073687760
r15: 0x3ffec1b8=1073660344

Stack dump:
To decode the stack dump call from command line:
   make decode-stacktrace
and copy & paste the text enclosed in '===='.

================================================================
3ffffed0:  3ffee088 3fff2998 3fff2828 4022023a 
3ffffee0:  3ffed980 00000006 00000000 3fffdab0 
3ffffef0:  3ffef27c 3fff2818 00000185 40223071 
3fffff00:  3ffe0000 00000024 0000002a 3fff2828 
3fffff10:  3ffec1a4 3ffef268 3ffef270 4021f828 
3fffff20:  00000014 005e0001 3fff2998 3ffec17c 
3fffff30:  00000000 3fff2828 0000001c 3ffec196 
3fffff40:  3fffdc80 3fff2828 3fff2998 4021f37c 
3fffff50:  00000050 3ffeea18 00000000 00000030 
3fffff60:  00000018 3fff4b60 00000002 402320d3 
3fffff70:  3ffed9f8 3ffec170 3fffdcc0 3ffea080 
3fffff80:  40232046 3ffed9f8 00000000 3fff2a98 
3fffff90:  3fffdc80 00000000 3fff2828 4021e10b 
3fffffa0:  40000f49 3fffdab0 3fffdab0 40000f49 

================================================================
To decode the stack dump call from command line:
   make decode-stacktrace
and copy & paste the text enclosed in '===='.


***** Software Watchdog Reset

Stack dump:
To decode the stack dump call from command line:
   make decode-stacktrace
and copy & paste the text enclosed in '===='.

================================================================
3ffffdc0:  3ffffde0 00000036 3ffffdd0 400005e1 <
3ffffdd0:  4000e296 00000030 00000010 401012c6 
3ffffde0:  4021ff0c 13b31c20 00000000 00000002 
3ffffdf0:  00000014 ffffffff 010000e0 f7ffffff 
3ffffe00:  00000000 3ffef27c fb0000e0 3fff2cd0 
3ffffe10:  00000001 3fff2cd0 3ffec1b8 00000000 
3ffffe20:  0000001f 0357608f 3ffee154 4010570c 
3ffffe30:  3ffea840 00000000 00000000 3ffee154 
3ffffe40:  0000001f 0357608f 40105bd6 00000100 
3ffffe50:  3ffea840 00002200 7fffffff 00000001 
3ffffe60:  00000001 00004208 0000001a ffffffff 
3ffffe70:  4020af29 3ffea840 0357608f 3ffea84c 
3ffffe80:  00000000 2c9f0300 4000050c 00000000 
3ffffe90:  3fffc278 401058e8 3fffc200 00000022 
3ffffea0:  00000000 10ad291a 4020fb32 3fff4548 
3ffffeb0:  40212ae1 00000030 00000007 ffffffff 
3ffffec0:  4021fefa 00000000 00000020 00000000 
3ffffed0:  3ffee088 3fff2998 3fff2828 4022023a 
3ffffee0:  3ffed980 00000006 00000000 3fffdab0 
3ffffef0:  3ffef27c 3fff2818 00000185 40223071 
3fffff00:  3ffe0000 00000024 0000002a 3fff2828 
3fffff10:  3ffec1a4 3ffef268 3ffef270 4021f828 
3fffff20:  00000014 005e0001 3fff2998 3ffec17c 
3fffff30:  00000000 3fff2828 0000001c 3ffec196 
3fffff40:  3fffdc80 3fff2828 3fff2998 4021f37c 
3fffff50:  00000050 3ffeea18 00000000 00000030 
3fffff60:  00000018 3fff4b60 00000002 402320d3 
3fffff70:  3ffed9f8 3ffec170 3fffdcc0 3ffea080 
3fffff80:  40232046 3ffed9f8 00000000 3fff2a98 
3fffff90:  3fffdc80 00000000 3fff2828 4021e10b 
3fffffa0:  40000f49 3fffdab0 3fffdab0 40000f49 

================================================================
To decode the stack dump call from command line:
   make decode-stacktrace
and copy & paste the text enclosed in '===='.


Das komplette Log einer Minute kann ich hier irgendwie nicht einfügen. Vermutlich zu lang. Daher hänge ich es mal als Datei an.

pjakobs

das ist echt seltsam, das ist einfach ne illegal instruction, wenn ich das richtig sehe.
Und es wird scheinbar nicht durch irgendwas getriggert (jedenfalls durch nichts, was eine logzeile ausgibt).

Ich hoffe, dass ich morgen einen neuen Build fertig krieg, wenn das mit dem auch noch passiert, dann kann ich auch mit dem Stacktrace was anfangen (im Moment hab ich schon zu viele Änderungen drin, das passt nicht mehr).