- Thu Sep 10, 2020 6:14 am
#88736
I am aware of the need to keep isr short and that some functions can't be used safely in them.
However, in some cases just setting a flag does not work, particularly if one is using an isr to have servicing operational in the background and need to do things like simple i/o or time measurement. Many of my esp8266 applications do use isr (timer and input triggered) without problems.
In this instance pinMode is a low level basic function that used to work in an isr until a change was made in Dec 2019 to a macro in the esp8266 core support that meant that it was making a reference to program memory rather than the small RAM look up table it was using previously. I had an application that had been running successfully for several years but a recompile with the latest esp8266 broke it. Details were spelt out in the github issue that I raised.