diff --git a/defines.h b/defines.h index c19e54d..61d118c 100644 --- a/defines.h +++ b/defines.h @@ -10,11 +10,24 @@ #define DEBUG + + +// #define WS2811 +#define PL9823 + + #define EEPROM_ADDR 0 #define CONFIG_SWITCH 4 // Arduino numbering +#ifdef WS2811 #define PIXEL_PIN 1 // NODEMCU numbering +#endif + +#ifdef PL9823 +#define PIXEL_PIN D1 +#endif + #define NUM_OF_LEDs 64 #endif /* DEFINES_H_ */ diff --git a/productionMode.cpp b/productionMode.cpp index e19c792..581cdd7 100644 --- a/productionMode.cpp +++ b/productionMode.cpp @@ -7,9 +7,6 @@ -// #define FASTLED -#define ADAFRUIT_NEOPIXEL - #include "defines.h" #define MQTT_MAX_PACKET_SIZE 256 @@ -22,12 +19,12 @@ #include #include -#ifdef FASTLED +#ifdef WS2811 #define FASTLED_ESP8266_NODEMCU_PIN_ORDER #include #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 #include #endif @@ -46,11 +43,11 @@ WiFiClientSecure espClient; PubSubClient client(espClient); -#ifdef FASTLED +#ifdef WS2811 CRGB leds[NUM_OF_LEDs]; #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 typedef struct { uint8_t r; uint8_t g; @@ -58,7 +55,7 @@ typedef struct { } CRGB; -Adafruit_NeoPixel pixels(NUM_OF_LEDs, D1, NEO_RGB + NEO_KHZ400); +Adafruit_NeoPixel pixels(NUM_OF_LEDs, PIXEL_PIN, NEO_RGB + NEO_KHZ400); #endif void setup_wifi() { @@ -192,19 +189,19 @@ void callback(char* topic, byte* payload, unsigned int length) { // set brightness b = strtol(tokens[0], NULL, 10); for (uint8_t i = 0; i < NUM_OF_LEDs; i++) { -#ifdef FASTLED +#ifdef WS2811 leds[i].r = b; leds[i].g = b; leds[i].b = b; #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.setPixelColor(i, pixels.Color(b, b, b)); #endif } -#ifdef FASTLED +#ifdef WS2811 FastLED.show(); #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.show(); #endif @@ -214,13 +211,13 @@ void callback(char* topic, byte* payload, unsigned int length) { n = strtol(tokens[0], NULL, 10); b = strtol(tokens[1], NULL, 10); if (n >= 0 && n < NUM_OF_LEDs) { -#ifdef FASTLED +#ifdef WS2811 leds[n].r = b; leds[n].g = b; leds[n].b = b; FastLED.show(); #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.setPixelColor(n, pixels.Color(b, b, b)); pixels.show(); #endif @@ -236,17 +233,17 @@ void callback(char* topic, byte* payload, unsigned int length) { // on, off, color word for all LEDs colors = evaluationColorWord(tokens[0]); for (uint8_t i = 0; i < NUM_OF_LEDs; i++) { -#ifdef FASTLED +#ifdef WS2811 leds[i] = colors; #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.setPixelColor(i, pixels.Color(colors.r, colors.g, colors.b)); #endif } -#ifdef FASTLED +#ifdef WS2811 FastLED.show(); #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.show(); #endif break; @@ -255,11 +252,11 @@ void callback(char* topic, byte* payload, unsigned int length) { n = strtol(tokens[0], NULL, 10); if (n >= 0 && n < NUM_OF_LEDs) { colors = evaluationColorWord(tokens[1]); -#ifdef FASTLED +#ifdef WS2811 leds[n] = colors; FastLED.show(); #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.setPixelColor(n, pixels.Color(colors.r, colors.g, colors.b)); pixels.show(); #endif @@ -271,19 +268,19 @@ void callback(char* topic, byte* payload, unsigned int length) { green = strtol(tokens[1], NULL, 10); blue = strtol(tokens[2], NULL, 10); for (uint8_t i = 0; i < NUM_OF_LEDs; i++) { -#ifdef FASTLED +#ifdef WS2811 leds[i].r = red; leds[i].g = green; leds[i].b = blue; #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.setPixelColor(i, pixels.Color(red, green, blue)); #endif } -#ifdef FASTLED +#ifdef WS2811 FastLED.show(); #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.show(); #endif break; @@ -294,13 +291,13 @@ void callback(char* topic, byte* payload, unsigned int length) { red = strtol(tokens[1], NULL, 10); green = strtol(tokens[2], NULL, 10); blue = strtol(tokens[3], NULL, 10); -#ifdef FASTLED +#ifdef WS2811 leds[n].r = red; leds[n].g = green; leds[n].b = blue; FastLED.show(); #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.setPixelColor(n, pixels.Color(red, green, blue)); pixels.show(); #endif @@ -362,12 +359,12 @@ void setupProduction() { setup_wifi(); client.setServer(configBlock.mqttBroker, configBlock.mqttPort); -#ifdef FASTLED - // FastLED.addLeds(leds, NUM_OF_LEDs); - FastLED.addLeds(leds, NUM_OF_LEDs); +#ifdef WS2811 + FastLED.addLeds(leds, NUM_OF_LEDs); #endif -#ifdef ADAFRUIT_NEOPIXEL +#ifdef PL9823 pixels.begin(); + pixels.clear(); #endif }