Touchscreen Device Drivers¶
NuttX supports a two-part touchscreen driver architecture.
An “upper half”, generic driver that provides the common touchscreen interface to application level code, and
A “lower half”, platform-specific driver that implements the low-level touchscreen controls to implement the touchscreen functionality.
Files supporting the touchscreen controller (TSC) driver can be found in the following locations:
Interface Definition. The header files for NuttX touchscreen drivers reside in the
include/nuttx/include/inputdirectory. The interface between the touchscreen controller “upper half” and “lower half” drivers are not common, but vary from controller-to-controller. Because of this, each touchscreen driver has its own unique header file that describes the “upper half”/”lower half” interface in that directory. The application level interface to each touchscreen driver, on the other hand, is the same for each touchscreen driver and is described
include/nuttx/include/input/touchscreen.h. The touchscreen driver uses a standard character driver framework but read operations return specially formatted data.
“Upper Half” Driver. The controller-specific, “upper half” touchscreen drivers reside in the directory
“Lower Half” Drivers. Platform-specific touchscreen drivers reside in either: (1) The
/src/<hardware> directory for the processor architectures that have build in touchscreen controllers or (2) the
/src/directory for boards that use an external touchscreen controller chip.