# Canonical bench visual-check pattern, not a minimal smoke test like the # other fixtures in this directory. Scales to any panel via # it.get_width()/it.get_height(); each zone targets a specific bug class - # see GxEPD2Display::test_pattern() in gxepd2_display.h for the rationale. This is the actual pattern (previously only ever staged # on-device, never committed) whose row ladder + diagonal caught the # GDEY0579F51 row-interleave bug and confirmed the fix - see the # gxepd2-bench-validation-status memory. # # Wired here against GDEY0579F51 (4-color, dual-CS master+slave, # row_interleave: true) since that's the panel this pattern was built to # debug, but the lambda itself is panel-agnostic - copy it into any other # color-capable fixture's `lambda:` unchanged. esphome: name: gxepd2-test-pattern esp32: board: esp32dev framework: type: esp-idf external_components: - source: type: local path: ../components components: [gxepd2] spi: clk_pin: 18 mosi_pin: 23 logger: # gfonts:// is fetched by the builder at compile time - no local font file to # vendor. Used only for test_pattern()'s model-trailer label. font: - file: "gfonts://Roboto" id: panel_label_font size: 24 display: - platform: gxepd2 id: gxepd2_test model: GxEPD2_579c_GDEY0579F51 cs_pin: 5 dc_pin: 17 reset_pin: 16 busy_pin: 4 update_interval: 60s # The pattern lives in GxEPD2Display::test_pattern() (C++) so it can read # the descriptor and scale to the panel's real colors. Pass a font to label # the panel with its model; omit it (test_pattern()) for an unlabelled # pattern with no font needed in the config. lambda: |- id(gxepd2_test).test_pattern(id(panel_label_font));