mirror of
https://github.com/YuzuZensai/MCUFRIEND_kbv.git
synced 2026-01-31 14:57:48 +00:00
add HX8357_99. conditional SUPPORT_8357D_GAMMA
This commit is contained in:
@@ -11,7 +11,8 @@
|
|||||||
//#define SUPPORT_8347D //HX8347-D, HX8347-G, HX8347-I +520 bytes, 0.27s
|
//#define SUPPORT_8347D //HX8347-D, HX8347-G, HX8347-I +520 bytes, 0.27s
|
||||||
//#define SUPPORT_8347A //HX8347-A +500 bytes, 0.27s
|
//#define SUPPORT_8347A //HX8347-A +500 bytes, 0.27s
|
||||||
//#define SUPPORT_8352A //HX8352A +486 bytes, 0.27s
|
//#define SUPPORT_8352A //HX8352A +486 bytes, 0.27s
|
||||||
//#define SUPPORT_8352B //HX8352B UNTESTED
|
//#define SUPPORT_8352B //HX8352B
|
||||||
|
//#define SUPPORT_8357D_GAMMA //monster 34 byte
|
||||||
#define SUPPORT_9225 //ILI9225-B, ILI9225-G ID=0x9225, ID=0x9226
|
#define SUPPORT_9225 //ILI9225-B, ILI9225-G ID=0x9225, ID=0x9226
|
||||||
//#define SUPPORT_9326_5420 //ILI9326, SPFD5420 +246 bytes
|
//#define SUPPORT_9326_5420 //ILI9326, SPFD5420 +246 bytes
|
||||||
//#define SUPPORT_9342 //costs +114 bytes
|
//#define SUPPORT_9342 //costs +114 bytes
|
||||||
@@ -233,7 +234,8 @@ uint16_t MCUFRIEND_kbv::readID(void)
|
|||||||
uint8_t cmds[] = {0xFF, 0x83, 0x57};
|
uint8_t cmds[] = {0xFF, 0x83, 0x57};
|
||||||
pushCommand(0xB9, cmds, 3);
|
pushCommand(0xB9, cmds, 3);
|
||||||
msb = readReg(0xD0);
|
msb = readReg(0xD0);
|
||||||
if (msb == 0x99 || msb == 0x90)
|
if (msb == 0x99) return 0x0099; //HX8357-D from datasheet
|
||||||
|
if (msb == 0x90) //HX8357-C undocumented
|
||||||
#endif
|
#endif
|
||||||
return 0x9090; //BIG CHANGE: HX8357-D was 0x8357
|
return 0x9090; //BIG CHANGE: HX8357-D was 0x8357
|
||||||
}
|
}
|
||||||
@@ -798,7 +800,11 @@ void MCUFRIEND_kbv::invertDisplay(boolean i)
|
|||||||
#define TFTLCD_DELAY8 0x7F
|
#define TFTLCD_DELAY8 0x7F
|
||||||
static void init_table(const void *table, int16_t size)
|
static void init_table(const void *table, int16_t size)
|
||||||
{
|
{
|
||||||
|
#ifdef SUPPORT_8357D_GAMMA
|
||||||
|
uint8_t *p = (uint8_t *) table, dat[36]; //HX8357_99 has GAMMA[34]
|
||||||
|
#else
|
||||||
uint8_t *p = (uint8_t *) table, dat[24]; //R61526 has GAMMA[22]
|
uint8_t *p = (uint8_t *) table, dat[24]; //R61526 has GAMMA[22]
|
||||||
|
#endif
|
||||||
while (size > 0) {
|
while (size > 0) {
|
||||||
uint8_t cmd = pgm_read_byte(p++);
|
uint8_t cmd = pgm_read_byte(p++);
|
||||||
uint8_t len = pgm_read_byte(p++);
|
uint8_t len = pgm_read_byte(p++);
|
||||||
@@ -1904,10 +1910,31 @@ case 0x4532: // thanks Leodino
|
|||||||
case 0x9090: //BIG CHANGE: HX8357-D was 0x8357
|
case 0x9090: //BIG CHANGE: HX8357-D was 0x8357
|
||||||
_lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | REV_SCREEN | READ_24BITS;
|
_lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | REV_SCREEN | READ_24BITS;
|
||||||
common_8357:
|
common_8357:
|
||||||
static const uint8_t HX8357D_regValues[] PROGMEM = {
|
static const uint8_t HX8357C_regValues[] PROGMEM = {
|
||||||
0xB0, 1, 0x00, // unlocks E0, F0
|
TFTLCD_DELAY8, 1, //dummy table
|
||||||
};
|
};
|
||||||
table8_ads = HX8357D_regValues, table_size = sizeof(HX8357D_regValues);
|
table8_ads = HX8357C_regValues, table_size = sizeof(HX8357C_regValues);
|
||||||
|
p16 = (int16_t *) & HEIGHT;
|
||||||
|
*p16 = 480;
|
||||||
|
p16 = (int16_t *) & WIDTH;
|
||||||
|
*p16 = 320;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x0099: //HX8357-D matches datasheet
|
||||||
|
_lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | REV_SCREEN | READ_24BITS;
|
||||||
|
static const uint8_t HX8357_99_regValues[] PROGMEM = {
|
||||||
|
(0xB9), 3, 0xFF, 0x83, 0x57, // SETEXTC
|
||||||
|
TFTLCD_DELAY8, 150,
|
||||||
|
TFTLCD_DELAY8, 150,
|
||||||
|
(0xB6), 1, 0x25, // SETCOM [4B 00] -2.5V+37*0.02V=-1.76V [-1.00V]
|
||||||
|
(0xC0), 6, 0x50, 0x50, 0x01, 0x3C, 0x1E, 0x08, // SETSTBA [73 50 00 3C C4 08]
|
||||||
|
(0xB4), 7, 0x02, 0x40, 0x00, 0x2A, 0x2A, 0x0D, 0x78, // SETCYC [02 40 00 2A 2A 0D 96]
|
||||||
|
#ifdef SUPPORT_8357D_GAMMA
|
||||||
|
// HX8357D_SETGAMMA [0B 0C 11 1D 25 37 43 4B 4E 47 41 39 35 31 2E 21 1C 1D 1D 26 31 44 4E 56 44 3F 39 33 31 2E 28 1D E0 01]
|
||||||
|
(0xE0),34, 0x02, 0x0A, 0x11, 0x1D, 0x23, 0x35, 0x41, 0x4B, 0x4B, 0x42, 0x3A, 0x27, 0x1B, 0x08, 0x09, 0x03, 0x02, 0x0A, 0x11, 0x1D, 0x23, 0x35, 0x41, 0x4B, 0x4B, 0x42, 0x3A, 0x27, 0x1B, 0x08, 0x09, 0x03, 0x00, 0x01,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
table8_ads = HX8357_99_regValues, table_size = sizeof(HX8357_99_regValues);
|
||||||
p16 = (int16_t *) & HEIGHT;
|
p16 = (int16_t *) & HEIGHT;
|
||||||
*p16 = 480;
|
*p16 = 480;
|
||||||
p16 = (int16_t *) & WIDTH;
|
p16 = (int16_t *) & WIDTH;
|
||||||
|
|||||||
Reference in New Issue
Block a user