esp-pixelbox/Readme.md

97 lines
3.1 KiB
Markdown

Pixelbox Firmware
=====================
## About
## Features
### LED 8x8 Field
|Topic |Descriptions |settable |Values |
|---------|--------------|:---------:|---------|
|`device_id`/pixel/pixel/|Range property from 0 - (number of pixels - 1)|yes|Color as uint32_t see [Color](#color)|
|`device_id`/pixel/pixels/|Range property from 0 - (number of pixels - 1)|yes|Color as #xxxxxx without spaces [Color](#color)|
|`device_id`/pixel/vu/|Range property from 0 - sqrt(number of pixels)-1|yes|sqrt(number of pixels) numbers, ranged 0-7
|`device_id`/pixel/color|Range property to set the effects colors 1 & 2 see: [effect colors](#effect-colors)|yes|Color as uint32_t see [Color](#color)|
|`device_id`/pixel/brightness|Sets the brightness of the pixel strip|yes|possible values: 0 - 255|
|`device_id`/pixel/effect|Set effect|yes|see: [effects](#effects)|
|`device_id`/pixel/clear|Clears the pixels strip|yes|any value is possible|
|`device_id`/pixel/length|Set the strip length|yes|Possible values: 0 - length|
|`device_id`/pixel/icon|Show the icon represented by given letter|yes|Possible values: a - Z|
## Color
To convert RGB value use the following bash code:
```shell
function rgbToColor {
echo $(( $(($1<<16)) + $(($2<<8)) + $(($3)) ));
}
function colorToRGB {
echo "Red: $(($1>>16&0xff))"
echo "Green: $(($1>>8&0xff))"
echo "Blue: $(($1&0xff))"
}
```
#### Example
RGB Value to color uint32_t
```shell
bash$ rgbToColor 155 230 32
10216992
bash$
```
uint32_t to RGB values
```shell
bash$ colorToRGB 10216992
Red: 155
Green: 230
Blue: 32
bash$
```
## Effects
* **larsonspiral**
Shows the moving larson scanner eye known form *Battlestar Galactica* and *Knight Rider*. The used effect color can be specified by *color_0*
* **randomscanner**
This is the same scanner then the scanner above but uses an alternating color pattern
* **larsonspiral**
This is the same scanner then the randomscanner above but uses a spiral pattern
* **rainbowcycle**
Shows a cycling rainbown on the LED strip
* **theaterchase**
Shows an color chasing LED strip.
You can specify the color by set *color_0* and *color_1*
* **fade**
Fades from effect color_0 to effect_color_1
* **randomfade**
Fades thru an alternating color pattern on all pixels with the same color.
* **randomfade|40**
Fades thru an alternating color pattern on all pixels with different color.
* **random**
Shows random static colors on all pixels differently.
* **smooth**
Smooth chainging effect.
* **plasma**
The all famous plasma effect known from many 8bit-Demos from the '80s and '90s.
* **none**
Stop all effects
## Effect colors
You can set to different effect colors
* *color_0* (default R: 255, G: 0 B: 0)
* *color_1* (default R: 0, G: 0 B: 255)
The effect color has to be set after the effect.
###### Example:
1. `homie/device_id/pixel/effect/set -m "fade"`
2. `homie/device_id/pixel/color_0/set -m "255"`
3. `homie/device_id/pixel/color_1/set -m "10216992"`
##### color_0
This color will be used for the following effects:
* *scanner*
* *theaterchase*
* *fade*
##### color_1
This color will be used for the following effects:
* *theaterchase*
* *fade*