Motor2

Dependents:   OneCircleRobot

Fork of Motor by Kiko Ishimoto

Committer:
kikoaac
Date:
Fri Jun 19 06:35:46 2015 +0000
Revision:
0:1252cd3b995f
Child:
1:4ab6e9768847
Motor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kikoaac 0:1252cd3b995f 1 /**
kikoaac 0:1252cd3b995f 2 * Includes
kikoaac 0:1252cd3b995f 3 */
kikoaac 0:1252cd3b995f 4 #include "Motor.h"
kikoaac 0:1252cd3b995f 5
kikoaac 0:1252cd3b995f 6 Motor::Motor(PinName _pin_h1, PinName _pin_g2, PinName _pin_g1, PinName _pin_h2,PinName _pwm,float Max) :
kikoaac 0:1252cd3b995f 7 motor(_pin_h1,_pin_g2,_pin_g1,_pin_h2),PwmPin(_pwm)
kikoaac 0:1252cd3b995f 8 {
kikoaac 0:1252cd3b995f 9 max=Max;
kikoaac 0:1252cd3b995f 10 PwmPin.period_ms(10);
kikoaac 0:1252cd3b995f 11 run(Stop,1);
kikoaac 0:1252cd3b995f 12 }
kikoaac 0:1252cd3b995f 13 void Motor::run(int i,float duty)
kikoaac 0:1252cd3b995f 14 {
kikoaac 0:1252cd3b995f 15 static int state;
kikoaac 0:1252cd3b995f 16 Duty = duty/max;
kikoaac 0:1252cd3b995f 17 //if(state==i)return;
kikoaac 0:1252cd3b995f 18 PwmPin = Duty;
kikoaac 0:1252cd3b995f 19 if(state==i)return;
kikoaac 0:1252cd3b995f 20 Timer t;
kikoaac 0:1252cd3b995f 21 motor=0;
kikoaac 0:1252cd3b995f 22 //wait_us(20);
kikoaac 0:1252cd3b995f 23 t.start();
kikoaac 0:1252cd3b995f 24 t.reset();
kikoaac 0:1252cd3b995f 25 while(t.read_us()>=20);
kikoaac 0:1252cd3b995f 26 if(i==Front) motor=0x01|0x04;
kikoaac 0:1252cd3b995f 27 else if(i==Back) motor=0x02|0x08;
kikoaac 0:1252cd3b995f 28 else if(i==Stop) motor=0x01|0x08;
kikoaac 0:1252cd3b995f 29 else if(i==Free) motor=0x00|0x00;
kikoaac 0:1252cd3b995f 30 else motor=0;
kikoaac 0:1252cd3b995f 31 state=i;
kikoaac 0:1252cd3b995f 32 }
kikoaac 0:1252cd3b995f 33