-
@gemu2015 please have a look at https://1drv.ms/f/s!AtbeSEYWgNo0vCq8YEgVKTLVTZPT?e=gieL53 to help as expert. First see video as problem description. Problem is reproductional but not always at same timing. Looks to me like stack overflow or something similar. The jpg-file shows the subroutine call flows. File console log shows first part with exception 28 and stack/heap/ram/slen in line 25. If you need to look into the script please see script file. This is my 1st script and I do not know the limits a several figures to recognize the reason of the problem. Can you say how many subroutine call levels are allowed? Is the call of an intrinsic function, e.g. s(x) like a subroutine call? How counts a command call per =>command? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
Hallo wir können hier gerne in Deutsch kommunizieren Das sieht so aus als ob du Probleme mit dem Textkompressor hast. Wenn die scripte etwas größer werden kann es sein dass der Unishox Kompressor Fehler macht. (der ist eigentlich nur für kurze Texte gedacht) Bei Tasmotas mit Dateisystem nimmst du am besten eine Scriptbuffer Größe ohne Kompressor z.B. #define UFSYS_SIZE 4096 Bei 1M Flashsystem den Spezialmodus #define USE_EEPROM bei beiden Modi wird kein Kompressor verwendet. Was den Stack angeht zählen nur die Script Subroutinen (=#sub) dort würde ich nicht mehr als 2 Schachtelungen vornehmen. Das Zurückgeben mit ´return´ funktioniert zwar erzeugt aber einen zusätzlichen Stackframe, also besser vermeiden. Gruß |
Beta Was this translation helpful? Give feedback.
-
Hier noch ein paar Schritte von mir nach deiner Antwort, die dich hoffentlich auch interessieren:
|
Beta Was this translation helpful? Give feedback.
2a.
subroutine in >W
%=#sub
bei 4M Flash devices ist das kein Problem da wird kein Kompressor verwendet.
bei den 1M devices hat dieser spezielle 8k modus das Problem dass er eben 8k RAM braucht im Gegensatz zu 2.56k und bei OTA Firmware updates kann das script gelegentlich gelöscht werden und muss neu übertragen werden
wenn bei dir Variablen plötzlich gelöscht werden stimmt sicher etwas nicht. auch Abstürze sollte es nicht geben. Ich betreibe sehr komplexe scripte schon seit Jahren ohne jeden Absturz.
da es kein…