فهرست منبع

Drop 213c inter-panel notes; flip 730c to verified

213c_gdey0213f51/f52: each panel is an independent driver from a caller's
perspective, so cross-references to a sibling panel's command template or
hardware-identity ambiguity don't belong in the panel-specific header.

GxEPD2_730c_GDEP073E01 is confirmed working - flip status to verified in
display.py/CONTRIBUTING.md and drop the stale "structural, not yet
bench-verified" comment from the panel file rather than replacing it with
verification narrative (status flag is sufficient; git history has the
rest).
ZiB 2 هفته پیش
والد
کامیت
7ff01ebccf

+ 1 - 1
CONTRIBUTING.md

@@ -313,7 +313,7 @@ from it, and a non-verified panel logs a warning in its boot `dump_config`.
 | `GxEPD2_426_GDEQ0426T82` | GDEQ0426T82 | SSD1677 | mono | ✅ verified |
 | `GxEPD2_583` | GDEW0583T7 | UC8159c | mono | ⚪ structural |
 | `GxEPD2_583_GDEQ0583T31` | GDEQ0583T31 | UC8179 | mono | ✅ verified |
-| `GxEPD2_730c_GDEP073E01` | GDEP073E01 | unknown | 7-color | ⚪ structural |
+| `GxEPD2_730c_GDEP073E01` | GDEP073E01 | unknown | 7-color | ✅ verified |
 | `GxEPD2_750_GDEY075T7` | GDEY075T7 | UC8179 | mono | ✅ verified |
 | `GxEPD2_290c_GDEY029F51` | GDEY029F51 | JD79667 | 4-color | ⚪ structural |
 | `GxEPD2_579c_GDEY0579F51` | GDEY0579F51 | HX8717 | 4-color | ✅ verified |

+ 1 - 1
components/gxepd2/display.py

@@ -76,7 +76,7 @@ PANELS = {
     "GxEPD2_426_GDEQ0426T82": Panel("PANEL_426_GDEQ0426T82", "GDEQ0426T82", "SSD1677", "mono", "verified"),
     "GxEPD2_583": Panel("PANEL_583", "GDEW0583T7", "UC8159c", "mono", "structural"),
     "GxEPD2_583_GDEQ0583T31": Panel("PANEL_583_GDEQ0583T31", "GDEQ0583T31", "UC8179", "mono", "verified"),
-    "GxEPD2_730c_GDEP073E01": Panel("PANEL_730C_GDEP073E01", "GDEP073E01", "unknown", "7-color", "structural"),
+    "GxEPD2_730c_GDEP073E01": Panel("PANEL_730C_GDEP073E01", "GDEP073E01", "unknown", "7-color", "verified"),
     "GxEPD2_750_GDEY075T7": Panel("PANEL_750_GDEY075T7", "GDEY075T7", "UC8179", "mono", "verified"),
     "GxEPD2_290c_GDEY029F51": Panel("PANEL_290C_GDEY029F51", "GDEY029F51", "JD79667", "4-color", "structural"),
     "GxEPD2_579c_GDEY0579F51": Panel("PANEL_579C_GDEY0579F51", "GDEY0579F51", "HX8717", "4-color", "verified"),

+ 2 - 15
components/gxepd2/panel_213c_gdey0213f51.h

@@ -2,24 +2,11 @@
 
 // Hand-derived from third_party/GxEPD2/src/epd4c/GxEPD2_213c_GDEY0213F51.{h,cpp}
 // (GDEY0213F51, JD79661 controller, 128x250 buffer / 122x250 visible,
-// 4-color BWRY). Same Good Display 4-color command template as
-// panel_290c_gdey029f51.h (JD79667) - the _InitDisplay() command sequence is
-// byte-for-byte identical except TRES (0x61, the resolution), so this is the
-// 290c descriptor retargeted to 128x250. See panel_290c_gdey029f51.h for the
-// per-command rationale (0x00 PSR / 0x01 PWRR / 0x03 POFS / 0x06 BTST / 0x50
-// CDI / 0x60 TCON / 0x61 TRES / 0x83 window-set / refresh via 0x50+0x12), and
-// GxEPD2Display::draw_packed_ for the 2bpp/4-pixels-per-byte buffer side.
+// 4-color BWRY).
 //
 // Pixel codes black=0x00, white=0x01, yellow=0x02, red=0x03 (GXEPD2_PALETTE_4C,
 // per GxEPD2_4C.h color4()); the vendor's own white clear writes 0x55 (code
-// 0x01 x4), confirming white=0x01. JD79661 vs JD79667 could in principle order
-// yellow/red differently - the bit-depth-aware test pattern's color bars will
-// show it directly if so, and only the palette codes would need swapping.
-//
-// NOTE: bench hardware is marked GDEY0213F52 (a V2 revision); this descriptor
-// is the F51 vendor driver, tried on F52 as a starting point pending a
-// datasheet/product-page diff. Same label (0213F52 vs 0213F51) aside, if the
-// F52 needs init tweaks they go in a separate descriptor.
+// 0x01 x4), confirming white=0x01.
 
 #include "epd_command.h"
 

+ 1 - 3
components/gxepd2/panel_213c_gdey0213f52.h

@@ -1,8 +1,6 @@
 #pragma once
 
-// GDEY0213F52, JD79676 controller, 128x250, 4-color (BWRY). The V2 revision of
-// the GDEY0213F51 (JD79661) on a different controller - this is the part the
-// bench F52 panels actually are (see the F51-vs-F52 control-diff memory).
+// GDEY0213F52, JD79676 controller, 128x250, 4-color (BWRY).
 //
 // Emitter-derived (tools/gxepd2_harness/emit_descriptor.h) from the vendor
 // GxEPD2_213c_GDEY0213F52 driver pulled into third_party/GxEPD2/ from the zGxEPD2 fork.

+ 0 - 2
components/gxepd2/panel_730c_gdep073e01.h

@@ -35,8 +35,6 @@
 // Single plane, single region, plain row-major writeNative addressing (no
 // row_interleave, no window_per_plane) - structurally the simplest shape
 // once the above two facts are captured correctly.
-//
-// STATUS: structural only - not yet bench-verified (see display.py).
 
 #include "epd_command.h"