feat: add led strip class

This commit is contained in:
Andy
2024-12-17 14:03:45 +08:00
committed by Terrence
parent 1820a83256
commit 2e6a278b0d
20 changed files with 449 additions and 133 deletions

View File

@@ -0,0 +1,39 @@
#include "multiple_led.h"
#include <esp_log.h>
#define TAG "MultipleLed"
MultipleLed::MultipleLed(gpio_num_t gpio, uint8_t max_leds) : LedStripWrapper(gpio, max_leds) {
}
MultipleLed::~MultipleLed() {
}
void MultipleLed::LightOn(LedStripEvent event) {
switch (event) {
case kStartup:
ChasingLight(kLedColorWhite, kLedColorBlue, 100, HIGH_BRIGHTNESS);
break;
case kListeningAndSpeaking:
BreathLight(kLedColorRed, 100);
break;
case kListening:
BreathLight(kLedColorRed, 100);
break;
case kSpeaking:
StaticLight(kLedColorGreen, HIGH_BRIGHTNESS);
break;
case kStandby:
BlinkOnce(kLedColorGreen);
break;
case kConnecting:
Blink(kLedColorBlue, 1000, 500);
break;
case kUpgrading:
ContinuousBlink(kLedColorGreen, 100);
break;
default:
ESP_LOGE(TAG, "Invalid led strip event: %d", event);
return;
}
}