btclock_v3/src/lib/led_handler.hpp

47 lines
1.4 KiB
C++
Raw Normal View History

2023-11-07 20:26:15 +00:00
#pragma once
#include <Arduino.h>
#include <Adafruit_NeoPixel.h>
#include "shared.hpp"
2023-11-08 11:18:59 +00:00
#ifndef NEOPIXEL_PIN
#define NEOPIXEL_PIN 34
#endif
#ifndef NEOPIXEL_COUNT
#define NEOPIXEL_COUNT 4
#endif
const int LED_FLASH_ERROR = 0;
const int LED_FLASH_SUCCESS = 1;
const int LED_FLASH_UPDATE = 2;
const int LED_FLASH_BLOCK_NOTIFY = 3;
const int LED_EFFECT_START_TIMER = 4;
const int LED_EFFECT_PAUSE_TIMER = 5;
const int LED_EFFECT_WIFI_WAIT_FOR_CONFIG = 100;
const int LED_EFFECT_WIFI_CONNECTING = 101;
const int LED_EFFECT_WIFI_CONNECT_ERROR = 102;
const int LED_EFFECT_WIFI_CONNECT_SUCCESS = 103;
const int LED_EFFECT_WIFI_ERASE_SETTINGS = 104;
const int LED_PROGRESS_25 = 200;
const int LED_PROGRESS_50 = 201;
const int LED_PROGRESS_75 = 202;
const int LED_PROGRESS_100 = 203;
const int LED_POWER_TEST = 999;
2023-11-07 20:26:15 +00:00
extern TaskHandle_t ledTaskHandle;
extern Adafruit_NeoPixel pixels;
2023-11-07 20:26:15 +00:00
void ledTask(void *pvParameters);
2023-11-08 11:18:59 +00:00
void setupLeds();
2023-11-07 20:26:15 +00:00
void setupLedTask();
2023-11-08 11:18:59 +00:00
void blinkDelay(int d, int times);
void blinkDelayColor(int d, int times, uint r, uint g, uint b);
void blinkDelayTwoColor(int d, int times, uint32_t c1, uint32_t c2);
void clearLeds();
QueueHandle_t getLedTaskQueue();
bool queueLedEffect(uint effect);
void setLights(int r, int g, int b);
void setLights(uint32_t color);
void ledRainbow(int wait);
void ledTheaterChaseRainbow(int wait);
void ledTheaterChase(uint32_t color, int wait);
Adafruit_NeoPixel getPixels();