vroland / epdiy

EPDiy is a driver board for affordable e-Paper (or E-ink) displays.
https://vroland.github.io/epdiy-hardware/
GNU Lesser General Public License v3.0
1.25k stars 178 forks source link

is lower psram usage possible? #286

Closed jonardan closed 3 months ago

jonardan commented 3 months ago

I was working on a project and I was working with psram but then I saw that there was very low psram available, then I saw the the function epd_hl_init() allocates almost all of the psram available so I was wondering, are all those malloc necessary? couldn't they be optimized to use less psram? I was juust asking because without knowing well how the library works i didn't want to modify it too much.

martinberlin commented 3 months ago

You can not use PSRAM at all: https://github.com/martinberlin/platformio-epdiy-monochrome-GFX

But the idea of using the external RAM, which is far bigger in the v7 version since uses ESP32S3, is that you can use GFX functions to draw and then output all together to the display.

If you find new creative ways to do that then please keep this Issue open and we discuss about it.

Other option as I mentioned before is to use a monochrome smaller buffer and not use PSRAM at all (check that link I sent you) But for that is also essential you get deep in the library and understand the Eink signals to be able to use your own way to draw / send stuff to the panel. On that link I've used Adafruit GFX as a library to draw over a monochrome canvas.

jonardan commented 3 months ago

as for now i don't think I know enough about the library to optimize this aspect, but as I go thru with my project i might work on it, in the mean time i think i'll buy the v7 to use that additional ram! Thank you for your support.

martinberlin commented 3 months ago

There is the last one on stock in my store and I will make a pause in my Tindie activities till mid-April. Good luck either if you get the last or sending some to production.

Closing this is as it's not a real Issue or bug with the library. Let's open a new one when you define your specific needs and an update to contribute to the library.