test_pattern_bar_ladder_diagonal.esp32-idf.yaml 1.7 KB

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