epaper_spi: Busy pin validated as output instead of input? #3477
Replies: 1 comment
-
|
🏷️ I've automatically added the |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Component name
epaper_spi
Link to component documentation on our website
https://esphome.io/components/display/epaper_spi/
Describe the enhancement
Found in current ESPHome 2025.12.5 while trying to develop new epaper_spi module:
https://github.com/esphome/esphome/blob/2025.12.5/esphome/components/epaper_spi/display.py#L90
Busy pin is validated as output. Also in generated C++ code (main.cpp), it is found as output.
But for epaper SPI protocol, busy is regularly input to the MCU.
Even doc of
epaper_spiYAML examples sees busy as input:https://esphome.io/components/display/epaper_spi/
Deprecated old component waveshare_epaper seemed to validate busy pin correctly as input schema:
https://github.com/esphome/esphome/blob/2025.12.5/esphome/components/waveshare_epaper/display.py#L210
Suggestion to change e.g. to:
(unrolled to also have freedom for per pin validations)
P.S. Debatable whether "Python breaking change".
But IMHO is does not break any documented Python or C++ public API, nor documentation:
https://esphome.io/components/display/epaper_spi/
Furthermore, fixing early avoids need to change later when
epaper_spigets wider deployed.P.S. Did not want to include into another unrelated upcoming PR for supporting new EPD (requiring BUSY), as it is more general component fix/change. Maybe even desired as is?
Use cases
Use of epaper_spi for boards requiring BUSY input pin
(Spectra E6, new upcoming Waveshare 1.54 (G) board under prep)
Anything else?
No response
Beta Was this translation helpful? Give feedback.
All reactions