#PineDio Stack's CST816S Touch Panel is a peculiar I2C Device ... It won't respond to I2C Scan unless we tap the screen and wake it up!
Tapping the screen on #PineDio Stack #BL604 ... Correctly triggers a GPIO Interrupt on #NuttX RTOS! 🎉
https://github.com/lupyuen/cst816s-nuttx#test-gpio-interrupt
LVGL Test App calls read() repeatedly on #PineDio Stack's Touch Panel Driver to get Touch Data ... But it should call poll() instead to block on Touch Data 🤔
But for Touch Up Events the Touch Coordinates are invalid ... Our #PineDio Stack driver patches the Touch Coordinates with the data from the last Touch Down Event
#PineDio Stack's CST816S Touch Panel seems elusive ... Thanks to PineTime we know everything now!
https://lupyuen.github.io/articles/touch?2#cst816s-touch-panel
What's inside a #NuttX Touchscreen Driver
https://lupyuen.github.io/articles/touch?4#nuttx-touchscreen-drivers
Initialising the Touch Panel Driver on #PineDio Stack #BL604
https://lupyuen.github.io/articles/touch?8#initialise-driver
Testing the GPIO Interrupt that's triggered ... When we tap #PineDio Stack's CST816S Touch Panel
https://lupyuen.github.io/articles/touch?10#test-gpio-interrupt
Here's the Touch Data returned by #PineDio Stack's CST816S Touch Panel
https://lupyuen.github.io/articles/touch?11#fetch-touch-data
Reading the Touch Data from #PineDio Stack's CST816S Touch Panel
https://lupyuen.github.io/articles/touch?12#get-i2c-touch-data
We prevent unnecessary I2C Reads in #PineDio Stack's Touch Panel Driver ... By checking whether the screen has been touched
Our #NuttX App reads the data from #PineDio Stack's Touch Panel
https://lupyuen.github.io/articles/touch?17#read-touch-data-1
How #PineDio Stack's Touch Panel handles a Touch Down Event in #NuttX RTOS
https://lupyuen.github.io/articles/touch?18#touch-down-event
#PineDio Stack's display is rotated sideways ... But we can fix this!
https://lupyuen.github.io/articles/touch?20#screen-is-sideways
#BL602 GPIO Expander for Apache #NuttX RTOS ... Coming up next!
https://lupyuen.github.io/articles/touch?23#appendix-gpio-interrupt