Motor2
Fork of Motor by
Motor.cpp@0:1252cd3b995f, 2015-06-19 (annotated)
- Committer:
- kikoaac
- Date:
- Fri Jun 19 06:35:46 2015 +0000
- Revision:
- 0:1252cd3b995f
- Child:
- 1:4ab6e9768847
Motor
Who changed what in which revision?
User | Revision | Line number | New 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 |