Motor2
Fork of Motor by
Motor.cpp
- Committer:
- kikoaac
- Date:
- 2015-09-23
- Revision:
- 3:dea2df71cb97
- Parent:
- 2:ef4a9c047681
- Child:
- 4:56a1159c881c
File content as of revision 3:dea2df71cb97:
/** * Includes */ #include "Motor.h" Motor::Motor(const Motor& m): motor(m.Pin[0],m.Pin[1],m.Pin[2],m.Pin[3]),PwmPin(m.Pin[4]) { max=m.max; //this PwmPin.period_ms(20); run(Stop,1); } Motor::Motor(PinName _pin_h1, PinName _pin_g2, PinName _pin_g1, PinName _pin_h2,PinName _pwm) : motor(_pin_h1,_pin_g2,_pin_g1,_pin_h2),PwmPin(_pwm) { Pin[0] = _pin_h1; Pin[1] = _pin_g2; Pin[2] = _pin_g1; Pin[3] = _pin_h2; Pin[4] = _pwm; max=1.0; //this PwmPin.period_ms(10); run(Stop,1); } void Motor::run(int i,float duty) { //static int state; Duty = (float)duty*max; //printf("Duty %f \n",(float)duty); //if(state==i)return; PwmPin = Duty*Duty; if(state==i)return; motor=0; //wait_us(20); /*t.start(); t.reset(); while(t.read_us()>=20);*/ wait_us(20); if(i==Front) motor=0x01|0x04; else if(i==Back) motor=0x02|0x08; else if(i==Stop) motor=0x01|0x08; else if(i==Free) motor=0x00|0x00; else motor=0; state=i; }