Added code for RGB LED

This commit is contained in:
ArnieO 2020-02-21 18:53:05 +01:00
parent 47293eebe4
commit 79274e490d

View File

@ -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;