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)

Revisions of RA8875.h

Revision Date Message Actions
155:b3f225ae572c 2018-11-13 use eventThread for newer OS5 in place of callbacks.; touch-cal timeout increased to 30s from 15. File  Diff  Annotate
154:ad2450fc3dc3 2018-08-17 Documentation updates for using resistive touch. File  Diff  Annotate
153:8a85efb3eb71 2018-07-29 Soft Fonts and very preliminary GIF support. File  Diff  Annotate
152:a013ac0133e4 2017-11-06 Initial support for GIF rendering File  Diff  Annotate
151:ae94daaaf8ad 2018-04-14 Add support for scaling soft fonts, using the SetTextFontSize api. File  Diff  Annotate
149:c62c4b2d6a15 2017-08-06 Revised the idle callback. It is additionally called from PrintScreen to communicate percent complete (with an additional parameter), since PrintScreen can take a while to finish based on the display size, layers, and SPI configuration. File  Diff  Annotate
147:3494792458d9 2017-06-12 Improved the Intersect(rect_t, rect_t) to look for any intersection, and added an Intersect(rect_t *, rect_t *) which will identify and make available a new rect_t which is the intersection (if any). File  Diff  Annotate
144:ba002c4b21b3 2017-05-06 Added ThickLine API File  Diff  Annotate
143:e872d65a710d 2017-03-19 unbreaking change to SelectDrawingLayer to get the return value as an optional parameter. File  Diff  Annotate
142:6e9bff59878a 2017-03-19 Breaking change on SelectDrawingLayer command, which now returns the previous layer (making it far easier to restore layers). File  Diff  Annotate
140:33ca352755a2 2016-12-27 Merge block move changes from two branches File  Diff  Annotate
139:99ec74e3273f 2016-12-27 Minor fix to the block move File  Diff  Annotate
138:61e93bed397e 2016-08-13 Added example code for BlockMove in the API. File  Diff  Annotate
137:9e09f6081ef1 2016-12-08 Correct a defect in BlockMove File  Diff  Annotate
136:224e03d5c31f 2016-11-16 JPG Rendering can now write to display in 8-bit color format, not just 16-bit color format. File  Diff  Annotate
133:e36dcfc2d756 2016-10-17 Revised how it sets the foreground and background color to correct a defect when in 8-bit mode. File  Diff  Annotate
132:a5d7a8541683 2016-09-04 Documentation changes only - correction to resolution, color depth, and layer support, and updated to the gesture support return values. File  Diff  Annotate
131:5bd6ba2ee4a1 2016-08-12 Added API for BlockMove, and a minor revision to the init to accept a backlight setting directly. File  Diff  Annotate
127:db7f2c704693 2016-08-06 Added GetUserFont and GetTextFontSize apis, which were helpful for saving and restoring settings on the fly. File  Diff  Annotate
125:7a0b70f56550 2016-08-01 Minor documentation tweaks File  Diff  Annotate
124:1690a7ae871c 2016-07-31 Incorporated the Capacitive touch panel APIs in to the base RA8875 driver in a manner that integrated smoothly with the Resistive touch driver. File  Diff  Annotate
123:2f45e80fec5f 2016-07-25 Added idle callback - when the RA8875 driver is stuck waiting on the HW, or on a long timeout, it can call an optional callback. This could be used for maintaining the Watchdog, or other activities. File  Diff  Annotate
114:dbfb996bfbf3 2016-05-15 Minor doc changes, and enable the GraphicsDisplay::window( ) to have no parameters to reset the screen size to full. File  Diff  Annotate
111:efe436c43aba 2016-04-25 Soft fonts are now restricted by the window( ) setting, just as hard fonts were. Wraps right edge back to left and cycles from bottom edge back to top. File  Diff  Annotate
110:39f22e0c8de4 2016-03-19 Correct a few typedefs and streamline the soft font rendering. File  Diff  Annotate
109:7b94f06f085b 2016-03-05 Updated some data types to more consistently use loc_t and dim_t. File  Diff  Annotate
108:7415c405ee08 2016-03-14 corrected a buffer overrun in the InsertionSort function of RA8875_Touch.cpp. Thanks to Michael Dinning for reporting it. File  Diff  Annotate
107:f9ccffcb84f1 2016-03-05 Added rounded rectangle apis that accept rect_t instead of discreet x1,y1,x2,y2 values. File  Diff  Annotate
106:c80828f5dea4 2016-02-27 Improved support for 8-bit color, for pixel drawing, RenderImageFile and PrintScreen. File  Diff  Annotate
105:4f116006ba1f 2016-02-27 Improved 8-bit color support, which permits dual-layer at higher resolutions. File  Diff  Annotate
103:7e0464ca6c5c 2016-02-07 Added missing APIs for Get/SetTextCursor using point_t.; Fixed a defect in touch; if no point was requested, just polling for touch-state, it would return the no calibration value during a touch. File  Diff  Annotate
102:fc60bfa0199f 2016-01-23 Small change to the color and the on-screen sample. File  Diff  Annotate
101:e0aad446094a 2016-01-17 External fonts now wrap correctly at the edge of the screen (right edge by moving down one line and to the left margin, and last row by wrapping to the top row. File  Diff  Annotate
100:0b084475d5a9 2015-12-19 Corrected a defect where the portrait mode might be incorrectly inferred - then limits many commands to partial screen.; Remove set_font(). Use SelectUserFont() instead.; Removed unnecessary code in several places (redundant work). File  Diff  Annotate
99:66edf771373a 2015-12-17 Disable the "TestEnable" and republish. File  Diff  Annotate
98:ecebed9b80b2 2015-12-17 Significant changes to the support for Soft Fonts (User defined fonts), to directly leverage the output of the GLCD Font Creator tool and require nearly zero manual changes. This deprecates the old API setfont in favor of SelectUserFont. File  Diff  Annotate
96:40b74dd3695b 2015-11-28 Changes for the print screen function to use callbacks. File  Diff  Annotate
90:d113d71ae4f0 2015-01-28 persist screen width/height in the private data so that it does not have the burn the cycles to query the hardware on every need. File  Diff  Annotate
88:bfddef6ec836 2015-01-19 Added a timeout to the touch calibration process, so that it will return if there is no touchscreen, user not present, or a stuck touchscreen. File  Diff  Annotate
87:ee2240581aa7 2015-01-19 Added pixel api that uses point_t type. File  Diff  Annotate
86:e86b355940f4 2015-01-17 Added GetBacklight() and small refactoring of the memory allocation in PrintScreen(). File  Diff  Annotate
85:022bba13c5c4 2015-01-13 Improved error checking on several methods. In general, if the relevant coordinates of an object are offscreen, it will return bad_parameter, rather than to draw it badly. File  Diff  Annotate
84:e102021864b5 2015-01-12 Added SetOrientation method, to orient the display in one of 0, 90, 180, 270. Removed a rotation parameter from the SetTextFontControl method. File  Diff  Annotate
83:7bad0068cca0 2015-01-01 Improve touch interface to automatically provide no_touch, touch, held, release, no_cal value.; Touch API return codes were modified to accommodate this.; Enhance some APIs with (point_t p) parameters.; Minor internal documentation improvement. File  Diff  Annotate
82:f7d300f26540 2014-12-30 Added helpful API for computing intersection of a point in a rectangle.; Fixed the rect API for default NOFILL.; File  Diff  Annotate
81:01da2e34283d 2014-12-28 Refactored constructor() and init().; Added rect_t as a rectangle type.; Added new rect() methods that use rect_t.; Added touch panel calibration (and some renamed touch* methods). File  Diff  Annotate
79:544eb4964795 2014-12-28 cleaned up touch screen support, which included renaming the APIs to better reflect their purpose.; remove dead code, added documentation for methods that were missing it.; major refactor to the constructor, to move needed code to init(). File  Diff  Annotate
78:faf49c381591 2014-12-28 Continue work on touch screen, and some file refactoring for easier maintenance. File  Diff  Annotate
77:9206c13aa527 2014-12-26 Functioning touch panel updates - added method for calibration and a new API to get the touch in the "display" coordinate system. File  Diff  Annotate
76:c981284eb513 2014-11-28 Second pass - documentation improvements only. File  Diff  Annotate
75:ca78388cfd77 2014-11-28 Finalized the KeyPad support using the RA8875 built-in keyscan support. File  Diff  Annotate
74:686faa218914 2014-11-09 Deprecated one of the PrintScreen methods based on improvements in the other method. File  Diff  Annotate
73:f22a18707b5e 2014-11-09 Improved PrintScreen function automatically senses some of the modes of operation. File  Diff  Annotate
72:ecffe56af969 2014-10-11 Documentation updates only. File  Diff  Annotate
71:dcac8efd842d 2014-10-04 Initial support for the key pad interface where the RA8875 scans the matrix. File  Diff  Annotate
68:ab08efabfc88 2014-08-31 Performance tuning - speeding up transactions with RA8875 via SPI. File  Diff  Annotate
66:468a11f05580 2014-08-31 Increase the SPI clock rate by splitting the write from the read to better match the RA8875 display capabilities. File  Diff  Annotate
65:607bc289c976 2014-03-31 Documentation updates, and a consistency change from "OnlyLayer1", "OnlyLayer2" to "ShowLayer0", "ShowLayer1", since other APIs referred to the two layers as zero and one. The RA8875 registers use zero and one while the text refers to one and two. File  Diff  Annotate
64:5479dc0c8738 2014-03-31 Documentation changes only to show all parameters to touch functions. File  Diff  Annotate
63:ed787f5fcdc4 2014-03-23 Adding PNG support - which works for tiny png files but memory requirements may exclude it for larger images. File  Diff  Annotate