Library for driving a motor with a DRV8833 motor driver or similar.

Dependents:   StarterBot

Revision:
0:0d650a332dcc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Motor.cpp	Sun Oct 19 07:51:25 2014 +0000
@@ -0,0 +1,42 @@
+#include "Motor.h"
+
+
+Motor::Motor(PinName pin1, PinName pin2) : pwm1(pin1), pwm2(pin2)
+{
+    const float period = 1/20000.0f;
+    
+    pwm1.period(period);
+    pwm2.period(period);
+    
+    pwm1 = 0.0f;
+    pwm2 = 0.0f;
+}
+
+
+void Motor::speed(float value)
+{
+    if (value < 0.0f)
+    {
+        pwm1 = value;
+        pwm2 = 0.0f;
+    }
+    else
+    {
+        pwm1 = 0.0f;
+        pwm2 = -value;
+    }
+}
+
+
+Motor& Motor::operator=(float value)
+{
+    speed(value);
+    return *this;
+}
+
+
+void Motor::brake()
+{
+    pwm1 = 1.0f;
+    pwm2 = 1.0f;
+}