fix ili9342 rotation

This commit is contained in:
gemu2015 2021-02-20 10:25:51 +01:00
parent 92b8c8ad48
commit 8a969eeca5
2 changed files with 13 additions and 4 deletions

View File

@ -411,17 +411,17 @@ void ILI9341_2::setRotation(uint8_t m) {
_height = iheight;
break;
case 1:
m = (MADCTL_MV | MADCTL_BGR);
m = (MADCTL_MY | MADCTL_MV | MADCTL_BGR);
_width = iheight;
_height = iwidth;
break;
case 2:
m = (MADCTL_MY | MADCTL_BGR);
m = (MADCTL_MY | MADCTL_MX | MADCTL_BGR);
_width = iwidth;
_height = iheight;
break;
case 3:
m = (MADCTL_MX | MADCTL_MY | MADCTL_MV | MADCTL_BGR);
m = (MADCTL_MX | MADCTL_MV | MADCTL_BGR);
_width = iheight;
_height = iwidth;
break;
@ -561,9 +561,11 @@ void ILI9341_2::DisplayOnff(int8_t on) {
}
void ILI9341_2::invertDisplay(boolean i) {
SPI_BEGIN_TRANSACTION();
ILI9341_2_CS_LOW
writecmd(i ? ILI9341_2_INVON : ILI9341_2_INVOFF);
ILI9341_2_CS_HIGH
SPI_END_TRANSACTION();
}
void ili9342_dimm(uint8_t dim);

View File

@ -42,7 +42,7 @@ bool tft_init_done = false;
void ILI9341_InitDriver()
{
#ifdef USE_M5STACK_CORE2
#if (defined(USE_M5STACK_CORE2) || defined(USE_M5STACK_CORE_BASIC))
if (TasmotaGlobal.spi_enabled) {
#else
// There are displays without CS
@ -72,9 +72,14 @@ void ILI9341_InitDriver()
fg_color = ILI9341_WHITE;
bg_color = ILI9341_BLACK;
AddLog(LOG_LEVEL_INFO, PSTR("DSP: ILI934x 0"));
#ifdef USE_M5STACK_CORE2
// fixed pins on m5stack core2
ili9341_2 = new ILI9341_2(5, -2, 15, -2);
#elif defined(USE_M5STACK_CORE_BASIC)
// int8_t cs, int8_t res, int8_t dc, int8_t bp)
ili9341_2 = new ILI9341_2(14, 33, 27, 32);
#else
// check for special case with 2 SPI busses (ESP32 bitcoin)
if (TasmotaGlobal.soft_spi_enabled) {
@ -94,6 +99,8 @@ void ILI9341_InitDriver()
return;
}
AddLog(LOG_LEVEL_INFO, PSTR("DSP: ILI934x 1"));
ili9341_2->init(Settings.display_width, Settings.display_height);
renderer = ili9341_2;
renderer->DisplayInit(DISPLAY_INIT_MODE, Settings.display_size, Settings.display_rotate, Settings.display_font);