From a373ebbbfcd397dc37944f600ae3e2cf3dd37355 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sun, 26 Jul 2020 17:59:08 +0200 Subject: [PATCH] add colorPattern config option, use mqtt boilerplate with watchdog --- libraries/esp8266mqttboilerplate | 2 +- sketch/ConfigDataStructure.py | 4 +++- sketch/application.cpp | 21 +++++++++++++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/libraries/esp8266mqttboilerplate b/libraries/esp8266mqttboilerplate index 50a1c84..eb6a11b 160000 --- a/libraries/esp8266mqttboilerplate +++ b/libraries/esp8266mqttboilerplate @@ -1 +1 @@ -Subproject commit 50a1c84f307f227524d5fadbb81346ae52fa13aa +Subproject commit eb6a11bf7da707071eae730975d7b35024db58cc diff --git a/sketch/ConfigDataStructure.py b/sketch/ConfigDataStructure.py index 70e8769..78a87fa 100644 --- a/sketch/ConfigDataStructure.py +++ b/sketch/ConfigDataStructure.py @@ -11,8 +11,10 @@ configItems = [ {"label":"MQTT Topic Color Command", "key":"mqttTopicColorCommand", "type":"C", "length":64, "default":"IoT/RgbLed1/ColorCommand"}, {"label":"MQTT Topic Command", "key":"mqttTopicCommand", "type":"C", "length":64, "default":"IoT/RgbLed1/Command"}, {"label":"MQTT DebugTopic", "key":"mqttDebugTopic", "type":"C", "length":64, "default":"IoT/RgbLed1/Debug"}, + {"label":"MQTT WatchdogTopic", "key":"mqttWatchdogTopic", "type":"C", "length":64, "default":"IoT/Watchdog"}, + {"label":"Color pattern (rgb=0, grb=1", "key":"colorPattern", "type":"I", "default":0}, {"label":"DebugMode", "key":"debugMode", "type":"I", "default":0} ] -magic = 3235774470 +magic = 3235774471 appName = "ESP8266 based RGB-LED-Light" diff --git a/sketch/application.cpp b/sketch/application.cpp index dd3ebfc..1c967a1 100644 --- a/sketch/application.cpp +++ b/sketch/application.cpp @@ -43,7 +43,7 @@ typedef struct { // Adafruit_NeoPixel pixels(NUM_OF_LEDs, PIXEL_PIN, NEO_RGB + NEO_KHZ400); -Adafruit_NeoPixel pixels(NUM_OF_LEDs, PIXEL_PIN, NEO_GRB + NEO_KHZ800); +Adafruit_NeoPixel pixels(NUM_OF_LEDs, PIXEL_PIN, NEO_RGB + NEO_KHZ800); #endif bool show = false; @@ -102,7 +102,23 @@ void subscribeApplication() { -static void setColor(int16_t ledNumber, uint8_t red, uint8_t green, uint8_t blue) { +static void setColor(int16_t ledNumber, uint8_t x, uint8_t y, uint8_t z) { + uint8_t red, green, blue; + + switch (configBlock.colorPattern) { + case 1: + red = y; + green = x; + blue = z; + break; + case 0: + default: + red = x; + green = y; + blue = z; + break; + } + if (ledNumber == -1) { for (uint16_t i = 0; i < NUM_OF_LEDs; i++) { #ifdef WS2811 @@ -188,6 +204,7 @@ void callbackApplication(char *topic, uint8_t tokenCnt, char **tokens) { void setupApplication() { mqttSetup(); + #ifdef WS2811 FastLED.addLeds(leds, NUM_OF_LEDs); #endif