My Version of The LED_WS2812 Library
Dependencies: WS2812 PixelArray
Fork of LED_WS2812 by
Diff: LEDs_Car.cpp
- Revision:
- 8:392cfdbded1e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LEDs_Car.cpp Fri Jun 21 15:25:05 2019 +0000 @@ -0,0 +1,85 @@ +// ***************************************************************** +// Handle all the LEDs with some general function wrappers functions +// ***************************************************************** +#include "LEDs_Car.h" + +// Added a lookup function from a color number to a color, used by Creabot +int LEDs_Car::ColNr2Color( char ColNr) +{ switch (ColNr) { + case 0: return BLACK; + case 1: return WHITE; + case 2: return RED; + case 3: return GREEN; + case 4: return BLUE; + case 5: return PURPLE; + default: return BLACK; + } +} + +void LEDs_Car::LEDsOff( void ) { + StopRotation(); + StopBlink() ; + for (int lNr=0; lNr<NumLEDs; lNr++) + { SetColor(BLACK,lNr); } +} + +void LEDs_Car::LEDsRainbow( void ) +{ for (int Nr=0; Nr<NumLEDs; Nr++) + { SetColor(ColNr2Color(Nr + 1),Nr); } +} + +void LEDs_Car::LEDNrCol(LED_Nr aNr, int parameter) +{ + SetColor( ColNr2Color( aNr ), aNr); +} + +void LEDs_Car::LEDsRainbowMove( double speed ) +{ LEDsRainbow( ); + StartRotation(0.3); +} + +void LEDs_Car::LEDClignote(LED_Nr aNr, int OnOff) { + if (OnOff == 1) { + SetColor( ORANGE, aNr); + StartBlink(0.5) ;} + else { LEDsOff(); } +} + +// ***************************************************************** +// Handle all the LEDs specifically with the LED Position definitions +// ***************************************************************** + +void LEDs_Car::LEDFront(int ColNr) +{ + SetColor( ColNr2Color( ColNr ), ledAvD); + SetColor( ColNr2Color( ColNr ), ledAvG); +} + +void LEDs_Car::LEDRear(int ColNr) +{ + SetColor( ColNr2Color( ColNr ), ledArD); + SetColor( ColNr2Color( ColNr ), ledArG); +} + +void LEDs_Car::LEDCligR(int speed) { + if ( (speed>0) && (speed<4) ) { + SetColor(ORANGE, ledAvD) ; + SetColor(ORANGE, ledArD) ; + StartBlink(float(speed)/4) ;} + else { LEDsOff(); } + } + +void LEDs_Car::LEDCligL(int speed) { + if ( (speed>0) && (speed<4) ) { + SetColor(ORANGE, ledAvG) ; + SetColor(ORANGE, ledArG) ; + StartBlink(float(speed)/4) ;} + else { LEDsOff(); } +} + +void LEDs_Car::LEDAnim(int speed) { + if ( (speed>0) && (speed<4) ) + { LEDsRainbowMove(float(speed)/4); } + else { LEDsOff(); } +} +