Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISR not in IRAM #102

Closed
starfish1107 opened this issue May 20, 2019 · 7 comments
Closed

ISR not in IRAM #102

starfish1107 opened this issue May 20, 2019 · 7 comments

Comments

@starfish1107
Copy link

have problems with my
older version of weatherstation colour kit with wemos d1 mini 4M.
clean reinstall arduino ide, compiling and flashing (master, Latest commit 2133809 on 24 Feb) according step by step tutorial
the device is looping / restarting , serial monitor shows:

Connecting to WiFi home1/a1b2c3d4e5
.........Connected...Initializing touch screen...
ISR not in IRAM!

any idea how to get it working?

@starfish1107 starfish1107 changed the title ISR not inIRAM ISR not in IRAM May 20, 2019
@G6EJD
Copy link

G6EJD commented May 20, 2019

I think you may be using ESP8266 core 2.5.0 and in that build ISR’s now have to be located in IRAM, if so try downgrading your IDE to say 2.4.2 either that or add the IRAM prefix / macro to tell the compiler to place the ISR into IRAM.

@marcelstoer
Copy link
Member

try downgrading your IDE to say 2.4.2

Not the IDE, but the ESP8266 toolchain i.e. ESP8266 Arduino core as per https://docs.thingpulse.com/guides/wifi-color-display-kit/#install-the-esp8266-toolchain. We will upgrade our code to be compatible with 2.5.x in the following weeks.

@starfish1107
Copy link
Author

youre right - now it works again thanks guys.

@manj9501
Copy link

manj9501 commented Dec 24, 2019

There's one more solution, a more correct one.
You can add modify the declaration of Interrupt Service Routine at line 31 in
XPT2046_Touchscreen.cpp after installing the XPT2046_Touchscreen library and change it to
void ICACHE_RAM_ATTR isrPin(void);
from
void isrPin(void);
This works without the need to downgrade your ESP8266 core.

@marcelstoer
Copy link
Member

That is an issue with the touch library this app depends upon. Please leave a comment at PaulStoffregen/XPT2046_Touchscreen#24 (comment) asking the maintainer to please release the fix he committed to master back in June.

@MagnusThome
Copy link

Manually updated the https://github.com/PaulStoffregen/XPT2046_Touchscreen/ since it isn't updated from the Arduino IDE library manager. Seem to work fine now :-)

@marcelstoer
Copy link
Member

See my previous comment. If enough people ask for a new release the maintainer may eventually create one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants