Control an H-Bridge using a PwmOut (enable) and two DigitalOuts (direction select)

Fork of Motor by Simon Ford

Revision:
9:9b00a28bc790
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MotorR.h	Fri May 15 13:44:38 2015 +0000
@@ -0,0 +1,57 @@
+#ifndef MBED_MOTORR_H
+#define MBED_MOTORR_H
+
+#include "mbed.h"
+//#include "PID.h"
+
+/*nastawy regulatora PID*/
+/*
+const float K = 1;
+const float Ti = 0;
+const float Td = 0;
+const float itv = 0.001;
+#define AUTO 1
+*/
+/** Interface to control a standard DC motor
+*
+* with an H-bridge using a PwmOut and 2 DigitalOuts
+*/
+class MotorR {
+public:
+
+    /** Create a motor control interface
+    *
+    * @param pwm A PwmOut pin, driving the H-bridge enable line to control the speed
+    * @param fwd A DigitalOut, set high when the motor should go forward
+    * @param rev A DigitalOut, set high when the motor should go backwards
+    */
+    MotorR(PinName pwm, PinName fwd, PinName rev, PinName stby);
+
+    /** Set the speed of the motor
+    *
+    * @param speed The speed of the motor as a normalised value between -1.0 and 1.0
+    */
+    void speed(float speed);
+    
+    /**Change the stand by status of H-bridge
+    *
+    * @param status 0 - bridge disabled, 1 - bridge enabled
+    */
+    void setStandby(bool status)
+    {
+        _stdby = status;
+    }
+
+protected:
+    PwmOut _pwm;
+    DigitalOut _fwd;
+    DigitalOut _rev;
+    DigitalOut _stdby;
+private:
+    //PID speedControl;
+    //QEI encoder;
+    float set_speed;
+    
+};
+
+#endif