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

Fork of Motor by Simon Ford

Committer:
pr0jelly
Date:
Mon Sep 26 03:23:54 2016 +0000
Revision:
3:6da484a06159
Parent:
2:f265e441bcd9
442

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:a470311addc4 1
simon 0:a470311addc4 2 #include "Motor.h"
simon 0:a470311addc4 3
simon 0:a470311addc4 4 #include "mbed.h"
simon 0:a470311addc4 5
simon 0:a470311addc4 6 Motor::Motor(PinName pwm, PinName fwd, PinName rev):
simon 0:a470311addc4 7 _pwm(pwm), _fwd(fwd), _rev(rev) {
simon 0:a470311addc4 8
simon 0:a470311addc4 9 // Set initial condition of PWM
simon 0:a470311addc4 10 _pwm.period(0.001);
simon 0:a470311addc4 11 _pwm = 0;
simon 0:a470311addc4 12
simon 0:a470311addc4 13 // Initial condition of output enables
simon 0:a470311addc4 14 _fwd = 0;
simon 0:a470311addc4 15 _rev = 0;
simon 0:a470311addc4 16 }
simon 0:a470311addc4 17
simon 0:a470311addc4 18 void Motor::speed(float speed) {
simon 0:a470311addc4 19 _fwd = (speed > 0.0);
simon 0:a470311addc4 20 _rev = (speed < 0.0);
simon 0:a470311addc4 21 _pwm = abs(speed);
simon 0:a470311addc4 22 }
simon 0:a470311addc4 23
simon 0:a470311addc4 24
simon 0:a470311addc4 25