[LED] Add LED STRIP macros and a third Addressable pin (#2063)
* [LED] Add LED STRIP macros and a third Addressable pin --------- Co-authored-by: Florian <1technophile@users.noreply.github.com>
This commit is contained in:
1 parent
0b4c6ef107
commit
0d338cc5c5
4 files changed
+39
-18
No files matched your search
@@ -54,6 +54,10 @@ void LEDManager::setMode(int stripIndex, int ledIndex, Mode mode, uint32_t color
|
|||||||
} else if (ledIndex >= 0 && ledIndex < ledStrips[stripIndex].ledStates.size()) {
|
} else if (ledIndex >= 0 && ledIndex < ledStrips[stripIndex].ledStates.size()) {
|
||||||
setModeForSingleLED(stripIndex, ledIndex, mode, color, durationOrBlinkCount);
|
setModeForSingleLED(stripIndex, ledIndex, mode, color, durationOrBlinkCount);
|
||||||
}
|
}
|
||||||
|
} else if (stripIndex == -1) {
|
||||||
|
for (int i = 0; i < ledStrips.size(); i++) {
|
||||||
|
setMode(i, ledIndex, mode, color, durationOrBlinkCount);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,10 +62,10 @@ void setup() {
|
|||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
#ifdef LED_ADDRESSABLE
|
#ifdef LED_ADDRESSABLE
|
||||||
// Set all LEDs on the strip to static green
|
// Set all LEDs on the first strip to static green
|
||||||
ledManager.setMode(0, -1, LEDManager::STATIC, LED_COLOR_GREEN);
|
ledManager.setMode(0, -1, LEDManager::STATIC, LED_COLOR_GREEN);
|
||||||
|
|
||||||
// Blink first 5 LEDs red for 3 times
|
// Blink first 5 LEDs red for 3 times on the first strip
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
ledManager.setMode(0, i, LEDManager::BLINK, LED_COLOR_RED, 3);
|
ledManager.setMode(0, i, LEDManager::BLINK, LED_COLOR_RED, 3);
|
||||||
}
|
}
|
||||||
@@ -73,7 +73,7 @@ void loop() {
|
|||||||
// Set first LED to static green
|
// Set first LED to static green
|
||||||
ledManager.setMode(0, 0, LEDManager::STATIC, LED_COLOR_GREEN);
|
ledManager.setMode(0, 0, LEDManager::STATIC, LED_COLOR_GREEN);
|
||||||
|
|
||||||
// Blink second LED red
|
// Blink second strip LED red
|
||||||
ledManager.setMode(1, 0, LEDManager::BLINK, LED_COLOR_RED, 3);
|
ledManager.setMode(1, 0, LEDManager::BLINK, LED_COLOR_RED, 3);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
+16
-2
@@ -447,8 +447,22 @@ ss_cnt_parameters cnt_parameters_array[cnt_parameters_array_size] = {
|
|||||||
#ifndef LED_NETWORK
|
#ifndef LED_NETWORK
|
||||||
# define LED_NETWORK 0
|
# define LED_NETWORK 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef LED_POWER
|
|
||||||
# define LED_POWER -1
|
// LED Strip index
|
||||||
|
#ifndef STRIP_ERROR
|
||||||
|
# define STRIP_ERROR 0
|
||||||
|
#endif
|
||||||
|
#ifndef STRIP_PROCESSING
|
||||||
|
# define STRIP_PROCESSING 0
|
||||||
|
#endif
|
||||||
|
#ifndef STRIP_BROKER
|
||||||
|
# define STRIP_BROKER 0
|
||||||
|
#endif
|
||||||
|
#ifndef STRIP_NETWORK
|
||||||
|
# define STRIP_NETWORK 0
|
||||||
|
#endif
|
||||||
|
#ifndef STRIP_POWER
|
||||||
|
# define STRIP_POWER 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Single standard LED pin
|
// Single standard LED pin
|
||||||
|
|||||||
+16
-13
@@ -1230,65 +1230,65 @@ void updateAndHandleLEDsTask() {
|
|||||||
static GatewayState previousGatewayState;
|
static GatewayState previousGatewayState;
|
||||||
if (previousGatewayState != gatewayState) {
|
if (previousGatewayState != gatewayState) {
|
||||||
#ifdef LED_POWER
|
#ifdef LED_POWER
|
||||||
ledManager.setMode(0, LED_POWER, LEDManager::STATIC, LED_POWER_COLOR, -1);
|
ledManager.setMode(STRIP_POWER, LED_POWER, LEDManager::STATIC, LED_POWER_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
switch (gatewayState) {
|
switch (gatewayState) {
|
||||||
case PROCESSING:
|
case PROCESSING:
|
||||||
#ifdef LED_PROCESSING
|
#ifdef LED_PROCESSING
|
||||||
ledManager.setMode(0, LED_PROCESSING, LEDManager::BLINK, LED_PROCESSING_COLOR, 3);
|
ledManager.setMode(STRIP_PROCESSING, LED_PROCESSING, LEDManager::BLINK, LED_PROCESSING_COLOR, 3);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case WAITING_ONBOARDING:
|
case WAITING_ONBOARDING:
|
||||||
#ifdef LED_BROKER
|
#ifdef LED_BROKER
|
||||||
ledManager.setMode(0, LED_BROKER, LEDManager::STATIC, LED_WAITING_ONBOARD_COLOR, -1);
|
ledManager.setMode(STRIP_BROKER, LED_BROKER, LEDManager::STATIC, LED_WAITING_ONBOARD_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case ONBOARDING:
|
case ONBOARDING:
|
||||||
#ifdef LED_BROKER
|
#ifdef LED_BROKER
|
||||||
ledManager.setMode(0, LED_BROKER, LEDManager::STATIC, LED_ONBOARD_COLOR, -1);
|
ledManager.setMode(STRIP_BROKER, LED_BROKER, LEDManager::STATIC, LED_ONBOARD_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case NTWK_CONNECTED:
|
case NTWK_CONNECTED:
|
||||||
#ifdef LED_NETWORK
|
#ifdef LED_NETWORK
|
||||||
ledManager.setMode(0, LED_NETWORK, LEDManager::STATIC, LED_NETWORK_OK_COLOR, -1);
|
ledManager.setMode(STRIP_NETWORK, LED_NETWORK, LEDManager::STATIC, LED_NETWORK_OK_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case BROKER_CONNECTED:
|
case BROKER_CONNECTED:
|
||||||
#ifdef LED_BROKER
|
#ifdef LED_BROKER
|
||||||
ledManager.setMode(0, LED_BROKER, LEDManager::STATIC, LED_BROKER_OK_COLOR, -1);
|
ledManager.setMode(STRIP_BROKER, LED_BROKER, LEDManager::STATIC, LED_BROKER_OK_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case NTWK_DISCONNECTED:
|
case NTWK_DISCONNECTED:
|
||||||
#ifdef LED_NETWORK
|
#ifdef LED_NETWORK
|
||||||
ledManager.setMode(0, LED_NETWORK, LEDManager::BLINK, LED_NETWORK_ERROR_COLOR, -1);
|
ledManager.setMode(STRIP_NETWORK, LED_NETWORK, LEDManager::BLINK, LED_NETWORK_ERROR_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case BROKER_DISCONNECTED:
|
case BROKER_DISCONNECTED:
|
||||||
#ifdef LED_BROKER
|
#ifdef LED_BROKER
|
||||||
ledManager.setMode(0, LED_BROKER, LEDManager::BLINK, LED_BROKER_ERROR_COLOR, -1);
|
ledManager.setMode(STRIP_BROKER, LED_BROKER, LEDManager::BLINK, LED_BROKER_ERROR_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case SLEEPING:
|
case SLEEPING:
|
||||||
ledManager.setMode(0, -1, LEDManager::OFF, 0, -1);
|
ledManager.setMode(-1, -1, LEDManager::OFF, 0, -1);
|
||||||
break;
|
break;
|
||||||
case OFFLINE:
|
case OFFLINE:
|
||||||
#ifdef LED_NETWORK
|
#ifdef LED_NETWORK
|
||||||
ledManager.setMode(0, LED_NETWORK, LEDManager::BLINK, LED_OFFLINE_COLOR, -1);
|
ledManager.setMode(STRIP_NETWORK, LED_NETWORK, LEDManager::BLINK, LED_OFFLINE_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case LOCAL_OTA_IN_PROGRESS:
|
case LOCAL_OTA_IN_PROGRESS:
|
||||||
#ifdef LED_PROCESSING
|
#ifdef LED_PROCESSING
|
||||||
ledManager.setMode(0, LED_PROCESSING, LEDManager::BLINK, LED_OTA_LOCAL_COLOR, -1);
|
ledManager.setMode(STRIP_PROCESSING, LED_PROCESSING, LEDManager::BLINK, LED_OTA_LOCAL_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case REMOTE_OTA_IN_PROGRESS:
|
case REMOTE_OTA_IN_PROGRESS:
|
||||||
#ifdef LED_PROCESSING
|
#ifdef LED_PROCESSING
|
||||||
ledManager.setMode(0, LED_PROCESSING, LEDManager::BLINK, LED_OTA_REMOTE_COLOR, -1);
|
ledManager.setMode(STRIP_PROCESSING, LED_PROCESSING, LEDManager::BLINK, LED_OTA_REMOTE_COLOR, -1);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case ERROR:
|
case ERROR:
|
||||||
#ifdef LED_ERROR
|
#ifdef LED_ERROR
|
||||||
ledManager.setMode(0, LED_ERROR, LEDManager::BLINK, LED_ERROR_COLOR, 3);
|
ledManager.setMode(STRIP_ERROR, LED_ERROR, LEDManager::BLINK, LED_ERROR_COLOR, 3);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -1323,6 +1323,9 @@ void setup() {
|
|||||||
# endif
|
# endif
|
||||||
# ifdef LED_ADDRESSABLE_PIN2
|
# ifdef LED_ADDRESSABLE_PIN2
|
||||||
ledManager.addLEDStrip(LED_ADDRESSABLE_PIN2, LED_ADDRESSABLE_NUM);
|
ledManager.addLEDStrip(LED_ADDRESSABLE_PIN2, LED_ADDRESSABLE_NUM);
|
||||||
|
# endif
|
||||||
|
# ifdef LED_ADDRESSABLE_PIN3
|
||||||
|
ledManager.addLEDStrip(LED_ADDRESSABLE_PIN3, LED_ADDRESSABLE_NUM);
|
||||||
# endif
|
# endif
|
||||||
ledManager.setBrightness(SYSConfig.rgbbrightness);
|
ledManager.setBrightness(SYSConfig.rgbbrightness);
|
||||||
#elif LED_PIN
|
#elif LED_PIN
|
||||||
|
|||||||
Reference in new issue
Block a user