diff --git a/lib/lib_display/UDisplay/src/uDisplay_control.cpp b/lib/lib_display/UDisplay/src/uDisplay_control.cpp index 232306347..52d62a2aa 100644 --- a/lib/lib_display/UDisplay/src/uDisplay_control.cpp +++ b/lib/lib_display/UDisplay/src/uDisplay_control.cpp @@ -114,8 +114,19 @@ void uDisplay::dim10(uint8_t dim, uint16_t dim_gamma) { if (dim_op != 0xff) { spiController->beginTransaction(); spiController->csLow(); +/* + M5Stack SSD1306 additional commands + spiController->writeCommand(0xD9); + spiController->writeCommand(((dimmer8+15)/17)*0x11); + spiController->writeCommand(0xDB); + spiController->writeCommand(dimmer8>>1); +*/ spiController->writeCommand(dim_op); - spiController->writeData8(dimmer8); + if (!allcmd_mode) { + spiController->writeData8(dimmer8); + } else { + spiController->writeCommand(dimmer8); + } spiController->csHigh(); spiController->endTransaction(); } diff --git a/tasmota/displaydesc/M5Stack_Unit6CL_SSD1306_64x48_display.ini b/tasmota/displaydesc/M5Stack_Unit6CL_SSD1306_64x48_display.ini new file mode 100644 index 000000000..904337525 --- /dev/null +++ b/tasmota/displaydesc/M5Stack_Unit6CL_SSD1306_64x48_display.ini @@ -0,0 +1,25 @@ +:H,SSD1306,64,48,1,SPI,1,6,20,21,18,*,15,22,10 +:S,1,1,1,0,8,20 +:IC +AE,0 +D5,1,80 +A8,1,2F +D3,1,00 +40,0 +20,1,00 +A0,0 +C0,0 +DB,1,10 +A4,0 +2E,0 +8D,1,14 +AF,0 +81,1,00 +D9,1,11 +DA,1,12 +:o,AE +:O,AF +:A,20,00,00,00 +:i,A6,A7 +:D,81 +# \ No newline at end of file