void HalRgbLed::triggerEvent(void) { if (RgbLed.ledEventHandler != 0) { if (Scout.eventVerboseOutput) { sp("Running: ledEventHandler("); sp(redValue); sp(","); sp(greenValue); sp(","); sp(blueValue); speol(")"); } RgbLed.ledEventHandler(redValue, greenValue, blueValue); } }
void HalRgbLed::triggerEvent(void) { if (Led.ledEventHandler != 0) { if (Scout.eventVerboseOutput) { Serial.print(F("Running: ledEventHandler(")); Serial.print(redValue); Serial.print(F(",")); Serial.print(greenValue); Serial.print(F(",")); Serial.print(blueValue); Serial.println(F(")")); } Led.ledEventHandler(redValue, greenValue, blueValue); } }
void HalRgbLed::setColor(short red, short green, short blue) { if (!isEnabled()) { return; } bool hasChanged = false; if (red != getRedValue() || green != getGreenValue() || blue != getBlueValue()) { hasChanged = true; } setRedValue(red); setGreenValue(green); setBlueValue(blue); if (hasChanged) { RgbLed.triggerEvent(); } }
static void halRgbLedBlinkTimerHandler(SYS_Timer_t *timer) { if (timer->mode == SYS_TIMER_PERIODIC_MODE) { if (RgbLed.getRedValue() || RgbLed.getGreenValue() || RgbLed.getBlueValue()) { RgbLed.setColor(0, 0, 0); } else { RgbLed.setLEDToBlinkValue(); } } else { RgbLed.turnOff(); } }