A library that makes use of the TB6612FNG and tested on the Sparkfun FTB6612NG carrier board.

Dependents:   mbed-os-example-FinalReal mbed-os-example-FinalReal_copy mbed-os-example-FinalReal

Committer:
Pinski1
Date:
Thu Jun 09 17:43:46 2011 +0000
Revision:
1:7f18197d1210
Parent:
0:34d1ce434420
Removed an errant space in an attempt to get doxygen documentation to show up.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pinski1 0:34d1ce434420 1 #include "TB6612FNG.h"
Pinski1 0:34d1ce434420 2 #include "mbed.h"
Pinski1 0:34d1ce434420 3
Pinski1 0:34d1ce434420 4 TB6612FNG::TB6612FNG(PinName pPWM, PinName pIn1, PinName pIn2): motorPWM(pPWM), In1(pIn1), In2(pIn2) {
Pinski1 0:34d1ce434420 5 motorPWM = 0;
Pinski1 0:34d1ce434420 6 motorPWM.period(0.001);
Pinski1 0:34d1ce434420 7 In1 = 0;
Pinski1 0:34d1ce434420 8 In2 = 0;
Pinski1 0:34d1ce434420 9 }
Pinski1 0:34d1ce434420 10
Pinski1 0:34d1ce434420 11 void TB6612FNG::setSpeed(float newSpeed) {
Pinski1 0:34d1ce434420 12 if(newSpeed > 0) {
Pinski1 0:34d1ce434420 13 In1 = 0;
Pinski1 0:34d1ce434420 14 In2 = 1;
Pinski1 0:34d1ce434420 15 motorPWM = newSpeed;
Pinski1 0:34d1ce434420 16 }
Pinski1 0:34d1ce434420 17 else if(newSpeed < 0) {
Pinski1 0:34d1ce434420 18 In1 = 1;
Pinski1 0:34d1ce434420 19 In2 = 0;
Pinski1 0:34d1ce434420 20 motorPWM = newSpeed * -1;
Pinski1 0:34d1ce434420 21 }
Pinski1 0:34d1ce434420 22 else {
Pinski1 0:34d1ce434420 23 In1 = 1;
Pinski1 0:34d1ce434420 24 In2 = 1;
Pinski1 0:34d1ce434420 25 motorPWM = 0;
Pinski1 0:34d1ce434420 26 }
Pinski1 0:34d1ce434420 27 }
Pinski1 0:34d1ce434420 28
Pinski1 0:34d1ce434420 29 float TB6612FNG::getSpeed(void) {
Pinski1 0:34d1ce434420 30 if(In2 == 0) return motorPWM * -1;
Pinski1 0:34d1ce434420 31 else return motorPWM;
Pinski1 0:34d1ce434420 32 }
Pinski1 0:34d1ce434420 33
Pinski1 0:34d1ce434420 34 void TB6612FNG::operator= (float param) {
Pinski1 0:34d1ce434420 35 setSpeed(param);
Pinski1 0:34d1ce434420 36 }
Pinski1 0:34d1ce434420 37
Pinski1 0:34d1ce434420 38 TB6612FNG::operator float() {
Pinski1 0:34d1ce434420 39 return getSpeed();
Pinski1 0:34d1ce434420 40 // be nice if this operated for print statements
Pinski1 0:34d1ce434420 41 }
Pinski1 0:34d1ce434420 42