Skip to content
Adrian Pistol edited this page Apr 3, 2018 · 1 revision

Furiously Asked Questions

Keep thy fury to thyself.

Why sled? Why satanic?

Names are hard, short and rememberable names are harder.

Originally, I came up with sled meaning "Silly LEDs", but after telling a friend about the project,
they figured it meant `satanic`, which I found quite funny. It's been that ever since.

Well, that and a bunch of other words starting with S.

But why?

sled was born out of necessity. I wanted a cheap and self-sustaining LED matrix.

My first hardware platform I made was based on a Raspberry PI Zero W and 5 meter WS2812B LED strip with 150 LEDs.
Made the matrix on a piece of plywood in a snake pattern. Worked nicely.

However, there wasn't any good piece of software to use it on a Pi. So, I made some.
Decided that since I am not restrained by a microcontroller, but instead have a complete OS underneath,
I would make use of it: Dynamic modules, loaded at runtime, simple code in effects, no excessive optimization there. No prerendering (LUTs are okay).
No reason to write inefficient code, however. But if there is a choice between very clean code and a little faster complete mess, it's the former, unlike what you'd probably need to do on slow MCU's.

It's been getting more configurable and dynamic commit by commit:
Originally, we had stack allocated buffers, so you'd have to recompile if your matrix size changes. No more!
ifdefs everywhere? BEGONE!
FIFO based command interface? Hell yeah!
Modular filters? Gamma correction is awesome!
Filter and output module arguments? Compile time settings and environment variables are disappearing!
OpenPixelControl server? Because we can, we must! ;)