What's inside #PinePhone's Touch Panel ... And how we created the driver for Apache #NuttX RTOS ... All shall be explained in this article
#PinePhone's Touch Panel is Goodix GT917S ... Connected via I2C and GPIO
Article: https://lupyuen.github.io/articles/touch2?2#goodix-gt917s-touch-panel
#PinePhone Touch Panel is undocumented ... So we decipher the official Android driver
Article: https://lupyuen.github.io/articles/touch2?2#goodix-gt917s-touch-panel
Let's poll #PinePhone Touch Panel for Touch Data ... Before we switch to #NuttX Interrupts
Article: https://lupyuen.github.io/articles/touch2?4#poll-the-touch-panel
How we attach a #NuttX Interrupt Handler to #PinePhone Touch Panel
Article: https://lupyuen.github.io/articles/touch2?6#attach-our-interrupt-handler
#PinePhone Touch Panel fires too many Interrupts! We need to throttle them
Article: https://lupyuen.github.io/articles/touch2?6#attach-our-interrupt-handler
Let's throttle the Interrupts from #PinePhone Touch Panel ... So #NuttX RTOS doesn't get overwhelmed
Article: https://lupyuen.github.io/articles/touch2?7#handle-interrupts-from-touch-panel
Simple test of our Interrupt Handler for #PinePhone Touch Panel ... On Apache #NuttX RTOS
Article: https://lupyuen.github.io/articles/touch2?8#test-our-interrupt-handler
We create a #NuttX Kernel Driver for #PinePhone Touch Panel
Article: https://lupyuen.github.io/articles/touch2?9#nuttx-touch-panel-driver
We register our #NuttX Driver for #PinePhone Touch Panel at "/dev/input0"
Article: https://lupyuen.github.io/articles/touch2?10#register-touch-panel-driver
Reading a Touch Sample from our #NuttX Driver for #PinePhone Touch Panel
Article: https://lupyuen.github.io/articles/touch2?11#read-a-touch-sample
Here's how we configure #LVGL on #PinePhone for Apache #NuttX RTOS ... Don't forget lv_port_tick!
Article: https://lupyuen.github.io/articles/touch2?12#lvgl-calls-our-driver
How #LVGL calls our #NuttX Driver to read #PinePhone's Touch Panel
Article: https://lupyuen.github.io/articles/touch2?15#lvgl-calls-our-driver
Creating our own #LVGL Touchscreen Apps for #PinePhone and Apache #NuttX RTOS
Article: https://lupyuen.github.io/articles/touch2?15#lvgl-calls-our-driver
Our #NuttX Driver for #PinePhone Touch Panel has these Limitations
Article: https://lupyuen.github.io/articles/touch2?16#driver-limitations
Everything we know about the Capacitive Touch Panel inside #PinePhone @PINE64 ... And how we created the driver for Apache #NuttX RTOS
@lupyuen hello, thanks for all this doc!
Do you have an idea why the touchpanel is always generating an interrupt? It defeats interput purpose...
@oliv Thanks! Yep the non-stop interrupts is a total mystery to me too.
PinePhone's Touch Panel isn't documented, so we need to decipher the official Android Driver to see it can fix the interrupts...
https://github.com/goodix/gt9xx_driver_android/blob/master/gt9xx.c
Here's how we read a Touch Point from #PinePhone Touch Panel
Article: https://lupyuen.github.io/articles/touch2?5#read-a-touch-point