control for robotic arm that can play chess using a granular gripper
Dependencies: Encoder mbed HIDScope Servo MODSERIAL
Fork of chessRobot by
main.cpp@48:3cf1eaf34926, 2015-10-08 (annotated)
- Committer:
- annesteenbeek
- Date:
- Thu Oct 08 15:29:48 2015 +0200
- Revision:
- 48:3cf1eaf34926
- Parent:
- 47:e493567999d7
- Child:
- 50:b0cf07ca53cf
changed timing
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
annesteenbeek | 12:61759f94c07a | 1 | #include "mbed.h" |
annesteenbeek | 13:4837b36b9a68 | 2 | #include "config.h" // settings and pin configurations |
annesteenbeek | 13:4837b36b9a68 | 3 | #include "actuators.h" |
annesteenbeek | 15:5fa388ba22cb | 4 | #include "buttons.h" |
annesteenbeek | 25:874675516927 | 5 | #include "debug.h" |
annesteenbeek | 6:b957d8809e7c | 6 | |
annesteenbeek | 12:61759f94c07a | 7 | |
annesteenbeek | 30:a20f16bf8dda | 8 | Ticker switches, debug, motor; |
annesteenbeek | 30:a20f16bf8dda | 9 | volatile bool switches_go=false, debug_go=false, motor_go=false; |
annesteenbeek | 0:525558a26464 | 10 | |
annesteenbeek | 30:a20f16bf8dda | 11 | void switches_activate(){switches_go=true;}; |
annesteenbeek | 30:a20f16bf8dda | 12 | void debug_activate(){debug_go=true;}; |
annesteenbeek | 30:a20f16bf8dda | 13 | void motor_activate(){motor_go=true;}; |
annesteenbeek | 29:e4f3455aaa0b | 14 | |
annesteenbeek | 5:73bfad06b775 | 15 | int main(){ |
annesteenbeek | 26:0a9e4147a31a | 16 | motorInit(); |
annesteenbeek |
32:2006977785f5 | 17 | // calibrateMotors(); |
annesteenbeek | 29:e4f3455aaa0b | 18 | |
annesteenbeek | 47:e493567999d7 | 19 | switches.attach(&switches_activate, 0.02f); |
annesteenbeek | 47:e493567999d7 | 20 | debug.attach(&debug_activate, 0.03f); |
annesteenbeek | 48:3cf1eaf34926 | 21 | motor.attach(&motor_activate, 0.1f); |
annesteenbeek |
32:2006977785f5 | 22 | |
annesteenbeek | 0:525558a26464 | 23 | while (true) { |
annesteenbeek | 3:47c76be6d402 | 24 | // readEMG(); |
annesteenbeek | 3:47c76be6d402 | 25 | // servoControl(); |
annesteenbeek | 30:a20f16bf8dda | 26 | if(switches_go){ |
annesteenbeek | 30:a20f16bf8dda | 27 | switches_go=false; |
annesteenbeek | 30:a20f16bf8dda | 28 | checkSwitches(); |
annesteenbeek | 30:a20f16bf8dda | 29 | } |
annesteenbeek | 30:a20f16bf8dda | 30 | if(debug_go){ |
annesteenbeek | 30:a20f16bf8dda | 31 | debug_go=false; |
annesteenbeek | 30:a20f16bf8dda | 32 | debugProcess(); |
annesteenbeek | 30:a20f16bf8dda | 33 | } |
annesteenbeek | 30:a20f16bf8dda | 34 | if(motor_go){ |
annesteenbeek | 30:a20f16bf8dda | 35 | motor_go=false; |
annesteenbeek | 30:a20f16bf8dda | 36 | motorControl(); |
annesteenbeek | 30:a20f16bf8dda | 37 | } |
annesteenbeek | 0:525558a26464 | 38 | } |
annesteenbeek | 0:525558a26464 | 39 | } |