david_prentice:
Please edit the case 0x9806 block in MCUFRIEND_kbv.cpp:
#ifdef SUPPORT_9806
case 0x9806:
_lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | READ_24BITS | INVERT_RGB |INVERT_SS;
// from ZinggJM
static const uint8_t ILI9806_regValues[] PROGMEM = {
(0xFF), 3, /* EXTC Command Set enable register*/ 0xFF, 0x98, 0x06,
(0xBA), 1, /* SPI Interface Setting*/0xE0,
(0xBC), 21, /* GIP 1*/0x03, 0x0F, 0x63, 0x69, 0x01, 0x01, 0x1B, 0x11, 0x70, 0x73, 0xFF, 0xFF, 0x08, 0x09, 0x05, 0x00, 0xEE, 0xE2, 0x01, 0x00, 0xC1,
(0xBD), 8, /* GIP 2*/0x01, 0x23, 0x45, 0x67, 0x01, 0x23, 0x45, 0x67,
(0xBE), 9, /* GIP 3*/0x00, 0x22, 0x27, 0x6A, 0xBC, 0xD8, 0x92, 0x22, 0x22,
(0xC7), 1, /* Vcom*/0x1E,
(0xED), 3, /* EN_volt_reg*/0x7F, 0x0F, 0x00,
(0xC0), 3, /* Power Control 1*/0xE3, 0x0B, 0x00,
(0xFC), 1, 0x08,
(0xDF), 6, /* Engineering Setting*/0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
(0xF3), 1, /* DVDD Voltage Setting*/0x74,
(0xB4), 3, /* Display Inversion Control*/0x00, 0x00, 0x00,
(0xF7), 1, /* 480x854*/0x81,
(0xB1), 3, /* Frame Rate*/0x00, 0x10, 0x14,
(0xF1), 3, /* Panel Timing Control*/0x29, 0x8A, 0x07,
(0xF2), 4, /Panel Timing Control/0x40, 0xD2, 0x50, 0x28,
(0xC1), 4, /* Power Control 2*/0x17, 0x85, 0x85, 0x20,
(0xE0), 16, 0x00, 0x0C, 0x15, 0x0D, 0x0F, 0x0C, 0x07, 0x05, 0x07, 0x0B, 0x10, 0x10, 0x0D, 0x17, 0x0F, 0x00,
(0xE1), 16, 0x00, 0x0D, 0x15, 0x0E, 0x10, 0x0D, 0x08, 0x06, 0x07, 0x0C, 0x11, 0x11, 0x0E, 0x17, 0x0F, 0x00,
(0x35), 1, /Tearing Effect ON/0x00,
};
table8_ads = ILI9806_regValues, table_size = sizeof(ILI9806_regValues);
p16 = (int16_t *) & HEIGHT; //natural portrait 480x864
*p16 = 864;
p16 = (int16_t *) & WIDTH;
*p16 = 480;
break;
#endif
It looks as if there is corruption in the "SOFTWARE SCROLL"
Hi.
I change 0x9806 block in MCUFRIEND_kbv.cpp like you describe.
and this is the result: Video01.mp4
Scroll ONLY THE COLOR BAND don't work, and in PORTRAIT_REV and LANDSCAPE_REV, all graphics are corrupted
I change
table8_ads = ILI9806_regValues, table_size = sizeof(ILI9806_regValues);
p16 = (int16_t *) & HEIGHT; //natural portrait 480x864
*p16 = 864;
to 854;
and result are this: Video02.mp4
At now scroll ONLY THE COLOR BAND work well, but PORTRAIT_REV and LANDSCAPE_REV, all graphics are corrupted equal to last change