diff --git a/src/AmsToMqttBridge.ino b/src/AmsToMqttBridge.ino index 87725f60..3bb3f0dc 100644 --- a/src/AmsToMqttBridge.ino +++ b/src/AmsToMqttBridge.ino @@ -44,16 +44,6 @@ Stream* debugger = NULL; // The HAN Port reader, used to read serial data and decode DLMS HanReader hanReader; -#if HAS_RGB_LED - //void rgb_led(int color, int mode); - #define RGB_RED 1 - #define RGB_GREEN 2 - #define RGB_YELLOW 3 - #define RGB_OFF 0 - #define RGB_ON 1 - #define RGB_BLINK 2 -#endif - // the setup function runs once when you press reset or power the board void setup() { if(config.hasConfig()) { @@ -145,18 +135,12 @@ void setup() { ws.setup(&config, debugger, &mqtt); #if HAS_RGB_LED - //Test Red and Green LED blink - rgb_led(RGB_RED, RGB_BLINK); - delay(500); - rgb_led(RGB_RED, RGB_BLINK); - delay(500); - rgb_led(RGB_GREEN, RGB_BLINK); - delay(500); - rgb_led(RGB_GREEN, RGB_BLINK); - delay(500); - rgb_led(RGB_YELLOW, RGB_BLINK); - delay(500); - rgb_led(RGB_YELLOW, RGB_BLINK); + //Signal startup by blinking red / green / yellow + rgb_led(RGB_RED, 2); + delay(250); + rgb_led(RGB_GREEN, 2); + delay(250); + rgb_led(RGB_YELLOW, 2); #endif } @@ -305,7 +289,7 @@ void readHanPort() { if(config.getMeterType() > 0) { // Flash LED on, this shows us that data is received #if HAS_RGB_LED - rgb_led(RGB_GREEN, RGB_ON); + rgb_led(RGB_GREEN, 1); #else led_on(); #endif @@ -360,7 +344,7 @@ void readHanPort() { // Flash LED off // Flash LED off #if HAS_RGB_LED - rgb_led(RGB_GREEN, RGB_OFF); + rgb_led(RGB_GREEN, 0); #else led_off(); #endif @@ -537,26 +521,29 @@ void rgb_led(int color, int mode) { // Activate red and green LEDs // color: 1=red, 2=green, 3=yellow // mode: 0=OFF, 1=ON, 2=Short blink -#if +#ifndef HAS_RGB_LED +#define LEDPIN_RGB_RED LED_PIN +#define LEDPIN_RGB_GREEN LED_PIN +#endif int blinkduration = 50; // milliseconds switch (mode) { case 0: //OFF - digitalWrite(LED_RGB_RED, HIGH); - digitalWrite(LED_RGB_GREEN, HIGH); + digitalWrite(LEDPIN_RGB_RED, HIGH); + digitalWrite(LEDPIN_RGB_GREEN, HIGH); break; case 1: //ON switch (color) { case 1: //Red - digitalWrite(LED_RGB_RED, LOW); - digitalWrite(LED_RGB_GREEN, HIGH); + digitalWrite(LEDPIN_RGB_RED, LOW); + digitalWrite(LEDPIN_RGB_GREEN, HIGH); break; case 2: //Green - digitalWrite(LED_RGB_RED, HIGH); - digitalWrite(LED_RGB_GREEN, LOW); + digitalWrite(LEDPIN_RGB_RED, HIGH); + digitalWrite(LEDPIN_RGB_GREEN, LOW); break; case 3: //Yellow - digitalWrite(LED_RGB_RED, LOW); - digitalWrite(LED_RGB_GREEN, LOW); + digitalWrite(LEDPIN_RGB_RED, LOW); + digitalWrite(LEDPIN_RGB_GREEN, LOW); break; } break;