Control a DC motor via a standard H-bridge using a PwmOut pin to control speed and two DigitalOut pins to control direction. Can change pwm period on the PwmOut pin, and also brake high or low.

Dependents:   SimpleRover PIDRover IMURover incrementalencoder-pid-robot ... more

Revision:
1:c75b234558af
Parent:
0:f05e09f8f5d9
diff -r f05e09f8f5d9 -r c75b234558af Motor.h
--- a/Motor.h	Thu Sep 02 16:32:57 2010 +0000
+++ b/Motor.h	Tue Sep 07 11:21:42 2010 +0000
@@ -25,6 +25,9 @@
 
 #include "mbed.h"
 
+#define BRAKE_HIGH 1
+#define BRAKE_LOW  0
+
 /** Interface to control a standard DC motor 
  * with an H-bridge using a PwmOut and 2 DigitalOuts
  */
@@ -52,6 +55,15 @@
      * @param seconds - Pwm duty cycle in seconds.
      */
     void period(float period);
+    
+    /** Brake the H-bridge to GND or VCC.
+     * 
+     * Defaults to breaking to VCC.
+     *
+     * Brake to GND => inA = inB = 0
+     * Brake to VCC => inA = inB = 1
+     */
+    void brake(int highLow = BRAKE_HIGH);
 
 protected:
     PwmOut _pwm;