From 103135214f9fab546647ff64cc31dae2fbb62485 Mon Sep 17 00:00:00 2001 From: Vladimir Smitka Date: Sat, 19 Sep 2026 20:40:54 +0000 Subject: [PATCH] atmel-samd: send INVOFF (0x20), not 0x2a, in ST7735 init sequences The six ST7735 boards labelled the command _INVOFF but sent 0x2a (CASET) with no parameters. Use 0x20 like the other in-tree ST7735 boards and adafruit_st7735r. --- ports/atmel-samd/boards/hallowing_m0_express/board.c | 2 +- ports/atmel-samd/boards/pewpew_lcd/board.c | 2 +- ports/atmel-samd/boards/pewpew_m4/board.c | 2 +- ports/atmel-samd/boards/pybadge/board.c | 2 +- ports/atmel-samd/boards/pygamer/board.c | 2 +- ports/atmel-samd/boards/ugame10/board.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ports/atmel-samd/boards/hallowing_m0_express/board.c b/ports/atmel-samd/boards/hallowing_m0_express/board.c index fd5ad548512..4a0b727552c 100644 --- a/ports/atmel-samd/boards/hallowing_m0_express/board.c +++ b/ports/atmel-samd/boards/hallowing_m0_express/board.c @@ -28,7 +28,7 @@ uint8_t display_init_sequence[] = { 0xc3, 2, 0x8a, 0x2a, 0xc4, 2, 0x8a, 0xee, 0xc5, 1, 0x0e, // _VMCTR1 VCOMH = 4V, VOML = -1.1V - 0x2a, 0, // _INVOFF + 0x20, 0, // _INVOFF 0x36, 1, 0x18, // _MADCTL bottom to top refresh // 1 clk cycle nonoverlap, 2 cycle gate rise, 3 cycle osc equalie, // fix on VTL diff --git a/ports/atmel-samd/boards/pewpew_lcd/board.c b/ports/atmel-samd/boards/pewpew_lcd/board.c index d60efd39bf7..547962790ab 100644 --- a/ports/atmel-samd/boards/pewpew_lcd/board.c +++ b/ports/atmel-samd/boards/pewpew_lcd/board.c @@ -28,7 +28,7 @@ uint8_t display_init_sequence[] = { 0xc3, 2, 0x8a, 0x2a, 0xc4, 2, 0x8a, 0xee, 0xc5, 1, 0x0e, // _VMCTR1 VCOMH = 4V, VOML = -1.1V - 0x2a, 0, // _INVOFF + 0x20, 0, // _INVOFF 0x36, 1, 0xa0, // _MADCTL // 1 clk cycle nonoverlap, 2 cycle gate rise, 3 cycle osc equalie, // fix on VTL diff --git a/ports/atmel-samd/boards/pewpew_m4/board.c b/ports/atmel-samd/boards/pewpew_m4/board.c index ac67b82a3dc..bec685eadff 100644 --- a/ports/atmel-samd/boards/pewpew_m4/board.c +++ b/ports/atmel-samd/boards/pewpew_m4/board.c @@ -57,7 +57,7 @@ uint8_t display_init_sequence[] = { 0xc3, 2, 0x8a, 0x2a, 0xc4, 2, 0x8a, 0xee, 0xc5, 1, 0x0e, // _VMCTR1 VCOMH = 4V, VOML = -1.1V - 0x2a, 0, // _INVOFF + 0x20, 0, // _INVOFF 0x36, 1, 0xa0, // _MADCTL // 1 clk cycle nonoverlap, 2 cycle gate rise, 3 cycle osc equalie, // fix on VTL diff --git a/ports/atmel-samd/boards/pybadge/board.c b/ports/atmel-samd/boards/pybadge/board.c index e938e96e19e..85f59fb084e 100644 --- a/ports/atmel-samd/boards/pybadge/board.c +++ b/ports/atmel-samd/boards/pybadge/board.c @@ -28,7 +28,7 @@ uint8_t display_init_sequence[] = { 0xc3, 2, 0x8a, 0x2a, 0xc4, 2, 0x8a, 0xee, 0xc5, 1, 0x0e, // _VMCTR1 VCOMH = 4V, VOML = -1.1V - 0x2a, 0, // _INVOFF + 0x20, 0, // _INVOFF 0x36, 1, 0b10100000, // _MADCTL for rotation 0 // 1 clk cycle nonoverlap, 2 cycle gate rise, 3 cycle osc equalie, // fix on VTL diff --git a/ports/atmel-samd/boards/pygamer/board.c b/ports/atmel-samd/boards/pygamer/board.c index fcf6aff0e65..ba9c498cb7b 100644 --- a/ports/atmel-samd/boards/pygamer/board.c +++ b/ports/atmel-samd/boards/pygamer/board.c @@ -29,7 +29,7 @@ uint8_t display_init_sequence[] = { 0xc3, 2, 0x8a, 0x2a, 0xc4, 2, 0x8a, 0xee, 0xc5, 1, 0x0e, // _VMCTR1 VCOMH = 4V, VOML = -1.1V - 0x2a, 0, // _INVOFF + 0x20, 0, // _INVOFF 0x36, 1, 0b10100000, // _MADCTL for rotation 0 // 1 clk cycle nonoverlap, 2 cycle gate rise, 3 cycle osc equalie, // fix on VTL diff --git a/ports/atmel-samd/boards/ugame10/board.c b/ports/atmel-samd/boards/ugame10/board.c index 34f769e358f..fc2725afd8f 100644 --- a/ports/atmel-samd/boards/ugame10/board.c +++ b/ports/atmel-samd/boards/ugame10/board.c @@ -28,7 +28,7 @@ uint8_t display_init_sequence[] = { 0xc3, 2, 0x8a, 0x2a, 0xc4, 2, 0x8a, 0xee, 0xc5, 1, 0x0e, // _VMCTR1 VCOMH = 4V, VOML = -1.1V - 0x2a, 0, // _INVOFF + 0x20, 0, // _INVOFF 0x36, 1, 0xa8, // _MADCTL bottom to top refresh // 1 clk cycle nonoverlap, 2 cycle gate rise, 3 cycle osc equalie, // fix on VTL