Library to use RioRand H Bridge

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?

UserRevisionLine numberNew 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