My Version of The LED_WS2812 Library

Dependencies:   WS2812 PixelArray

Fork of LED_WS2812 by CreaLab

Committer:
sepp_nepp
Date:
Fri Jun 21 15:25:05 2019 +0000
Revision:
8:392cfdbded1e
Add New Module LEDs_Car to the Library: directly handles all four LED lamps of a Car/Robot.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sepp_nepp 8:392cfdbded1e 1
sepp_nepp 8:392cfdbded1e 2 #ifndef BOT_AUXILIARIES_H
sepp_nepp 8:392cfdbded1e 3 #define BOT_AUXILIARIES_H
sepp_nepp 8:392cfdbded1e 4
sepp_nepp 8:392cfdbded1e 5 #include "mbed.h"
sepp_nepp 8:392cfdbded1e 6 #include "LED_WS2812.h"
sepp_nepp 8:392cfdbded1e 7 #include <string>
sepp_nepp 8:392cfdbded1e 8
sepp_nepp 8:392cfdbded1e 9 // Put the LED names in the order they are chained up
sepp_nepp 8:392cfdbded1e 10 enum LED_Nr{ ledAvG, ledAvD, ledArD, ledArG, NumLEDs };
sepp_nepp 8:392cfdbded1e 11
sepp_nepp 8:392cfdbded1e 12 // *****************************************************************
sepp_nepp 8:392cfdbded1e 13 // Handle all the LEDs with some general function wrappers functions
sepp_nepp 8:392cfdbded1e 14 // *****************************************************************
sepp_nepp 8:392cfdbded1e 15
sepp_nepp 8:392cfdbded1e 16 /** Control 4 LEDs around the Car: front / rear, left / right
sepp_nepp 8:392cfdbded1e 17 *
sepp_nepp 8:392cfdbded1e 18 * Example:
sepp_nepp 8:392cfdbded1e 19 * @code
sepp_nepp 8:392cfdbded1e 20 * // --- Define the PIN where the LED band is connected -----
sepp_nepp 8:392cfdbded1e 21 * LEDs_Car ledBand(PB_5,4);
sepp_nepp 8:392cfdbded1e 22 * Setup rainbow colors for the ledBand
sepp_nepp 8:392cfdbded1e 23 * ledBand.LEDsRainbow();
sepp_nepp 8:392cfdbded1e 24 * Rotate the colors for the ledBand
sepp_nepp 8:392cfdbded1e 25 * ledBand.StartRotation(0.6) ;
sepp_nepp 8:392cfdbded1e 26 * Turn off the LEDs:
sepp_nepp 8:392cfdbded1e 27 * ledBand.LEDsOff();
sepp_nepp 8:392cfdbded1e 28 * @endcode
sepp_nepp 8:392cfdbded1e 29 */
sepp_nepp 8:392cfdbded1e 30
sepp_nepp 8:392cfdbded1e 31
sepp_nepp 8:392cfdbded1e 32 class LEDs_Car: public LED_WS2812
sepp_nepp 8:392cfdbded1e 33 {
sepp_nepp 8:392cfdbded1e 34 public:
sepp_nepp 8:392cfdbded1e 35 /** Create a Car-LED object to control the four LEDs around the car
sepp_nepp 8:392cfdbded1e 36 *
sepp_nepp 8:392cfdbded1e 37 * @param PinName Pin Name through wich the LEDs are controlled
sepp_nepp 8:392cfdbded1e 38 * @param _nbLeds Number of LEDs actually implemented, defaults to 4
sepp_nepp 8:392cfdbded1e 39 */
sepp_nepp 8:392cfdbded1e 40 LEDs_Car(PinName _PinOut, int _nbLeds):LED_WS2812(_PinOut, _nbLeds) { };
sepp_nepp 8:392cfdbded1e 41
sepp_nepp 8:392cfdbded1e 42 void LEDsOff( void );
sepp_nepp 8:392cfdbded1e 43 void LEDsRainbow( void );
sepp_nepp 8:392cfdbded1e 44 void LEDNrCol(LED_Nr aNr, int parameter) ;
sepp_nepp 8:392cfdbded1e 45 void LEDsRainbowMove( double speed );
sepp_nepp 8:392cfdbded1e 46 void LEDClignote(LED_Nr aNr, int OnOff);
sepp_nepp 8:392cfdbded1e 47 int ColNr2Color( char ColNr);
sepp_nepp 8:392cfdbded1e 48
sepp_nepp 8:392cfdbded1e 49 // *****************************************************************
sepp_nepp 8:392cfdbded1e 50 // Handle all the LEDs specifically with the LED Position definitions
sepp_nepp 8:392cfdbded1e 51 // *****************************************************************
sepp_nepp 8:392cfdbded1e 52
sepp_nepp 8:392cfdbded1e 53 void LEDFront(int ColNr) ;
sepp_nepp 8:392cfdbded1e 54 void LEDRear(int ColNr) ;
sepp_nepp 8:392cfdbded1e 55 void LEDCligR(int speed);
sepp_nepp 8:392cfdbded1e 56 void LEDCligL(int speed);
sepp_nepp 8:392cfdbded1e 57 void LEDAnim(int speed);
sepp_nepp 8:392cfdbded1e 58 }; // class LEDs_Car
sepp_nepp 8:392cfdbded1e 59
sepp_nepp 8:392cfdbded1e 60 #endif