Stránka 1 z 1

WEMOS D1 - opakovaný restart

Napsal: 03 čer 2019, 14:07
od ohruska
Zdravím.
Při programování WEMOS D1, když použiji přerušení, tak se po startu deska hned restartuje.
Prostředi 1.8.5 a poslední aktualizace desek ESP8266.
Na stolním počítači, kde je stejné prostředí 1.8.5, ale ovladače pro desky ESP8266 byly nahrány již dříve, mě to funguje.
Neporadí někdo, kde by mohla být chyba?

Ota

Re: WEMOS D1 - opakovaný restart

Napsal: 03 čer 2019, 14:39
od jankop
No, pro aktuální jádro Arduino ESP8266 se uvádí:
Nainstalujte aktuální Arduino IDE na úrovni 1.8.7 nebo novější.
Jestli to třeba nebude tím.

Re: WEMOS D1 - opakovaný restart

Napsal: 03 čer 2019, 17:51
od ohruska
Nová verze nepomohla.
Abort called

>>>stack>>>

ctx: cont
sp: 3ffffdb0 end: 3fffffc0 offset: 01b0
3fffff60: 3ffe8572 00000001 3ffee258 402012f5
3fffff70: 3ffe8566 00000001 3ffee258 3ffee2b0
3fffff80: 3fffdad0 00000000 3ffee258 40100452
3fffff90: feefeffe 00000000 3ffee258 4020109c
3fffffa0: feefeffe feefeffe 3ffee280 402017a4
3fffffb0: feefeffe feefeffe 3ffe84f4 4010073d
<<<stack<<<

⸮t⸮KV⸮⸮L ⸮t%⸮⸮X⸮
ISR not in IRAM!

Re: WEMOS D1 - opakovaný restart

Napsal: 03 čer 2019, 18:16
od jankop
No asi nějaký problém existuje:
https://github.com/esp8266/Arduino/issues/6127

Re: WEMOS D1 - opakovaný restart

Napsal: 03 čer 2019, 20:12
od ohruska
Nahrál jsem starší verzi ovladačů pro desky ESP8266 a funguje to.
Díky za pomoc.
Ota

Re: WEMOS D1 - opakovaný restart

Napsal: 04 čer 2019, 11:40
od HaT
Pokud se jedná o chybu 'ISR not in IRAM!' tak to není chyba ale featura :-). Pročítal jsem fóra a jde o to, že od nové verze ESP8266 library je striktně vyžadováno aby callback funkce pro přerušení byla ICACHE_RAM_ATTR. Stačí tedy do kódu přidat ICACHE_RAM_ATTR pro všechny fce volané z přerušení. Z oficial githubu:

The fix is: add ICACHE_RAM_ATTR just before all functions called from an interrupt (attach_interrupt)


Dříve to prý nebylo striktně vyžadováno (i když správně to tak má být) a prý to sem tam působilo nečekané restarty. Tak se rozhodli tento parametr od nové verze striktně vyžadovat...