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
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)
Revision 137:9e09f6081ef1, committed 2016-12-08
- Comitter:
- WiredHome
- Date:
- Thu Dec 08 12:29:54 2016 +0000
- Parent:
- 136:224e03d5c31f
- Child:
- 140:33ca352755a2
- Commit message:
- Correct a defect in BlockMove
Changed in this revision
RA8875.cpp | Show annotated file Show diff for this revision Revisions of this file |
RA8875.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/RA8875.cpp Wed Nov 16 02:48:45 2016 +0000 +++ b/RA8875.cpp Thu Dec 08 12:29:54 2016 +0000 @@ -1739,20 +1739,21 @@ RetCode_t RA8875::BlockMove(uint8_t dstLayer, uint8_t dstDataSelect, point_t dstPoint, uint8_t srcLayer, uint8_t srcDataSelect, point_t srcPoint, - uint16_t bte_width, uint16_t bte_height, + dim_t bte_width, dim_t bte_height, uint8_t bte_op_code, uint8_t bte_rop_code) { uint8_t cmd; PERFORMANCE_RESET; + ///@todo range check and error return rather than to secretly fix srcPoint.x &= 0x3FF; // prevent high bits from doing unexpected things srcPoint.y &= 0x1FF; dstPoint.x &= 0x3FF; dstPoint.y &= 0x1FF; WriteCommandW(0x54, srcPoint.x); - WriteCommandW(0x56, ((srcLayer & 1) << 7) | srcPoint.y); + WriteCommandW(0x56, ((dim_t)(srcLayer & 1) << 15) | srcPoint.y); WriteCommandW(0x58, dstPoint.x); - WriteCommandW(0x5A, ((dstLayer & 1) << 7) | dstPoint.y); + WriteCommandW(0x5A, ((dim_t)(dstLayer & 1) << 15) | dstPoint.y); WriteCommandW(0x5C, bte_width); WriteCommandW(0x5E, bte_height); WriteCommand(0x51, ((bte_rop_code & 0x0F) << 4) | (bte_op_code & 0x0F));
--- a/RA8875.h Wed Nov 16 02:48:45 2016 +0000 +++ b/RA8875.h Thu Dec 08 12:29:54 2016 +0000 @@ -2266,10 +2266,10 @@ /// foreground and background color registers, and others. Those must be set /// outside of this API. /// - /// @param[in] dstLayer layer [5B.7]. layer value is 0 or 1 repreenting layer 1 and 2. + /// @param[in] dstLayer layer [5B.7]. layer value is 0 or 1 representing layer 1 and 2. /// @param[in] dstDataSelect [50.5] defines the destination data type 0: block, 1: linear. /// @param[in] dstPoint [58-5B] is a point_t defining the destination coordinate. - /// @param[in] srcLayer layer [57.7]. layer value is 0 or 1 repreenting layer 1 and 2. + /// @param[in] srcLayer layer [57.7]. layer value is 0 or 1 representing layer 1 and 2. /// @param[in] srcDataSelect [50.6] defines the source data type 0: block, 1: linear. /// @param[in] srcPoint [54-57] is a point_t defining the source coordinate. /// @param[in] bte_width [5C-5D]. operation width. @@ -2282,7 +2282,7 @@ /// RetCode_t BlockMove(uint8_t dstLayer, uint8_t dstDataSelect, point_t dstPoint, uint8_t srcLayer, uint8_t srcDataSelect, point_t srcPoint, - uint16_t bte_width, uint16_t bte_height, + dim_t bte_width, dim_t bte_height, uint8_t bte_op_code, uint8_t bte_rop_code);