Library to use RioRand H Bridge
RioRandHBridge.cpp@0:08d0e159793b, 2015-12-03 (annotated)
- Committer:
- mitchpang
- Date:
- Thu Dec 03 06:35:58 2015 +0000
- Revision:
- 0:08d0e159793b
First Commit. Base code taken From TB6612FNG library by Robert Abad
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mitchpang | 0:08d0e159793b | 1 | /* File: RioRandHBridge.h |
mitchpang | 0:08d0e159793b | 2 | * Author: Mitchell Pang Copyright (c) 2013 |
mitchpang | 0:08d0e159793b | 3 | * |
mitchpang | 0:08d0e159793b | 4 | * Desc: driver for RioRandHBridge Motor Driver. For further details see |
mitchpang | 0:08d0e159793b | 5 | * header file, RioRandHBridge.h |
mitchpang | 0:08d0e159793b | 6 | */ |
mitchpang | 0:08d0e159793b | 7 | |
mitchpang | 0:08d0e159793b | 8 | #include "mbed.h" |
mitchpang | 0:08d0e159793b | 9 | #include "RioRandHBridge.h" |
mitchpang | 0:08d0e159793b | 10 | |
mitchpang | 0:08d0e159793b | 11 | #define SIGNAL_HIGH (1) |
mitchpang | 0:08d0e159793b | 12 | #define SIGNAL_LOW (0) |
mitchpang | 0:08d0e159793b | 13 | |
mitchpang | 0:08d0e159793b | 14 | RioRandHBridge::RioRandHBridge( PinName pinPwm1, PinName pinDir1, |
mitchpang | 0:08d0e159793b | 15 | PinName pinPwm2, PinName pinDir2 |
mitchpang | 0:08d0e159793b | 16 | ) : |
mitchpang | 0:08d0e159793b | 17 | pwm1(pinPwm1), |
mitchpang | 0:08d0e159793b | 18 | Dir1(pinDir1), |
mitchpang | 0:08d0e159793b | 19 | pwm2(pinPwm2), |
mitchpang | 0:08d0e159793b | 20 | Dir2(pinDir2) |
mitchpang | 0:08d0e159793b | 21 | { |
mitchpang | 0:08d0e159793b | 22 | Dir1 = SIGNAL_LOW; |
mitchpang | 0:08d0e159793b | 23 | Dir2 = SIGNAL_LOW; |
mitchpang | 0:08d0e159793b | 24 | pwm1.period(RioRandHBridge_PWM_PERIOD_DEFAULT); |
mitchpang | 0:08d0e159793b | 25 | pwm1 = RioRandHBridge_PWM_PULSEWIDTH_DEFAULT; |
mitchpang | 0:08d0e159793b | 26 | pwm2.period(RioRandHBridge_PWM_PERIOD_DEFAULT); |
mitchpang | 0:08d0e159793b | 27 | pwm2 = RioRandHBridge_PWM_PULSEWIDTH_DEFAULT; |
mitchpang | 0:08d0e159793b | 28 | } |
mitchpang | 0:08d0e159793b | 29 | |
mitchpang | 0:08d0e159793b | 30 | void RioRandHBridge::setpwm1(float fPeriod, float fPulsewidth) |
mitchpang | 0:08d0e159793b | 31 | { |
mitchpang | 0:08d0e159793b | 32 | pwm1.period(fPeriod); |
mitchpang | 0:08d0e159793b | 33 | pwm1 = fPulsewidth; |
mitchpang | 0:08d0e159793b | 34 | } |
mitchpang | 0:08d0e159793b | 35 | |
mitchpang | 0:08d0e159793b | 36 | void RioRandHBridge::setpwm1period(float fPeriod) |
mitchpang | 0:08d0e159793b | 37 | { |
mitchpang | 0:08d0e159793b | 38 | pwm1.period(fPeriod); |
mitchpang | 0:08d0e159793b | 39 | } |
mitchpang | 0:08d0e159793b | 40 | |
mitchpang | 0:08d0e159793b | 41 | void RioRandHBridge::setpwm1pulsewidth(float fPulsewidth) |
mitchpang | 0:08d0e159793b | 42 | { |
mitchpang | 0:08d0e159793b | 43 | pwm1 = fPulsewidth; |
mitchpang | 0:08d0e159793b | 44 | } |
mitchpang | 0:08d0e159793b | 45 | |
mitchpang | 0:08d0e159793b | 46 | void RioRandHBridge::setpwm2(float fPeriod, float fPulsewidth) |
mitchpang | 0:08d0e159793b | 47 | { |
mitchpang | 0:08d0e159793b | 48 | pwm2.period(fPeriod); |
mitchpang | 0:08d0e159793b | 49 | pwm2 = fPulsewidth; |
mitchpang | 0:08d0e159793b | 50 | } |
mitchpang | 0:08d0e159793b | 51 | |
mitchpang | 0:08d0e159793b | 52 | void RioRandHBridge::setpwm2period(float fPeriod) |
mitchpang | 0:08d0e159793b | 53 | { |
mitchpang | 0:08d0e159793b | 54 | pwm2.period(fPeriod); |
mitchpang | 0:08d0e159793b | 55 | } |
mitchpang | 0:08d0e159793b | 56 | |
mitchpang | 0:08d0e159793b | 57 | void RioRandHBridge::setpwm2pulsewidth(float fPulsewidth) |
mitchpang | 0:08d0e159793b | 58 | { |
mitchpang | 0:08d0e159793b | 59 | pwm2 = fPulsewidth; |
mitchpang | 0:08d0e159793b | 60 | } |
mitchpang | 0:08d0e159793b | 61 | |
mitchpang | 0:08d0e159793b | 62 | |
mitchpang | 0:08d0e159793b | 63 | void RioRandHBridge::motor1_stop(void) |
mitchpang | 0:08d0e159793b | 64 | { |
mitchpang | 0:08d0e159793b | 65 | pwm1 = 0.0; |
mitchpang | 0:08d0e159793b | 66 | } |
mitchpang | 0:08d0e159793b | 67 | |
mitchpang | 0:08d0e159793b | 68 | void RioRandHBridge::motor1_ccw(void) |
mitchpang | 0:08d0e159793b | 69 | { |
mitchpang | 0:08d0e159793b | 70 | Dir1 = SIGNAL_LOW; |
mitchpang | 0:08d0e159793b | 71 | } |
mitchpang | 0:08d0e159793b | 72 | |
mitchpang | 0:08d0e159793b | 73 | void RioRandHBridge::motor1_cw(void) |
mitchpang | 0:08d0e159793b | 74 | { |
mitchpang | 0:08d0e159793b | 75 | Dir1 = SIGNAL_HIGH; |
mitchpang | 0:08d0e159793b | 76 | } |
mitchpang | 0:08d0e159793b | 77 | |
mitchpang | 0:08d0e159793b | 78 | void RioRandHBridge::motor2_stop(void) |
mitchpang | 0:08d0e159793b | 79 | { |
mitchpang | 0:08d0e159793b | 80 | pwm2 = 0.0; |
mitchpang | 0:08d0e159793b | 81 | } |
mitchpang | 0:08d0e159793b | 82 | |
mitchpang | 0:08d0e159793b | 83 | void RioRandHBridge::motor2_ccw(void) |
mitchpang | 0:08d0e159793b | 84 | { |
mitchpang | 0:08d0e159793b | 85 | Dir2 = SIGNAL_LOW; |
mitchpang | 0:08d0e159793b | 86 | } |
mitchpang | 0:08d0e159793b | 87 | |
mitchpang | 0:08d0e159793b | 88 | void RioRandHBridge::motor2_cw(void) |
mitchpang | 0:08d0e159793b | 89 | { |
mitchpang | 0:08d0e159793b | 90 | Dir2 = SIGNAL_HIGH; |
mitchpang | 0:08d0e159793b | 91 | } |
mitchpang | 0:08d0e159793b | 92 | |
mitchpang | 0:08d0e159793b | 93 |