Library to control a Graphics TFT connected to 4-wire SPI - revised for the Raio RA8875 Display Controller.

Dependents:   FRDM_RA8875_mPaint RA8875_Demo RA8875_KeyPadDemo SignalGenerator ... more

Fork of SPI_TFT by Peter Drescher

See Components - RA8875 Based Display

Enhanced touch-screen support - where it previous supported both the Resistive Touch and Capacitive Touch based on the FT5206 Touch Controller, now it also has support for the GSL1680 Touch Controller.

Offline Help Manual (Windows chm)

/media/uploads/WiredHome/ra8875.zip.bin (download, rename to .zip and unzip)

Committer:
WiredHome
Date:
Fri Dec 26 21:34:28 2014 +0000
Revision:
77:9206c13aa527
Child:
175:7be3a1fb7fc2
Functioning touch panel updates - added method for calibration and a new API to get the touch in the "display" coordinate system.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WiredHome 77:9206c13aa527 1 //
WiredHome 77:9206c13aa527 2 // RA8875 Display Controller Register Definitions.
WiredHome 77:9206c13aa527 3 //
WiredHome 77:9206c13aa527 4 //
WiredHome 77:9206c13aa527 5 #ifndef RA8875_REGS_H
WiredHome 77:9206c13aa527 6 #define RA8875_REGS_H
WiredHome 77:9206c13aa527 7
WiredHome 77:9206c13aa527 8 // Touch Panel public macros
WiredHome 77:9206c13aa527 9
WiredHome 77:9206c13aa527 10 /* Touch Panel Enable/Disable Reg TPCR0[7] */
WiredHome 77:9206c13aa527 11 #define TP_ENABLE ((uint8_t)(1<<7))
WiredHome 77:9206c13aa527 12 #define TP_DISABLE ((uint8_t)(0<<7))
WiredHome 77:9206c13aa527 13
WiredHome 77:9206c13aa527 14 /* Touch Panel operating mode Reg TPCR1[6] */
WiredHome 77:9206c13aa527 15 #define TP_MODE_AUTO ((uint8_t)(0<<6))
WiredHome 77:9206c13aa527 16 #define TP_MODE_MANUAL ((uint8_t)(1<<6))
WiredHome 77:9206c13aa527 17
WiredHome 77:9206c13aa527 18 /* Touch Panel debounce Reg TPCR1[2] */
WiredHome 77:9206c13aa527 19 #define TP_DEBOUNCE_OFF ((uint8_t)(0<<2))
WiredHome 77:9206c13aa527 20 #define TP_DEBOUNCE_ON ((uint8_t)(1<<2))
WiredHome 77:9206c13aa527 21
WiredHome 77:9206c13aa527 22 /* Touch Panel manual modes Reg TPCR1[1:0] */
WiredHome 77:9206c13aa527 23 #define TP_MANUAL_IDLE 0
WiredHome 77:9206c13aa527 24 #define TP_MANUAL_WAIT 1
WiredHome 77:9206c13aa527 25 #define TP_MANUAL_LATCH_X 2
WiredHome 77:9206c13aa527 26 #define TP_MANUAL_LATCH_Y 3
WiredHome 77:9206c13aa527 27
WiredHome 77:9206c13aa527 28 /* Touch Panel ADC Clock modes Reg TPCR0[2:0] */
WiredHome 77:9206c13aa527 29 #define TP_ADC_CLKDIV_1 0
WiredHome 77:9206c13aa527 30 #define TP_ADC_CLKDIV_2 1
WiredHome 77:9206c13aa527 31 #define TP_ADC_CLKDIV_4 2
WiredHome 77:9206c13aa527 32 #define TP_ADC_CLKDIV_8 3
WiredHome 77:9206c13aa527 33 #define TP_ADC_CLKDIV_16 4
WiredHome 77:9206c13aa527 34 #define TP_ADC_CLKDIV_32 5
WiredHome 77:9206c13aa527 35 #define TP_ADC_CLKDIV_64 6
WiredHome 77:9206c13aa527 36 #define TP_ADC_CLKDIV_128 7
WiredHome 77:9206c13aa527 37
WiredHome 77:9206c13aa527 38
WiredHome 77:9206c13aa527 39 /* Touch Panel Sample Time Reg TPCR0[6:4] */
WiredHome 77:9206c13aa527 40 #define TP_ADC_SAMPLE_512_CLKS ((uint8_t)(0<<4))
WiredHome 77:9206c13aa527 41 #define TP_ADC_SAMPLE_1024_CLKS ((uint8_t)(1<<4))
WiredHome 77:9206c13aa527 42 #define TP_ADC_SAMPLE_2048_CLKS ((uint8_t)(2<<4))
WiredHome 77:9206c13aa527 43 #define TP_ADC_SAMPLE_4096_CLKS ((uint8_t)(3<<4))
WiredHome 77:9206c13aa527 44 #define TP_ADC_SAMPLE_8192_CLKS ((uint8_t)(4<<4))
WiredHome 77:9206c13aa527 45 #define TP_ADC_SAMPLE_16384_CLKS ((uint8_t)(5<<4))
WiredHome 77:9206c13aa527 46 #define TP_ADC_SAMPLE_32768_CLKS ((uint8_t)(6<<4))
WiredHome 77:9206c13aa527 47 #define TP_ADC_SAMPLE_65536_CLKS ((uint8_t)(7<<4))
WiredHome 77:9206c13aa527 48
WiredHome 77:9206c13aa527 49 /* RA8875 interrupt enable/flag/clear masks */
WiredHome 77:9206c13aa527 50 #define RA8875_INT_KEYSCAN ((uint8_t)(1<<4)) /**< KEYSCAN interrupts */
WiredHome 77:9206c13aa527 51 #define RA8875_INT_DMA ((uint8_t)(1<<3)) /**< DMA interrupts */
WiredHome 77:9206c13aa527 52 #define RA8875_INT_TP ((uint8_t)(1<<2)) /**< Touch panel interrupts */
WiredHome 77:9206c13aa527 53 #define RA8875_INT_BTE ((uint8_t)(1<<1)) /**< BTE process complete interrupts */
WiredHome 77:9206c13aa527 54 #define RA8875_INT_BTEMCU_FONTWR ((uint8_t)(1<<0)) /**< BTE-MCU-R/W or Font-Write interrupts */
WiredHome 77:9206c13aa527 55
WiredHome 77:9206c13aa527 56 #endif // RA8875_REGS_H