From 2f62fc0cddecdfcbeb9314a25712eeccfc51dfeb Mon Sep 17 00:00:00 2001 From: prenticedavid Date: Sat, 28 May 2016 15:26:51 +0100 Subject: [PATCH] failed indexed register read in parallel --- MCUFRIEND_kbv.cpp | 23 ++++++++++++++++++----- MCUFRIEND_kbv.h | 2 +- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/MCUFRIEND_kbv.cpp b/MCUFRIEND_kbv.cpp index 7342bf5..6f1fc24 100644 --- a/MCUFRIEND_kbv.cpp +++ b/MCUFRIEND_kbv.cpp @@ -1,7 +1,7 @@ //#define SUPPORT_0139 //costs about 238 bytes //#define SUPPORT_1289 //costs about 408 bytes #define SUPPORT_1963 //only works with 16BIT bus anyway -#define SUPPORT_8347D //costs about 472 bytes, 0.27s +//#define SUPPORT_8347D //costs about 472 bytes, 0.27s //#define SUPPORT_8347A //costs about +178 bytes on top of 8347D #define OFFSET_9327 32 //costs about 103 bytes, 0.08s @@ -186,7 +186,17 @@ uint16_t MCUFRIEND_kbv::readID(void) return ret; //0x9488, 9486, 9340, 9341 if (ret == 0x00D3 || ret == 0xD3D3) return ret; //16-bit write-only bus - return readReg(0); //0154, 7783, 9320, 9325, 9335, B505, B509 +/* + msb = 0x12; //read 3rd,4th byte. does not work in parallel + pushCommand(0xD9, &msb, 1); + ret2 = readReg(0xD3); + msb = 0x13; + pushCommand(0xD9, &msb, 1); + ret = (ret2 << 8) | readReg(0xD3); +// if (ret2 == 0x93) + return ret2; +*/ + return readReg(0); //0154, 7783, 9320, 9325, 9335, B505, B509 } // independent cursor and window registers. S6D0154, ST7781 increments. ILI92320/5 do not. @@ -1693,12 +1703,15 @@ void MCUFRIEND_kbv::begin(uint16_t ID) TFTLCD_DELAY8, 125, 0x11, 0, //Sleep Out TFTLCD_DELAY8, 20, - 0xB0, 1, 0x00, - 0xD0, 3, 0x07, 0x42, 0x18, // Set Power [00 43 18] x1.00, x6, x3 + 0xB0, 1, 0x00, // unlocks E0, F0 + 0xB3, 4, 0x02, 0x00, 0x00, 0x00, //Frame Memory, interface [02 00 00 00] + 0xB4, 1, 0x00, // Frame mode [00] + 0xD0, 3, 0x07, 0x42, 0x18, // Set Power [00 43 18] x1.00, x6, x3 0xD1, 3, 0x00, 0x07, 0x10, // Set VCOM [00 00 00] x0.72, x1.02 0xD2, 2, 0x01, 0x02, // Set Power for Normal Mode [01 22] 0xC0, 5, 0x10, 0x3B, 0x00, 0x02, 0x11, //Set Panel Driving [10 3B 00 02 11] - 0xC5, 1, 0x03, //Frame Rate [03] + 0xC1, 3, 0x10, 0x10, 0x88, // Display Timing Normal [10 10 88] + 0xC5, 1, 0x03, //Frame Rate [03] 0xC8, 12, 0x00, 0x32, 0x36, 0x45, 0x06, 0x16, 0x37, 0x75, 0x77, 0x54, 0x0C, 0x00, 0x36, 1, 0x0A, //Memory Access [00] diff --git a/MCUFRIEND_kbv.h b/MCUFRIEND_kbv.h index 9ce5218..077d54e 100644 --- a/MCUFRIEND_kbv.h +++ b/MCUFRIEND_kbv.h @@ -2,7 +2,7 @@ #define MCUFRIEND_KBV_H_ 290 //#define USE_KEIL -#define USE_SERIAL +//#define USE_SERIAL #if ARDUINO < 165 #define USE_GFX_KBV