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
Parent:
42:7cbdfd2bbfc5
Child:
79:544eb4964795
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 31:c72e12cd5c67 1 #ifndef DISPLAYDEFS_H
WiredHome 31:c72e12cd5c67 2 #define DISPLAYDEFS_H
WiredHome 31:c72e12cd5c67 3
WiredHome 32:0e4f2ae512e2 4 #define RGB(r,g,b) ( ((r<<8)&0xF800) | ((g<<3)&0x07E0) | (b>>3) )
WiredHome 32:0e4f2ae512e2 5
WiredHome 31:c72e12cd5c67 6 typedef uint16_t color_t;
WiredHome 31:c72e12cd5c67 7
WiredHome 31:c72e12cd5c67 8 /// return values from functions
WiredHome 31:c72e12cd5c67 9 typedef enum
WiredHome 31:c72e12cd5c67 10 {
WiredHome 31:c72e12cd5c67 11 noerror, ///< no errors, command completed successfully
WiredHome 77:9206c13aa527 12 no_touch = noerror,
WiredHome 31:c72e12cd5c67 13 bad_parameter, ///< one or more parameters are invalid
WiredHome 31:c72e12cd5c67 14 file_not_found, ///< specified file could not be found
WiredHome 42:7cbdfd2bbfc5 15 not_bmp_format, ///< file is not a .bmp file
WiredHome 42:7cbdfd2bbfc5 16 not_ico_format, ///< file is not a .ico file
WiredHome 31:c72e12cd5c67 17 not_supported_format, ///< file format is not yet supported
WiredHome 31:c72e12cd5c67 18 image_too_big, ///< image is too large for the screen
WiredHome 31:c72e12cd5c67 19 not_enough_ram, ///< could not allocate ram for scanline
WiredHome 77:9206c13aa527 20 touch,
WiredHome 31:c72e12cd5c67 21 } RetCode_t;
WiredHome 31:c72e12cd5c67 22
WiredHome 37:f19b7e7449dc 23 /// type that manages locations, which is typically an x or y pixel location,
WiredHome 37:f19b7e7449dc 24 /// which can range from -N to +N (even if the screen is 0 to +n). @see textloc_t.
WiredHome 37:f19b7e7449dc 25 typedef int16_t loc_t;
WiredHome 37:f19b7e7449dc 26
WiredHome 37:f19b7e7449dc 27 /// type that manages text locations, which are row or column values in
WiredHome 37:f19b7e7449dc 28 /// units of character, not pixel. @see loc_t.
WiredHome 37:f19b7e7449dc 29 typedef uint16_t textloc_t;
WiredHome 37:f19b7e7449dc 30
WiredHome 37:f19b7e7449dc 31 /// type that manages dimensions of width or height, which range from 0 to N.
WiredHome 37:f19b7e7449dc 32 typedef uint16_t dim_t;
WiredHome 37:f19b7e7449dc 33
WiredHome 32:0e4f2ae512e2 34 /// type that manages x,y pairs
WiredHome 32:0e4f2ae512e2 35 typedef struct
WiredHome 32:0e4f2ae512e2 36 {
WiredHome 37:f19b7e7449dc 37 loc_t x; ///< x value in the point
WiredHome 37:f19b7e7449dc 38 loc_t y; ///< y value in the point
WiredHome 32:0e4f2ae512e2 39 } point_t;
WiredHome 32:0e4f2ae512e2 40
WiredHome 77:9206c13aa527 41 typedef struct
WiredHome 77:9206c13aa527 42 {
WiredHome 77:9206c13aa527 43 int32_t An, Bn, Cn, Dn, En, Fn, Divider;
WiredHome 77:9206c13aa527 44 } tpMatrix_t;
WiredHome 77:9206c13aa527 45
WiredHome 32:0e4f2ae512e2 46 /// color type definition to let the compiler help keep us honest.
WiredHome 32:0e4f2ae512e2 47 ///
WiredHome 32:0e4f2ae512e2 48 /// colors can be defined with the RGB(r,g,b) macro, and there
WiredHome 32:0e4f2ae512e2 49 /// are a number of predefined colors:
WiredHome 32:0e4f2ae512e2 50 /// - Black, Blue, Green, Cyan,
WiredHome 32:0e4f2ae512e2 51 /// - Red, Magenta, Brown, Gray,
WiredHome 32:0e4f2ae512e2 52 /// - Charcoal, BrightBlue, BrightGreen, BrightCyan,
WiredHome 32:0e4f2ae512e2 53 /// - Orange, Pink, Yellow, White
WiredHome 32:0e4f2ae512e2 54 ///
WiredHome 32:0e4f2ae512e2 55 typedef uint16_t color_t;
WiredHome 32:0e4f2ae512e2 56
WiredHome 32:0e4f2ae512e2 57 /// background fill info for drawing Text, Rectangles, RoundedRectanges, Circles, Ellipses and Triangles.
WiredHome 32:0e4f2ae512e2 58 typedef enum
WiredHome 32:0e4f2ae512e2 59 {
WiredHome 32:0e4f2ae512e2 60 NOFILL, ///< do not fill the object with the background color
WiredHome 32:0e4f2ae512e2 61 FILL ///< fill the object space with the background color
WiredHome 32:0e4f2ae512e2 62 } fill_t;
WiredHome 32:0e4f2ae512e2 63
WiredHome 31:c72e12cd5c67 64 #endif // DISPLAYDEFS_H