A simple viewer for pixelfoo apps
Go to file
2023-04-16 21:18:55 +02:00
src Add RGBW support 2023-04-16 20:00:02 +02:00
.gitignore Initial version 2023-04-10 22:51:47 +02:00
Cargo.lock Initial version 2023-04-10 22:51:47 +02:00
Cargo.toml Add documentation in README and some metadata 2023-04-16 21:18:55 +02:00
CHANGELOG.md Initial version 2023-04-10 22:51:47 +02:00
LICENSE-APACHE Initial version 2023-04-10 22:51:47 +02:00
LICENSE-MIT Initial version 2023-04-10 22:51:47 +02:00
README.md Add documentation in README and some metadata 2023-04-16 21:18:55 +02:00

pixelfoo-viewer

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

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.