Initial Fork

Committer:
Throwbot
Date:
Thu May 08 19:11:04 2014 +0000
Revision:
2:73cbc6028f7a
Parent:
1:051a7ecff13e
Child:
3:cb336a5cf19e
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:810f315ba3dc 1 /**
jksoft 0:810f315ba3dc 2 * Motor Driver TB6612 Control Library
jksoft 0:810f315ba3dc 3 *
jksoft 0:810f315ba3dc 4 * -- TB6612 is a device of the TOSHIBA.
jksoft 0:810f315ba3dc 5 *
jksoft 0:810f315ba3dc 6 * Copyright (C) 2012 Junichi Katsu (JKSOFT)
jksoft 0:810f315ba3dc 7 */
jksoft 0:810f315ba3dc 8
jksoft 0:810f315ba3dc 9
jksoft 0:810f315ba3dc 10 #include "TB6612.h"
jksoft 0:810f315ba3dc 11
jksoft 0:810f315ba3dc 12 // TB6612 Class Constructor
jksoft 0:810f315ba3dc 13 TB6612::TB6612(PinName pwm, PinName fwd, PinName rev):
Throwbot 2:73cbc6028f7a 14 scale(1), _pwm(pwm), _fwd(fwd), _rev(rev) {
jksoft 0:810f315ba3dc 15
jksoft 0:810f315ba3dc 16 _fwd = 0;
jksoft 0:810f315ba3dc 17 _rev = 0;
jksoft 0:810f315ba3dc 18 _pwm = 0.0;
jksoft 0:810f315ba3dc 19 _pwm.period(0.001);
jksoft 0:810f315ba3dc 20 }
jksoft 0:810f315ba3dc 21
jksoft 0:810f315ba3dc 22 // Speed Control
jksoft 0:810f315ba3dc 23 // arg
jksoft 1:051a7ecff13e 24 // int speed -100 -- 0 -- 100
jksoft 1:051a7ecff13e 25 void TB6612::speed(int speed) {
Throwbot 2:73cbc6028f7a 26
Throwbot 2:73cbc6028f7a 27 speed *= scale;
Throwbot 2:73cbc6028f7a 28
jksoft 1:051a7ecff13e 29 if( speed > 0 )
jksoft 0:810f315ba3dc 30 {
Throwbot 2:73cbc6028f7a 31 _pwm = ((float)speed)/ 100.0;
jksoft 0:810f315ba3dc 32 _fwd = 1;
jksoft 0:810f315ba3dc 33 _rev = 0;
jksoft 0:810f315ba3dc 34 }
jksoft 1:051a7ecff13e 35 else if( speed < 0 )
jksoft 0:810f315ba3dc 36 {
Throwbot 2:73cbc6028f7a 37 _pwm = -((float)speed)/ 100.0;
jksoft 0:810f315ba3dc 38 _fwd = 0;
jksoft 0:810f315ba3dc 39 _rev = 1;
jksoft 0:810f315ba3dc 40 }
jksoft 0:810f315ba3dc 41 else
jksoft 0:810f315ba3dc 42 {
jksoft 0:810f315ba3dc 43 _fwd = 1;
jksoft 0:810f315ba3dc 44 _rev = 1;
jksoft 0:810f315ba3dc 45 }
jksoft 0:810f315ba3dc 46 }