You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have read the documentation at readthedocs and the issue is not addressed there.
I have tested that the issue is present in current master branch (aka latest git).
I have searched the issue tracker for a similar issue.
If there is a stack dump, I have decoded it.
I have filled out all fields below.
Platform / Settings in IDE
Deleted because doesn't matter here (any of these should lead to the same result AFAIK, but happy to provide if necessary.)
Problem Description
interruptFunctional in FunctionInterrupt should probably have the ICACHE_RAM_ATTR attribute set. Right now it appears the function is linked into the normal flash section. And because this is (always) called from an ISR that will fail.
#include<Arduino.h>
#include<FunctionalInterrupt.h>voidsetup() {
// doesn't work reliably, my guess the function is pre-cached somehow and so// no interrupt for reading it into cache needs to be called?// I don't have the experience to say.attachInterrupt(D1, [](){}, CHANGE);
}
voidloop() {}
Basic Infos
Platform / Settings in IDE
Deleted because doesn't matter here (any of these should lead to the same result AFAIK, but happy to provide if necessary.)
Problem Description
interruptFunctional
inFunctionInterrupt
should probably have theICACHE_RAM_ATTR
attribute set. Right now it appears the function is linked into the normal flash section. And because this is (always) called from an ISR that will fail.Arduino/cores/esp8266/FunctionalInterrupt.cpp
Lines 14 to 26 in 9790e1c
MCVE Sketch
Exception decode
See full stacktrace here: esphome/issues#61 (comment) (original report)
The important part is here:
ICACHE_RAM_ATTR
error.0x4010C000
as seen here.interruptFunctional
- so the error is likely there (I don't think the compiler can inline anything here)The text was updated successfully, but these errors were encountered: