Mouse code for the MacroRat
motor.cpp@46:b156ef445742, 2017-06-03 (annotated)
- Committer:
- sahilmgandhi
- Date:
- Sat Jun 03 00:22:44 2017 +0000
- Revision:
- 46:b156ef445742
- Parent:
- 15:b80555a4a8b9
Final code for internal battlebot competition.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kyleliangus | 8:a0760acdc59e | 1 | #include "mbed.h" |
kyleliangus | 8:a0760acdc59e | 2 | #include "motor.h" |
kyleliangus | 8:a0760acdc59e | 3 | |
kyleliangus | 8:a0760acdc59e | 4 | void Motor::backward(double voltage) { |
kyleliangus | 12:5790e56a056f | 5 | if(voltage > maxSpeed){ |
kyleliangus | 12:5790e56a056f | 6 | voltage = maxSpeed; |
christine222 | 13:2032db00f168 | 7 | }else if(voltage < minSpeed){ |
christine222 | 13:2032db00f168 | 8 | voltage = minSpeed; |
kyleliangus | 12:5790e56a056f | 9 | } |
kyleliangus | 15:b80555a4a8b9 | 10 | enableForw.write(0); |
kyleliangus | 15:b80555a4a8b9 | 11 | enableBack.write(1); |
kyleliangus | 15:b80555a4a8b9 | 12 | motorSpeed.write( voltage ); |
kyleliangus | 8:a0760acdc59e | 13 | } |
kyleliangus | 8:a0760acdc59e | 14 | |
kyleliangus | 8:a0760acdc59e | 15 | void Motor::forward(double voltage) { |
kyleliangus | 12:5790e56a056f | 16 | if(voltage > maxSpeed){ |
kyleliangus | 12:5790e56a056f | 17 | voltage = maxSpeed; |
christine222 | 13:2032db00f168 | 18 | }else if(voltage < minSpeed){ |
christine222 | 13:2032db00f168 | 19 | voltage = minSpeed; |
kyleliangus | 12:5790e56a056f | 20 | } |
kyleliangus | 15:b80555a4a8b9 | 21 | enableForw.write(1); |
kyleliangus | 15:b80555a4a8b9 | 22 | enableBack.write(0); |
kyleliangus | 15:b80555a4a8b9 | 23 | motorSpeed.write( voltage ); |
kyleliangus | 8:a0760acdc59e | 24 | } |
kyleliangus | 8:a0760acdc59e | 25 | |
kyleliangus | 12:5790e56a056f | 26 | void Motor::move(double voltage) { |
kyleliangus | 12:5790e56a056f | 27 | if(voltage < 0){ |
christine222 | 13:2032db00f168 | 28 | backward(-voltage); |
kyleliangus | 12:5790e56a056f | 29 | } |
kyleliangus | 12:5790e56a056f | 30 | if(voltage > 0){ |
kyleliangus | 12:5790e56a056f | 31 | forward(voltage); |
kyleliangus | 12:5790e56a056f | 32 | } |
kyleliangus | 12:5790e56a056f | 33 | } |
kyleliangus | 12:5790e56a056f | 34 | |
kyleliangus | 8:a0760acdc59e | 35 | |
kyleliangus | 8:a0760acdc59e | 36 | void Motor::brake() { |
kyleliangus | 15:b80555a4a8b9 | 37 | enableForw.write(1); |
kyleliangus | 15:b80555a4a8b9 | 38 | enableBack.write(1); |
kyleliangus | 15:b80555a4a8b9 | 39 | motorSpeed.write( BRAKE_VOLTAGE ); |
kyleliangus | 8:a0760acdc59e | 40 | } |
kyleliangus | 8:a0760acdc59e | 41 | |
kyleliangus | 8:a0760acdc59e | 42 | void Motor::coast() { |
kyleliangus | 15:b80555a4a8b9 | 43 | enableForw.write(0); |
kyleliangus | 15:b80555a4a8b9 | 44 | enableBack.write(0); |
kyleliangus | 15:b80555a4a8b9 | 45 | motorSpeed.write( 0 ); |
kyleliangus | 8:a0760acdc59e | 46 | } |