Auxiliaries I use for CreaBot
Diff: Bot_Auxiliaries.h
- Revision:
- 1:6f5b84940d04
- Parent:
- 0:32b17da1ddae
--- a/Bot_Auxiliaries.h Wed Oct 31 14:22:26 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-
-#ifndef BOT_AUXILIARIES_H
-#define BOT_AUXILIARIES_H
-
-#include "mbed.h"
-#include "LED_WS2812.h"
-
-
-// Put the LED names in the order they are chained up
-enum LED_Nr{ ledAvG, ledAvD, ledArD, ledArG, NumLEDs };
-
-
-// *****************************************************************
-// Handle all the LEDs with some general function wrappers functions
-// *****************************************************************
-
-/** Control 4 LEDs around the Car: front / rear, left / right
- *
- * Example:
- * @code
- * // --- Define the PIN where the LED band is connected -----
- * LED_CAR ledBand(PB_5,4);
- * Setup rainbow colors for the ledBand
- * ledBand.LEDsRainbow();
- * Rotate the colors for the ledBand
- * ledBand.StartRotation(0.6) ;
- * Turn off the LEDs:
- * ledBand.LEDsOff();
- * @endcode
- */
-
-
-class LED_CAR: public LED_WS2812
-{
- public:
- /** Create a Car-LED object to control the four LEDs around the car
- *
- * @param PinName Pin Name through wich the LEDs are controlled
- * @param _nbLeds Number of LEDs actually implemented, defaults to 4
- */
- LED_CAR(PinName _PinOut, int _nbLeds):LED_WS2812(_PinOut, _nbLeds) { };
-
- void LEDsOff( void );
- void LEDsRainbow( void );
- void LEDNrCol(LED_Nr aNr, int parameter) ;
- void LEDsRainbowMove( double speed );
- void LEDClignote(LED_Nr aNr, int OnOff);
- int ColNr2Color( char ColNr);
-
- // *****************************************************************
- // Handle all the LEDs specifically with the LED Position definitions
- // *****************************************************************
-
- void LEDFront(int ColNr) ;
- void LEDRear(int ColNr) ;
- void LEDCligR(int speed);
- void LEDCligL(int speed);
- void LEDAnim(int speed);
-}; // class LED_CAR
-
-const int BuffLen = 512;
-
-// Define States of the interpreter
-enum InterpretState { isStartNew, isLineFilling, isOverflow, isWaitNewLine};
-
-typedef struct RD_CMD_TYPE {
- char Command; // Holds the next read command character
- int Parameter ; // Holds one int Parameter
- int NumParam ; // Indicates how many parameters where found
- } RD_CMD_TYPE;
-
-
-// Uses a Ring buffer to buffer incomiing characters
-// Uses a parsing function to extract lines containing a command each
-class Interpreter{
- public:
- // Interpreter Class Creation
- Interpreter();
- void Reinit( void );
-
- public: // the writing mechanics
- void AddChar ( char aChar ); // Barebone function, assumes that checks havee been performed by writeBuf!
- void writeBuf( char c) ; // High level method to add a Char to the buffer,
- char RingBuf[BuffLen];
- InterpretState MyState;// Indicates if buffer overflow, line ended etc.
- int WriteIndex ; // points to next index to write to
- int BufAvail ; // indicates how much of the buffer is still available
- int LinesComplete; // Indicates how many complete lines are available
-
- public: // the reading mechanics
- RD_CMD_TYPE ParseCommand( void ) ;
- int ScanIndex; // points to next index to read from to
- char actC ; // holds the actual character
- private:
- char GetAChar ( void );
- void SkipBlanks( void );
- int ReadAnInt ( void );
- char actPP ( void );
-}; // class Interpreter
-
-#endif
\ No newline at end of file