joeycastillo / libros

WIP: the new Open Book firmware
MIT License
200 stars 13 forks source link

Are there pre-existing libraries that could be used to make things easier? #3

Open Kuratius opened 1 year ago

Kuratius commented 1 year ago

E.g. is something like

https://wiki.ugfx.io/index.php/Font_rendering https://ugfx.io/overview

worth testing? Are there better or other options?

What's the main language of the project? Is it C, micropython, something else? It seems like it might be C or C++, though most stuff seems to be html, which isn't really a programming language per se.

It may be good to collect information about libraries available in different programming languages for the project and then decide on one to use, preferably one with the fastest speed.

Is it possible to use something like koreader directly? https://github.com/koreader/koreader

I think that would be ideal, assuming it has acceptable speed, though it seems to be written in LUA.

Doing a quick search, I found a few rust projects that may also be relevant: General epub library (though it seems to use the standard lib) https://github.com/danigm/epub-rs

Terminal epub reader: https://github.com/aeosynth/bk

Are there C (or maybe Zig?) libraries that could be used directly?

Kuratius commented 1 year ago

Found this project: https://gitlab.com/guyjeangilles/piereader

Edit:Nvmind, seems to require a full pi, probably has bad performance.

Kuratius commented 1 year ago

C++: https://github.com/Kobo-InkBox/inkbox

Kuratius commented 1 year ago

Rust: https://github.com/baskerville/plato

Kuratius commented 1 year ago

Even if the libraries cant be used directly, there are probably some functions that could be copied.

Kuratius commented 1 year ago

https://github.com/PetteriAimonen/ED060SC4_driver Might reduce hardware requirements

Note that this driver uses a direct connection to the panel from the processor; it does not use a separate controller chip between the processor and the panel. i.e. using the pico to directly drive the display instead of having a display controller

Kuratius commented 1 year ago

https://github.com/atomic14/diy-esp32-epub-reader

May be interesting, seems to be similar to the open book project, and esp32 is only a little bit more powerful than a pico. Non-zero chance that the firmware could be ported.

Kuratius commented 1 year ago

This pico based eink screen comes with an eBook reader and pseudoOS https://github.com/pimoroni/badger2040/blob/main/badger_os/examples/ebook.py

senatormailman commented 10 months ago

Commenting on this late, I know:

I think it's worthwhile to check for these options. If the reader can handle one of these libraries, then plaintext is just sorted immediately.

I am bookmarking this to see the potential with an esp32.

Kuratius commented 6 months ago

https://github.com/rhaleblian/dslibris/tree/main

Potentially interesting as NDS has 4 MB of ram