From 56a378f783be86e88bbc2a5af4a8f4a284c88e43 Mon Sep 17 00:00:00 2001 From: Joshua King Date: Fri, 6 Mar 2026 15:48:09 -0500 Subject: [PATCH] Fix horizontal mirroring for ILI9488 display by overriding MADCTL command --- esphome/cat-medication-tracker.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/esphome/cat-medication-tracker.yaml b/esphome/cat-medication-tracker.yaml index 4f4570c..09b1bf6 100644 --- a/esphome/cat-medication-tracker.yaml +++ b/esphome/cat-medication-tracker.yaml @@ -11,9 +11,14 @@ esphome: - light.turn_on: backlight - delay: 300ms - lambda: |- - // Fix ILI9488 horizontal mirror: send MADCTL with MX=1, BGR=1 - id(my_display)->command(0x36); - id(my_display)->data(0x48); + // Fix ILI9488 horizontal mirror: override MADCTL to 0x48 (MX=1, BGR=1) + // DC pin (GPIO2) is a regular GPIO; CS/SPI via SPIDevice interface + digitalWrite(2, LOW); // DC low = command mode + id(my_display)->enable(); // assert CS + id(my_display)->transfer(0x36); // MADCTL command + digitalWrite(2, HIGH); // DC high = data mode + id(my_display)->transfer(0x48); // MX=1, BGR=1 + id(my_display)->disable(); // deassert CS - component.update: my_display esp32: