| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # 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));
|