I wasnt quite sure where to ask this.
I've got a project using the adafruit 1.8" tft display with the adafruit libraries (the basis of the current arduino tft library). Its all working fine, but when you update the display over SPI, the code is effectively blocking. Writing say 16 characters has a loop execution time of ~70 milli seconds.
Now, Im also using a button to control a menu, capturing two events; short press & long press, with a debounce function in both software and hardware.
My worry is that as my display gets busier, theres a risk the SPI activity could block my ability to detect short button press events (ie two successive short presses could be mistaken for a single long press).
Has anyone come across this before? If so, how did you resolve it?
Im starting to think I might have to capture button events using interrupts, rather than just using the interrupt as a 'wake up' function....of course that then begs the question would the interrupt actually pause the SPI activity. questions... always questions ;)