Updte README.md, add demonstration

This commit is contained in:
Sofia 2025-09-13 13:47:06 +03:00
parent 1d575d06b1
commit 2e404b27d5
2 changed files with 22 additions and 0 deletions

22
README.md Normal file
View File

@ -0,0 +1,22 @@
# 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](https://en.wikipedia.org/wiki/Serial_Peripheral_Interface).
This project is written on Rust and uses a very minimal amount of libraries with
the most significant being [`atmega-hal`](https://github.com/Rahix/avr-hal), a
hardware abstraction layer for ATmega-microcontrollers. Images are stored in the
[program memory](https://en.wikipedia.org/wiki/Flash_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](https://qoiformat.org/qoi-specification.pdf) 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](https://rahix.github.io/avr-hal/atmega_hal/spi/type.Spi.html)
within the `atmega-hal` crate.
## Demonstration
![demonstration](./demonstration.mp4)

BIN
demonstration.mp4 Normal file

Binary file not shown.