ESPNowESK8/src/lights.h

53 lines
1.0 KiB
C

#include <Adafruit_NeoPixel.h>
#define NUM_LEDS 40
#define PIN_STRIP 17
bool shouldUpdateLights = false;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_LEDS, PIN_STRIP, NEO_GRB + NEO_KHZ800);
void lightOff() {
for(int i = 0; i < NUM_LEDS; i++) {
pixels.setPixelColor(i, pixels.Color(0,0,0));
}
portDISABLE_INTERRUPTS();
pixels.show();
portENABLE_INTERRUPTS();
}
void lightWhite() {
for(int i = 0; i < NUM_LEDS; i++) {
pixels.setPixelColor(i, pixels.Color(180,180,180));
}
portDISABLE_INTERRUPTS();
pixels.show();
portENABLE_INTERRUPTS();
}
void lightBackFront() {
// Implement me :-)
for(int i = 0; i < NUM_LEDS; i++) {
pixels.setPixelColor(i, pixels.Color(180,180,180));
}
portDISABLE_INTERRUPTS();
pixels.show();
portENABLE_INTERRUPTS();
}
void updateLights() {
if(lightActive) {
lightWhite();
}else {
lightOff();
}
shouldUpdateLights = false;
}
void setupLights() {
portDISABLE_INTERRUPTS();
pixels.begin();
portENABLE_INTERRUPTS();
delay(1);
lightOff();
}