Motor
Dependents: Nucleo_spi 2015_denziben_i2c_S2 Nucleo_Motor Nucleo_Motor ... more
Motor.cpp@3:dea2df71cb97, 2015-09-23 (annotated)
- Committer:
- kikoaac
- Date:
- Wed Sep 23 06:01:10 2015 +0000
- Revision:
- 3:dea2df71cb97
- Parent:
- 2:ef4a9c047681
- Child:
- 4:56a1159c881c
???????
;
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 | 3:dea2df71cb97 | 5 | Motor::Motor(const Motor& m): |
kikoaac | 3:dea2df71cb97 | 6 | motor(m.Pin[0],m.Pin[1],m.Pin[2],m.Pin[3]),PwmPin(m.Pin[4]) |
kikoaac | 3:dea2df71cb97 | 7 | { |
kikoaac | 3:dea2df71cb97 | 8 | max=m.max; |
kikoaac | 3:dea2df71cb97 | 9 | //this |
kikoaac | 3:dea2df71cb97 | 10 | PwmPin.period_ms(20); |
kikoaac | 3:dea2df71cb97 | 11 | run(Stop,1); |
kikoaac | 3:dea2df71cb97 | 12 | } |
kikoaac | 0:1252cd3b995f | 13 | |
kikoaac | 3:dea2df71cb97 | 14 | Motor::Motor(PinName _pin_h1, PinName _pin_g2, PinName _pin_g1, PinName _pin_h2,PinName _pwm) : |
kikoaac | 3:dea2df71cb97 | 15 | motor(_pin_h1,_pin_g2,_pin_g1,_pin_h2),PwmPin(_pwm) |
kikoaac | 0:1252cd3b995f | 16 | { |
kikoaac | 3:dea2df71cb97 | 17 | Pin[0] = _pin_h1; |
kikoaac | 3:dea2df71cb97 | 18 | Pin[1] = _pin_g2; |
kikoaac | 3:dea2df71cb97 | 19 | Pin[2] = _pin_g1; |
kikoaac | 3:dea2df71cb97 | 20 | Pin[3] = _pin_h2; |
kikoaac | 3:dea2df71cb97 | 21 | Pin[4] = _pwm; |
kikoaac | 3:dea2df71cb97 | 22 | max=1.0; |
kikoaac | 3:dea2df71cb97 | 23 | //this |
kikoaac | 2:ef4a9c047681 | 24 | PwmPin.period_ms(10); |
kikoaac | 0:1252cd3b995f | 25 | run(Stop,1); |
kikoaac | 0:1252cd3b995f | 26 | } |
kikoaac | 0:1252cd3b995f | 27 | void Motor::run(int i,float duty) |
kikoaac | 0:1252cd3b995f | 28 | { |
kikoaac | 3:dea2df71cb97 | 29 | //static int state; |
kikoaac | 3:dea2df71cb97 | 30 | Duty = (float)duty*max; |
kikoaac | 1:4ab6e9768847 | 31 | //printf("Duty %f \n",(float)duty); |
kikoaac | 0:1252cd3b995f | 32 | //if(state==i)return; |
kikoaac | 3:dea2df71cb97 | 33 | PwmPin = Duty*Duty; |
kikoaac | 0:1252cd3b995f | 34 | if(state==i)return; |
kikoaac | 0:1252cd3b995f | 35 | motor=0; |
kikoaac | 0:1252cd3b995f | 36 | //wait_us(20); |
kikoaac | 1:4ab6e9768847 | 37 | /*t.start(); |
kikoaac | 0:1252cd3b995f | 38 | t.reset(); |
kikoaac | 1:4ab6e9768847 | 39 | while(t.read_us()>=20);*/ |
kikoaac | 1:4ab6e9768847 | 40 | wait_us(20); |
kikoaac | 0:1252cd3b995f | 41 | if(i==Front) motor=0x01|0x04; |
kikoaac | 0:1252cd3b995f | 42 | else if(i==Back) motor=0x02|0x08; |
kikoaac | 0:1252cd3b995f | 43 | else if(i==Stop) motor=0x01|0x08; |
kikoaac | 0:1252cd3b995f | 44 | else if(i==Free) motor=0x00|0x00; |
kikoaac | 3:dea2df71cb97 | 45 | else motor=0; |
kikoaac | 0:1252cd3b995f | 46 | state=i; |
kikoaac | 0:1252cd3b995f | 47 | } |
kikoaac | 0:1252cd3b995f | 48 | |
kikoaac | 1:4ab6e9768847 | 49 | |
kikoaac | 1:4ab6e9768847 | 50 | |
kikoaac | 3:dea2df71cb97 | 51 |