SPMA082 August   2021 TM4C1230C3PM , TM4C1230D5PM , TM4C1230E6PM , TM4C1230H6PM , TM4C1231C3PM , TM4C1231D5PM , TM4C1231D5PZ , TM4C1231E6PM , TM4C1231E6PZ , TM4C1231H6PGE , TM4C1231H6PM , TM4C1231H6PZ , TM4C1232C3PM , TM4C1232D5PM , TM4C1232E6PM , TM4C1232H6PM , TM4C1233C3PM , TM4C1233D5PM , TM4C1233D5PZ , TM4C1233E6PM , TM4C1233E6PZ , TM4C1233H6PGE , TM4C1233H6PM , TM4C1233H6PZ , TM4C1236D5PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PZ , TM4C123AE6PM , TM4C123AH6PM , TM4C123BE6PM , TM4C123BE6PZ , TM4C123BH6PGE , TM4C123BH6PM , TM4C123BH6PZ , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD

 

  1.   Trademarks
  2. 1TFT LCD Overview
    1. 1.1 Typical Interfaces
    2. 1.2 Frame Buffer
      1. 1.2.1 Frame Buffer Size Calculation
    3. 1.3 Frame Rate (FPS)
    4. 1.4 Touch Display
  3. 2LCD Controller Overview
    1. 2.1 Block Diagram
      1. 2.1.1 Raster Controller
      2. 2.1.2 LIDD Controller
  4. 3TivaWare Graphics Library (grlib)
    1. 3.1 Graphics Library Structure
      1. 3.1.1 Display Driver Overview
      2. 3.1.2 Low-Level Primitive Graphics API Overview
      3. 3.1.3 Widget API Overview
      4. 3.1.4 Input Driver Overview
  5. 4Display Driver Adaptation
    1. 4.1 Off-Screen Display Drivers
    2. 4.2 Individual Display Driver Functions
      1. 4.2.1 Init
      2. 4.2.2 ColorTranslate
      3. 4.2.3 PixelDraw
      4. 4.2.4 PixelDrawMultiple
      5. 4.2.5 LineDrawH
      6. 4.2.6 LineDrawV
      7. 4.2.7 RectFill
      8. 4.2.8 Flush
  6. 5Fonts
    1. 5.1 Creating Custom Fonts for Different Languages
  7. 6Useful Utilities
    1. 6.1 Pnmtoc
    2. 6.2 mkstringtable and ftrasterize
  8. 7References
  9.   A Appendix A

Input Driver Overview

The input driver, like the display driver, is responsible for managing a block of hardware and translating user interaction into a standard format that the widget manager can understand. An application will not typically call the input driver other than during startup when a call is made to initialize the device.

For more information, see the call log in Figure 3-4 and Figure 3-5. Each box corresponds to a specific graphics library layer after a button is pressed on the display for the hello_widget example.

  1. Input driver. For more information, see Figure 1-6(B) where the display module does not have its own touch controller. Resistive touchscreen displays are composed of multiple layers that are separated by thin spaces. Pressure applied to the surface of the display by fingers causes the layers to touch, which completes electrical circuits and tells the device where the user is touching. Refer to the source code of TouchScreenIntHandler() and TouchScreenDebouncer() drivers where a touch algorithm is implemented using GPIO and ADC to determine the position on the display that was touched.
  2. Widget manager. A detection of a touch action causes ADC to sample the position of the touch and sends a message with a specific message type (WIDGET_MSG_PTR_UP message indicating the pointer/finger is now up/released) to the widget manager. Multiple messages could be added to the message queue for processing.
  3. Widget manager. The widget manager constantly polls for messages to handle. When a message is received, it sends a message to the entire widget tree.
  4. Push button widget class. In this call log, the widget manager routes the message to the push button widget.
  5. Low-level primitive. A low-level primitive is called to render text on the screen. The hello_widget is designed to add new text on the display after the display is touched.
  6. Display driver. The lowest level display driver function is invoked to render text using the PixelDraw function.
GUID-20210607-CA0I-7ZQW-ZBJB-PZ3DBS1M3Q3V-low.jpg Figure 3-4 Input Driver Creating Message Request
GUID-20210607-CA0I-HKD0-RK7X-ZLHHCGDQZ4K9-low.jpg Figure 3-5 Widget Manager Responds to Message Request