.cargo | ||
images | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
demonstration.mp4 | ||
Ravedude.toml | ||
README.md | ||
rust-toolchain.toml |
Slideshow
This project is a relatively simple slideshow running on the Adafruit Feather 328P (an ATmega328p-microcontroller) using a simple button and a 240x240 LCD display with the ST7789-driver over SPI.
This project is written on Rust and uses a very minimal amount of libraries with
the most significant being atmega-hal
, a
hardware abstraction layer for ATmega-microcontrollers. Images are stored in the
program memory of the device and
manually read using the lpm
-instruction using inline-assembly because Rust
itself does not produce this instruction in any scenario. The images are stored
in the QOI-specification to save
space, and they are decoded on-the-fly when rendering the images. Communication
between the display and the microprocessor is done manually using a minimal
SPI-utility
within the atmega-hal
crate.