fix(c6): drive AMOLED-2.16 C6 panel as CO5300, side-USB orientation
platformio.ini and the board files labelled the Waveshare ESP32-C6-Touch-AMOLED-2.16 as an SH8601 panel, when it actually uses a CO5300 (per the official spec) -- the same controller as the S3 AMOLED-2.16. It still rendered because display.cpp grafted CO5300-style manufacturer registers (a 0xFE page-switch writing the 0x19/0x1C driving-voltage registers) onto the Arduino_SH8601 class, and both controllers speak standard MIPI DCS for pixel writes. Rebase onto Arduino_CO5300 (matching the S3 AMOLED-2.16 sibling) and keep only the page-0x20 panel-driving registers (0x19/0x1C) the class init omits; everything else (0xC4/0x36/0x53/0x51/0x63/0x29) is now covered by Arduino_CO5300::begin(). Adopt the CO5300 rotation-0 default (MADCTL 0x00) instead of the old forced 0x30 transpose, orienting the board with the USB port on the side (the preferred desk orientation). Touch axis mapping is re-derived and tap-tested on hardware to match: swap=false, mirror=(false,false). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
9392d23092
commit
9375bd6d66
@@ -170,7 +170,7 @@ build_flags =
|
||||
-DLV_USE_SNAPSHOT=0
|
||||
|
||||
lib_deps =
|
||||
; 1.6.4+ required for Arduino_SH8601 (this board uses SH8601, not CO5300)
|
||||
; this board uses the CO5300 (same controller as the S3 2.16); Arduino_CO5300
|
||||
moononournation/GFX Library for Arduino@^1.6.4
|
||||
lewisxhe/SensorLib@^0.2.6
|
||||
lewisxhe/XPowersLib@^0.2.7
|
||||
|
||||
Reference in New Issue
Block a user