#include #include "hardware.h" #include "globals.h" #include "config.h" void singleLED(int n, int color) { } // 0000 0001 // 0000 0010 // 0000 0011 // 0000 0100 // ... // 0111 0000 // 0111 1111 // >> 4 == 0111 // 127 -> 255, 255, 255, 255, 255, 255, 255, 255 // 64 -> 255, 255, 255, 255, 0, 0, 0, 0 // 64 -> 255, 255, 255, 255, 0, 0, 0, 0 // 32 -> 255, 255, 0, 0, 0, 0, 0, 0 // 24 -> 255, 127, 0, 0, 0, 0, 0, 0 // 16 -> 255, 0, 0, 0, 0, 0, 0, 0 // 8 -> 127, 0, 0, 0, 0, 0, 0, 0 // 0 -> 0, 0, 0, 0, 0, 0, 0, 0 void ledFullMeter(byte indicatedValue, int color){ int scaledVal = indicatedValue; ledStrip.setBrightness(1); for (int i = 0; i < 8; i++) { if (scaledVal > 0) { ledStrip.setPixel(i, color); } else { ledStrip.setPixel(i, 0); } scaledVal -= 16; } ledStrip.show(); } void ledHalfMeter(int n, byte indicatedValue, int color){ } void ledQuarterMeter(int n, byte indicatedValue, int color){ } void statusLedOn() { digitalWrite(statusLedPin, HIGH); } void statusLedOff() { digitalWrite(statusLedPin, LOW); } void statusLed(bool state) { digitalWrite(statusLedPin, state); } void statusLedFlip() { digitalWrite(statusLedPin, !digitalRead(statusLedPin)); } void statusLedFlash(uint16_t delayTime) { for (int i = 0; i < 8; i++) { ledStrip.setPixel(i, 0x000400); } ledStrip.show(); statusLedOff(); delay(delayTime/2); statusLedOn(); ledStrip.clear(); ledStrip.show(); delay(delayTime/2); } void statusLedBlink() { statusLedFlash(300); statusLedFlash(300); } void updateSensorLEDs(instrument_state_t &state) { ledFullMeter(state.breathCCVal, 0x0000FF); }