53 lines
1.0 KiB
C
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();
|
|
} |