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(); }
+}
+
