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.cpp	Fri May 15 13:44:38 2015 +0000
@@ -0,0 +1,43 @@
+#include "MotorR.h"
+#include "mbed.h"
+
+MotorR::MotorR(PinName pwm, PinName fwd, PinName rev, PinName stby) :
+_pwm(pwm), _fwd(fwd), _rev(rev), _stdby(stby)//, speedControl(K, Ti, Td, itv)//, encoder(CH_A, CH_B, NC, pPerRev)
+{
+
+    // Set initial condition of PWM
+    _pwm.period(0.001);
+    _pwm = 0;
+    _stdby = 1;
+    // Initial condition of output enables
+    _fwd = 0;
+    _rev = 0;
+
+    //PID config
+    //speedControl.setInputLimits(0, 1);
+    //speedControl.setOutputLimits(0, 1);
+    //speedControl.setMode(AUTO); 
+
+}
+
+void MotorR::speed(float speed) {
+
+/*PID do enkoderow i utrzymywania stalej predkosci*/
+/*
+    if (speed != set_speed){
+        speedControl.setSetPoint(speed);
+        set_speed = speed;
+    }
+
+    pulses = encoder.getPulses();
+    curr_speed = (pulses-prev_pulses) / max_pulse_rate;
+    prev_pulses = pulses;
+
+    speedControl.setProcessValue(curr_speed);
+    speed = speedControl.compute();
+*/
+
+    _fwd = (speed > 0.0);
+    _rev = (speed < 0.0);
+    _pwm = abs(speed);
+}