nickolay / esphome-lilygo-t547plus

Use Lilygo T5-4.7 inch ESP32-S3 (aka "plus"/V2.3) e-paper module with ESPHome
Other
32 stars 21 forks source link

Less "aggressive" refresh or partial refresh #12

Open Elu43 opened 3 months ago

Elu43 commented 3 months ago

Hi,

Thank you very much for your work, without you I wouldn't be able to use this screen. Is there a way to refresh partially ? Or to have a less "aggressive" refresh, when it's blinking 3 times ?

Thanks

nickolay commented 3 months ago

No. I found that the "aggressive" refresh is required to avoid damaging the display. The 3 times is hard-coded by the vendor, presumably they've found fewer cycles do not work as well.

Partial refreshes (i.e. clearing and redrawing a smaller rectangle) are supported by the underlying library, but not implemented in this component.

fuef commented 2 weeks ago

+1

In my reconvened experiments, I use external_components key without cloning any repositories. BTW a clean environment required to add

libraries:
    - SPI

to the esphome.platformio_options to build successfully.

Because this panel is big, and I have just two sensors data to display, I thought it would be nice for the panel to show something universally useful.

Apparently clock has to be refreshed every 60 seconds. I have a battery eater LYWSD02MMC which produces telemetry readings for room temperature and humidity. Its segment EPD is getting full refresh every 30 minutes only. The rest of the time it's coping just fine with partial refresh.

What does it take to make this component do partial refresh, please? Does the class require new methods to be defined? Or is it rather about some intimate manipulations with the Python code?

Also, I am totally puzzled over how the component manages to pull the correct esp32s3 branch from Xinyuan-LilyGO/LilyGo-EPD47. How does LilyGoEPD47@1.0.1+sha.2325b3a map to Xinyuan-LilyGO/LilyGo-EPD47#esp32s3?

esphome compile t547plus.yaml ``` Library Manager: Installing git+https://github.com/Xinyuan-LilyGO/LilyGo-EPD47 INFO Installing git+https://github.com/Xinyuan-LilyGO/LilyGo-EPD47 git version 2.39.5 (Apple Git-154) Cloning into '.platformio/.cache/tmp/pkg-installing-b8b1hspz'... remote: Enumerating objects: 198, done. remote: Counting objects: 100% (198/198), done. remote: Compressing objects: 100% (168/168), done. remote: Total 198 (delta 21), reused 151 (delta 17), pack-reused 0 (from 0) Receiving objects: 100% (198/198), 16.13 MiB | 8.51 MiB/s, done. Resolving deltas: 100% (21/21), done. Library Manager: LilyGoEPD47@1.0.1+sha.2325b3a has been installed! INFO LilyGoEPD47@1.0.1+sha.2325b3a has been installed! ```

And a bit of useless knowledge: a new variant T5S3-4.7-e-paper-PRO seems to be out. Some pins are wired differently, but the idea is the same.