Mapping fuer Boxen aktualisiert
This commit is contained in:
parent
790ec5b867
commit
ff6cc12e7f
116
NeoPatterns.cpp
116
NeoPatterns.cpp
|
@ -11,6 +11,8 @@ NeoPatterns::NeoPatterns(uint16_t pixels, uint8_t pin, uint8_t type, void (*call
|
|||
pixelR_buffer = ( uint8_t* ) calloc( pixels, sizeof( uint8_t ) );
|
||||
pixelG_buffer = ( uint8_t* ) calloc( pixels, sizeof( uint8_t ) );
|
||||
pixelB_buffer = ( uint8_t* ) calloc( pixels, sizeof( uint8_t ) );
|
||||
setupboxs();
|
||||
|
||||
}
|
||||
|
||||
void NeoPatterns::Update() {
|
||||
|
@ -506,12 +508,122 @@ void NeoPatterns::ColorSet(uint32_t color)
|
|||
}
|
||||
|
||||
void NeoPatterns::colorBox(uint8_t boxid, uint32_t c){ //color a box
|
||||
for (int i=boxid*3;i<(boxid+1)*3;i++) {
|
||||
setPixelColor(i, c);
|
||||
// for (int i=boxid*3;i<(boxid+1)*3;i++) {
|
||||
// setPixelColor(i, c);
|
||||
// }
|
||||
Serial.println("Coloring Box");
|
||||
setPixelColor(boxs[boxid].left, c);
|
||||
setPixelColor(boxs[boxid].middle, c);
|
||||
setPixelColor(boxs[boxid].right, c);
|
||||
show();
|
||||
}
|
||||
|
||||
|
||||
void NeoPatterns::setupboxs() {
|
||||
boxs[1].left = 55;
|
||||
boxs[1].middle = 56;
|
||||
boxs[1].right = 57;
|
||||
|
||||
boxs[2].left = 52;
|
||||
boxs[2].middle = 53;
|
||||
boxs[2].right = 54;
|
||||
|
||||
boxs[3].left = 49;
|
||||
boxs[3].middle = 50;
|
||||
boxs[3].right = 51;
|
||||
|
||||
boxs[4].left = 46;
|
||||
boxs[4].middle = 47;
|
||||
boxs[4].right = 48;
|
||||
|
||||
boxs[5].left = 43;
|
||||
boxs[5].middle = 44;
|
||||
boxs[5].right = 45;
|
||||
|
||||
boxs[6].left = 40;
|
||||
boxs[6].middle = 41;
|
||||
boxs[6].right = 42;
|
||||
|
||||
boxs[7].left = 33;
|
||||
boxs[7].middle = 38;
|
||||
boxs[7].right = 38;
|
||||
|
||||
boxs[8].left = 32;
|
||||
boxs[8].middle = 37;
|
||||
boxs[8].right = 37;
|
||||
|
||||
boxs[9].left = 31;
|
||||
boxs[9].middle = 36;
|
||||
boxs[9].right = 36;
|
||||
|
||||
boxs[10].left = 30;
|
||||
boxs[10].middle = 35;
|
||||
boxs[10].right = 35;
|
||||
|
||||
boxs[11].left = 29;
|
||||
boxs[11].middle = 28;
|
||||
boxs[11].right = 27;
|
||||
|
||||
boxs[12].left = 26;
|
||||
boxs[12].middle = 25;
|
||||
boxs[12].right = 24;
|
||||
|
||||
boxs[13].left = 23;
|
||||
boxs[13].middle = 22;
|
||||
boxs[13].right = 21;
|
||||
|
||||
boxs[14].left = 20;
|
||||
boxs[14].middle = 19;
|
||||
boxs[14].right = 18;
|
||||
|
||||
boxs[15].left = 17;
|
||||
boxs[15].middle = 16;
|
||||
boxs[15].right = 15;
|
||||
|
||||
boxs[16].left = 14;
|
||||
boxs[16].middle = 13;
|
||||
boxs[16].right = 12;
|
||||
|
||||
boxs[17].left = 11;
|
||||
boxs[17].middle = 10;
|
||||
boxs[17].right = 9;
|
||||
|
||||
boxs[18].left = 8;
|
||||
boxs[18].middle = 7;
|
||||
boxs[18].right = 6;
|
||||
|
||||
boxs[19].left = 5;
|
||||
boxs[19].middle = 4;
|
||||
boxs[19].right = 3;
|
||||
|
||||
boxs[20].left = 2;
|
||||
boxs[20].middle = 1;
|
||||
boxs[20].right = 0;
|
||||
|
||||
boxs[21].left = 69;
|
||||
boxs[21].middle = 68;
|
||||
boxs[21].right = 67;
|
||||
|
||||
boxs[22].left = 66;
|
||||
boxs[22].middle = 65;
|
||||
boxs[22].right = 64;
|
||||
|
||||
boxs[23].left = 63;
|
||||
boxs[23].middle = 62;
|
||||
boxs[23].right = 61;
|
||||
|
||||
boxs[24].left = 60;
|
||||
boxs[24].middle = 59;
|
||||
boxs[24].right = 58;
|
||||
|
||||
// Die unterste Zeile ohne Konsole
|
||||
boxs[0].left = 34;
|
||||
boxs[0].middle = 39;
|
||||
boxs[0].right = 39;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void NeoPatterns::ColorSetParameters(String parameters)
|
||||
{
|
||||
None();
|
||||
|
|
|
@ -39,6 +39,17 @@ class NeoPatterns : public Adafruit_NeoPixel
|
|||
void SetColor2(uint32_t color);
|
||||
//Utilities
|
||||
void ColorSet(uint32_t color);
|
||||
|
||||
struct box
|
||||
{
|
||||
int left;
|
||||
int middle;
|
||||
int right;
|
||||
};
|
||||
|
||||
struct box boxs[25];
|
||||
|
||||
void setupboxs();
|
||||
void colorBox(uint8_t boxid, uint32_t c);
|
||||
void ColorSetParameters(String parameters);
|
||||
uint8_t Red(uint32_t color);
|
||||
|
|
|
@ -5,8 +5,10 @@
|
|||
#include "NeoPatterns.h"
|
||||
|
||||
#define PIN D7
|
||||
#define BIGPIXELS 20
|
||||
#define NUMPIXELS (BIGPIXELS * 3) // 3 LEDs form one pixel
|
||||
// #define BIGPIXELS 20
|
||||
#define NUMPIXELS 70 // 3 LEDs form one pixel
|
||||
#define NUMBOXS 24
|
||||
// #define NUMPIXELS (BIGPIXELS * 3) // 3 LEDs form one pixel
|
||||
// #define NUMPIXELS 60
|
||||
|
||||
NeoPatterns strip = NeoPatterns(NUMPIXELS, PIN, NEO_BRG + NEO_KHZ400, &StripComplete);
|
||||
|
@ -16,7 +18,7 @@ HomieNode homieNode("pixel", "commands");
|
|||
#define TIMEOUT 500
|
||||
|
||||
#define FW_NAME "esp-videoswitcher"
|
||||
#define FW_VERSION "1.0.1"
|
||||
#define FW_VERSION "1.0.2"
|
||||
|
||||
SoftwareSerial swSer(D2, D1);
|
||||
int currentnumber = 0;
|
||||
|
@ -25,6 +27,23 @@ int commandbytes[4];
|
|||
String output = "";
|
||||
String output2 = "";
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 25 Boxen insgesamt
|
||||
* Box 0, 1, 2
|
||||
* 0-29 je 3
|
||||
*
|
||||
* 40-
|
||||
* PS1 = 13: 21, 22, 23
|
||||
* SW Pixel
|
||||
* 1 55, 56, 57
|
||||
* 2 52, 53, 54
|
||||
* 3 49, 50, 51
|
||||
* 4 46, 47, 48
|
||||
*
|
||||
*/
|
||||
|
||||
HomieNode switchNode("switch", "switch");
|
||||
|
||||
void StripComplete(){
|
||||
|
@ -47,15 +66,12 @@ bool onSetColor(const HomieRange& range, const String& value) {
|
|||
}
|
||||
|
||||
bool onSetBox(const HomieRange& range, const String& value) {
|
||||
if (range.index < 0 || range.index > BIGPIXELS) {
|
||||
if (range.index < 0 || range.index > (NUMBOXS)) {
|
||||
return false;
|
||||
}
|
||||
strip.None();
|
||||
strip.setPixelColor(range.index*3, value.toInt());
|
||||
strip.setPixelColor(range.index*3+1, value.toInt());
|
||||
strip.setPixelColor(range.index*3+2, value.toInt());
|
||||
strip.show();
|
||||
strip.colorBox(range.index, value.toInt());
|
||||
homieNode.setProperty("box_" + String(range.index)).send(value);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -262,7 +278,6 @@ void loopHandler() {
|
|||
strip.Update();
|
||||
}
|
||||
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
swSer.begin(9600);
|
||||
|
@ -276,14 +291,14 @@ void setup() {
|
|||
switchNode.advertise("switch").settable(switchHandler);
|
||||
|
||||
homieNode.advertiseRange("pixel", 0, NUMPIXELS - 1).settable(onSetPixel);
|
||||
homieNode.advertiseRange("box", 0, BIGPIXELS - 1).settable(onSetBox);
|
||||
homieNode.advertiseRange("box", 0, NUMBOXS - 1).settable(onSetBox);
|
||||
homieNode.advertiseRange("color", 0, 1).settable(onSetColor);
|
||||
homieNode.advertise("brightness").settable(onSetBrightness);
|
||||
homieNode.advertise("effect").settable(onSetEffect);
|
||||
homieNode.advertise("clear").settable(onSetClear);
|
||||
homieNode.advertise("length").settable(onSetLength);
|
||||
homieNode.advertiseRange("pixels", 0, (NUMPIXELS - 1)*7).settable(onSetPixels);
|
||||
homieNode.advertiseRange("boxs", 0, (BIGPIXELS - 1)*7).settable(onSetBoxs);
|
||||
// homieNode.advertiseRange("pixels", 0, (NUMPIXELS - 1)*7).settable(onSetPixels);
|
||||
// homieNode.advertiseRange("boxs", 0, (BIGPIXELS - 1)*7).settable(onSetBoxs);
|
||||
|
||||
|
||||
Homie.setup();
|
||||
|
@ -297,15 +312,18 @@ void setup() {
|
|||
|
||||
ArduinoOTA.setHostname(Homie.getConfiguration().deviceId);
|
||||
ArduinoOTA.onStart([]() {
|
||||
Serial.println("\nArduinoOTA.onStart()");
|
||||
strip.clear();
|
||||
strip.setBrightness(64);
|
||||
});
|
||||
ArduinoOTA.onEnd([]() {
|
||||
Serial.println("\nArduinoOTA.onEnd()");
|
||||
strip.clear();
|
||||
});
|
||||
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
||||
strip.setPixelColor(progress / (total / NUMPIXELS), strip.Color(100, 0, 0));
|
||||
strip.show();
|
||||
Serial.println("\nArduinoOTA.onProgress()");
|
||||
// strip.setPixelColor(progress / (total / NUMPIXELS), strip.Color(100, 0, 0));
|
||||
// strip.show();
|
||||
});
|
||||
|
||||
ArduinoOTA.begin();
|
||||
|
|
Loading…
Reference in New Issue