Simple DC motor control commands for driving DC motor conroller with PWM and up to 2 direction signals (complementary). Takes float value from -1.0 to 1.0.

Dependents:   Teensy_Mot_QEI_Ser_20180111 Axis Axis_20181108 Axis_version2

Fork of MotCon by Joseph Bradshaw

Overloaded class that takes a pwm motor control pin and one or two direction pins for driving DC motors with a variety of motor control IC's. Tested examples include the LM298, TD340, MC33926, A3949.

Revision:
0:3ba12980833b
Child:
1:69e79f1db999
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MotCon.cpp	Mon Aug 31 17:13:55 2015 +0000
@@ -0,0 +1,29 @@
+#include "MotCon.h"
+
+//Constructor
+MotCon::MotCon(PinName pwm, PinName dir) : _pwm(pwm), _dir(dir) {
+    _pwm.period_us(50);
+    _pwm = 0.0;
+    _dir = 0;
+}
+
+// dc is signed duty cycle (+/-1.0)
+void MotCon::mot_control(float dc){        
+    if(dc>1.0)
+        dc=1.0;
+    if(dc<-1.0)
+        dc=-1.0;
+        
+    if(dc > 0.001){
+        _dir = 0;
+        _pwm = dc;
+    }
+    else if(dc < -0.001){
+        _dir = 1;
+        _pwm = abs(dc);
+    }
+    else{
+        _dir = 0;
+        _pwm = 0.0;
+    }      
+}