nvts8a / libros

The new OpenBook firmware
https://github.com/nvts8a/libros/raw/main/releases/libros-LATEST.uf2
Other
13 stars 0 forks source link

Continue spike of moving from PlatformIO to Zephyr #24

Open nvts8a opened 1 year ago

nvts8a commented 1 year ago

The application code should be portable, since it's all hooking into OpenBookDevice and calls to the hardware at a lower level. But we'll need work to port some of our underlying uses of the Arduino library to Zephyr. Namely: • Refactoring Babel to talk to the SPI Flash using Zephyr's SPI calls instead of Arduino's • Refactoring out Adafruit_GFX and replacing it with Zephyr's native framebuffer • Refactoring the MicroSD stuff to use Zephyr's native SDIO It comes with a usable driver for our GDEW042T2 display.

WIP device tree for the Pi Pico book: openbook_pico.zip It can be placed in zephyr/boards/arm so far it's only been tested with the samples/drivers/display demo

Pi Pico: west build -p always -b openbook_pico samples/drivers/display && cp build/zephyr/zephyr.uf2 /Volumes/RPI-RP2/

For the POSIX native executable (doesn't work on Windows or Mac): west build -p always -b native_posix_64 samples/drivers/display && ./build/zephyr/zephyr.elf

What would be REALLY interesting is if we can get the SD card disk access hooked up with standard C file system calls. Letting us work with files using more standard C things like fopen, and potentially draw in a broader range of libraries to help with various things we want to do. SQLite for the book library / zip decompression for epub is the dream here.