Add documentation in README and some metadata

This commit is contained in:
Juergen Stuber 2023-04-16 21:18:55 +02:00
parent a6e654f4be
commit ef272b7e46
2 changed files with 38 additions and 0 deletions

View File

@ -3,6 +3,10 @@ name = "pixelfoo-viewer"
version = "0.1.0" version = "0.1.0"
authors = ["Juergen Stuber <juergen@jstuber.net>"] authors = ["Juergen Stuber <juergen@jstuber.net>"]
description = "Viewer for pixelfoo frame streams." description = "Viewer for pixelfoo frame streams."
homepage = "https://codeberg.org/poc/pixelfoo-viewer.git"
repository = "https://codeberg.org/poc/pixelfoo-viewer.git"
keywords = ["led", "led-matrix", "neopixel", "smart-leds", "cli", "graphics", "2d"]
categories = ["graphics"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
edition = "2021" edition = "2021"

View File

@ -2,6 +2,40 @@
> A viewer for pixelfoo frame streams. > A viewer for pixelfoo frame streams.
## Background
At Chaospott in Essen we have a large 80x40 array of Neopixel LEDs
in the ceiling our main room.
A server can run various apps to generate animations on the LED array.
## Apps
Apps can be written in any programming language,
they are started as child processes.
They get the width and height as the first and second command line parameter,
plus currently one additional free-to-use third parameter.
Apps generate a stream of fixed format pixel data as their standard output.
A pixel is either three bytes for red, green and blue (RGB),
or four bytes with additionally white (RGBW).
The number of pixels specified by the width make up a row,
and the number of rows specified by the height make up a frame.
Frames are sent consecutively, without any additional delimiters.
The app controls the speed by the timing of the frame data it sends.
## Viewer
The viewer runs such apps locally and displays the animation in a window.
This helps with app development.
For example,
```
pixelfoo-viewer -w apps/backlight.py 80 40
```
runs the `backlight.py` app (assuming it exists) in RGBW mode
with an 80x40 matrix.
## License ## License
Licensed under either of Licensed under either of