Lib for Bulme Bertl

Dependents:   BertlPingPong BertlTemplate LineSensTest MotorTest2 ... more

Revision:
7:20c3213c3ada
Parent:
6:78243412d2b3
--- a/Bertl14.h	Thu Mar 05 17:39:16 2015 +0000
+++ b/Bertl14.h	Thu Nov 19 08:11:19 2015 +0000
@@ -2,25 +2,32 @@
 #ifndef Bertl14_h
 #define Bertl14_h
 
-class Motor {
-	public:
-		Motor(PinName pwm, PinName fwd, PinName rev);
-		void SetPow(float aPow);
-	protected:
+// V 3.0
+
+class Motor
+{
+public:
+    Motor(PinName pwm, PinName fwd, PinName rev);
+    void SetBrake(int aOnOff);
+    void SetPow(float aPow);
+    void SetPow2(float aPow);
+protected:
     PwmOut _pwm;
     DigitalOut _fwd;
     DigitalOut _rev;
+    int16_t    _running;
 };
 
-class BertlDrive : public Motor {
-	public:
-		int16_t encCnt;
-	public:
-		BertlDrive(PinName pwm, PinName fwd, PinName rev, PinName encoder);
-		void Init();
-	private:
-		void EncoderISR();
-		InterruptIn _enc;
+class BertlDrive : public Motor
+{
+public:
+    int16_t encCnt;
+public:
+    BertlDrive(PinName pwm, PinName fwd, PinName rev, PinName encoder);
+    void Init();
+private:
+    void EncoderISR();
+    InterruptIn _enc;
 };
 
 
@@ -46,65 +53,72 @@
 const int LED_ALL_BACK = 0xF0;
 
 
-class PortEx {
-	public:
-		// Current State of Buttons is refreshed with ReadButtons()
-		int16_t btns;
-		uint8_t btnEvent;
-		uint8_t useISR;
-	public:
-		PortEx();
-		void Init();
-		
-		void SetLedPort(uint8_t aBitPattern); // NO local Bit-OR
-		void SetLeds(uint8_t aBitPattern);
-		void ToggleLeds(uint8_t aBitPattern);
-		void ClearLeds();
-		
-		void ReadButtons();
-		void WaitUntilButtonPressed();
-		void WaitUntilFrontButtonPressed();
+class PortEx
+{
+public:
+    // Current State of Buttons is refreshed with ReadButtons()
+    int16_t btns;
+    uint8_t btnEvent;
+    uint8_t useISR;
+public:
+    PortEx();
+    void Init();
+
+    void SetLedPort(uint8_t aBitPattern); // NO local Bit-OR
+    void SetLeds(uint8_t aBitPattern);
+    void ToggleLeds(uint8_t aBitPattern);
+    void ClearLeds();
 
-		bool IsButton(int aBitPattern)
-			{ return btns & aBitPattern; }
-		
-		bool IsAnyFrontButton()
-			{ return btns & (BTN_FL|BTN_FM|BTN_FR); }
-		
-		bool IsAnyBackButton()
-			{ return btns & (BTN_BL|BTN_BM|BTN_BR); }
-	private:
-		uint8_t _currLeds;
-		void p6ISR();
-		I2C _i2c;
-		const int DEV = 0x40;
-		InterruptIn _p6Event;
+    void ReadButtons();
+    void WaitUntilButtonPressed();
+    void WaitUntilFrontButtonPressed();
+
+    bool IsButton(int aBitPattern) {
+        return btns & aBitPattern;
+    }
+
+    bool IsAnyFrontButton() {
+        return btns & (BTN_FL|BTN_FM|BTN_FR);
+    }
+
+    bool IsAnyBackButton() {
+        return btns & (BTN_BL|BTN_BM|BTN_BR);
+    }
+private:
+    uint8_t _currLeds;
+    void p6ISR();
+    I2C _i2c;
+    const int DEV = 0x40;
+    InterruptIn _p6Event;
 };
 
 
-class UsDistSens {
-	public:
-		UsDistSens(PinName pinTrigger, PinName pinEcho);
-		void StartMeas();
-	private:
-		void RisingISR();
-		void FallingISR();
-	private:
-		DigitalOut trigger;
-		InterruptIn echo;
-		Timer stw;
-	public:
-		int dist;
-		float distCM;
+class UsDistSens
+{
+public:
+    UsDistSens(PinName pinTrigger, PinName pinEcho);
+    void StartMeas();
+private:
+    void RisingISR();
+    void FallingISR();
+private:
+    DigitalOut trigger;
+    InterruptIn echo;
+    Timer stw;
+public:
+    int dist;
+    float distCM;
 };
 
 #ifndef ANALOGIN_HL
 #define ANALOGIN_HL
-class AnalogInHL : public AnalogIn {
-	public:
-		AnalogInHL(PinName pin) : AnalogIn(pin) { }
-		int Read()
-			{ return read_u16()>>6; }
+class AnalogInHL : public AnalogIn
+{
+public:
+    AnalogInHL(PinName pin) : AnalogIn(pin) { }
+    int Read() {
+        return read_u16()>>6;
+    }
 };
 #endif