hgu / Mbed OS final

Dependencies:   Motordriver PixelArray RemoteIR

Committer:
yangyejin
Date:
Sun Jun 16 16:40:51 2019 +0000
Revision:
94:9050bb458b00
alphabot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangyejin 94:9050bb458b00 1 /* File: TB6612FNG.h
yangyejin 94:9050bb458b00 2 * Author: Robert Abad Copyright (c) 2013
yangyejin 94:9050bb458b00 3 *
yangyejin 94:9050bb458b00 4 * Desc: driver for TB6612FNG Motor Driver. For further details see
yangyejin 94:9050bb458b00 5 * header file, TB6612FNG.h
yangyejin 94:9050bb458b00 6 */
yangyejin 94:9050bb458b00 7
yangyejin 94:9050bb458b00 8 #include "mbed.h"
yangyejin 94:9050bb458b00 9 #include "TB6612FNG.h"
yangyejin 94:9050bb458b00 10
yangyejin 94:9050bb458b00 11 #define SIGNAL_HIGH (1)
yangyejin 94:9050bb458b00 12 #define SIGNAL_LOW (0)
yangyejin 94:9050bb458b00 13
yangyejin 94:9050bb458b00 14 TB6612FNG::TB6612FNG( PinName pinPwmA, PinName pinAin1, PinName pinAin2,
yangyejin 94:9050bb458b00 15 PinName pinPwmB, PinName pinBin1, PinName pinBin2,
yangyejin 94:9050bb458b00 16 PinName pinNStby ) :
yangyejin 94:9050bb458b00 17 pwmA(pinPwmA),
yangyejin 94:9050bb458b00 18 Ain1(pinAin1),
yangyejin 94:9050bb458b00 19 Ain2(pinAin2),
yangyejin 94:9050bb458b00 20 pwmB(pinPwmB),
yangyejin 94:9050bb458b00 21 Bin1(pinBin1),
yangyejin 94:9050bb458b00 22 Bin2(pinBin2),
yangyejin 94:9050bb458b00 23 nStby(pinNStby)
yangyejin 94:9050bb458b00 24 {
yangyejin 94:9050bb458b00 25 Ain1 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 26 Ain2 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 27 Bin1 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 28 Bin2 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 29 pwmA.period(TB6612FNG_PWM_PERIOD_DEFAULT);
yangyejin 94:9050bb458b00 30 pwmA = TB6612FNG_PWM_PULSEWIDTH_DEFAULT;
yangyejin 94:9050bb458b00 31 pwmB.period(TB6612FNG_PWM_PERIOD_DEFAULT);
yangyejin 94:9050bb458b00 32 pwmB = TB6612FNG_PWM_PULSEWIDTH_DEFAULT;
yangyejin 94:9050bb458b00 33 nStby = SIGNAL_LOW;
yangyejin 94:9050bb458b00 34 }
yangyejin 94:9050bb458b00 35
yangyejin 94:9050bb458b00 36 void TB6612FNG::setPwmA(float fPeriod, float fPulsewidth)
yangyejin 94:9050bb458b00 37 {
yangyejin 94:9050bb458b00 38 pwmA.period(fPeriod);
yangyejin 94:9050bb458b00 39 pwmA = fPulsewidth;
yangyejin 94:9050bb458b00 40 }
yangyejin 94:9050bb458b00 41
yangyejin 94:9050bb458b00 42 void TB6612FNG::setPwmAperiod(float fPeriod)
yangyejin 94:9050bb458b00 43 {
yangyejin 94:9050bb458b00 44 pwmA.period(fPeriod);
yangyejin 94:9050bb458b00 45 }
yangyejin 94:9050bb458b00 46
yangyejin 94:9050bb458b00 47 void TB6612FNG::setPwmApulsewidth(float fPulsewidth)
yangyejin 94:9050bb458b00 48 {
yangyejin 94:9050bb458b00 49 pwmA = fPulsewidth;
yangyejin 94:9050bb458b00 50 }
yangyejin 94:9050bb458b00 51
yangyejin 94:9050bb458b00 52 void TB6612FNG::setPwmB(float fPeriod, float fPulsewidth)
yangyejin 94:9050bb458b00 53 {
yangyejin 94:9050bb458b00 54 pwmB.period(fPeriod);
yangyejin 94:9050bb458b00 55 pwmB = fPulsewidth;
yangyejin 94:9050bb458b00 56 }
yangyejin 94:9050bb458b00 57
yangyejin 94:9050bb458b00 58 void TB6612FNG::setPwmBperiod(float fPeriod)
yangyejin 94:9050bb458b00 59 {
yangyejin 94:9050bb458b00 60 pwmB.period(fPeriod);
yangyejin 94:9050bb458b00 61 }
yangyejin 94:9050bb458b00 62
yangyejin 94:9050bb458b00 63 void TB6612FNG::setPwmBpulsewidth(float fPulsewidth)
yangyejin 94:9050bb458b00 64 {
yangyejin 94:9050bb458b00 65 pwmB = fPulsewidth;
yangyejin 94:9050bb458b00 66 }
yangyejin 94:9050bb458b00 67
yangyejin 94:9050bb458b00 68 void TB6612FNG::standby(void)
yangyejin 94:9050bb458b00 69 {
yangyejin 94:9050bb458b00 70 nStby = SIGNAL_LOW;
yangyejin 94:9050bb458b00 71 }
yangyejin 94:9050bb458b00 72
yangyejin 94:9050bb458b00 73 void TB6612FNG::motorA_stop(void)
yangyejin 94:9050bb458b00 74 {
yangyejin 94:9050bb458b00 75 Ain1 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 76 Ain2 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 77 }
yangyejin 94:9050bb458b00 78
yangyejin 94:9050bb458b00 79 void TB6612FNG::motorA_ccw(void)
yangyejin 94:9050bb458b00 80 {
yangyejin 94:9050bb458b00 81 Ain1 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 82 Ain2 = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 83 nStby = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 84 }
yangyejin 94:9050bb458b00 85
yangyejin 94:9050bb458b00 86 void TB6612FNG::motorA_cw(void)
yangyejin 94:9050bb458b00 87 {
yangyejin 94:9050bb458b00 88 Ain1 = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 89 Ain2 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 90 nStby = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 91 }
yangyejin 94:9050bb458b00 92
yangyejin 94:9050bb458b00 93 void TB6612FNG::motorB_stop(void)
yangyejin 94:9050bb458b00 94 {
yangyejin 94:9050bb458b00 95 Bin1 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 96 Bin2 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 97 }
yangyejin 94:9050bb458b00 98
yangyejin 94:9050bb458b00 99 void TB6612FNG::motorB_ccw(void)
yangyejin 94:9050bb458b00 100 {
yangyejin 94:9050bb458b00 101 Bin1 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 102 Bin2 = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 103 nStby = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 104 }
yangyejin 94:9050bb458b00 105
yangyejin 94:9050bb458b00 106 void TB6612FNG::motorB_cw(void)
yangyejin 94:9050bb458b00 107 {
yangyejin 94:9050bb458b00 108 Bin1 = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 109 Bin2 = SIGNAL_LOW;
yangyejin 94:9050bb458b00 110 nStby = SIGNAL_HIGH;
yangyejin 94:9050bb458b00 111 }
yangyejin 94:9050bb458b00 112