control for robotic arm that can play chess using a granular gripper

Dependencies:   Encoder mbed HIDScope Servo MODSERIAL

Fork of chessRobot by a steenbeek

Committer:
annesteenbeek
Date:
Tue Oct 06 21:06:20 2015 +0000
Revision:
30:a20f16bf8dda
Parent:
29:e4f3455aaa0b
Child:
31:8fbee6c92753
divided functions with Tickers and working PID;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
annesteenbeek 12:61759f94c07a 1 #include "mbed.h"
annesteenbeek 25:874675516927 2 #include "EMG.h"
annesteenbeek 25:874675516927 3 #include "HIDScope.h"
annesteenbeek 25:874675516927 4 #include "PID.h"
annesteenbeek 25:874675516927 5 #include "encoder.h"
annesteenbeek 13:4837b36b9a68 6 #include "config.h" // settings and pin configurations
annesteenbeek 13:4837b36b9a68 7 #include "actuators.h"
annesteenbeek 15:5fa388ba22cb 8 #include "buttons.h"
annesteenbeek 25:874675516927 9 #include "debug.h"
annesteenbeek 6:b957d8809e7c 10
annesteenbeek 12:61759f94c07a 11
annesteenbeek 30:a20f16bf8dda 12 Ticker switches, debug, motor;
annesteenbeek 30:a20f16bf8dda 13 volatile bool switches_go=false, debug_go=false, motor_go=false;
annesteenbeek 0:525558a26464 14
annesteenbeek 30:a20f16bf8dda 15 void switches_activate(){switches_go=true;};
annesteenbeek 30:a20f16bf8dda 16 void debug_activate(){debug_go=true;};
annesteenbeek 30:a20f16bf8dda 17 void motor_activate(){motor_go=true;};
annesteenbeek 29:e4f3455aaa0b 18
annesteenbeek 5:73bfad06b775 19 int main(){
annesteenbeek 26:0a9e4147a31a 20 motorInit();
annesteenbeek 29:e4f3455aaa0b 21
annesteenbeek 30:a20f16bf8dda 22 switches.attach(&switches_activate, 0.19f);
annesteenbeek 30:a20f16bf8dda 23 debug.attach(&debug_activate, 0.21f);
annesteenbeek 30:a20f16bf8dda 24 motor.attach(&motor_activate, 0.2f);
annesteenbeek 0:525558a26464 25 while (true) {
annesteenbeek 3:47c76be6d402 26 // readEMG();
annesteenbeek 3:47c76be6d402 27 // servoControl();
annesteenbeek 30:a20f16bf8dda 28 if(switches_go){
annesteenbeek 30:a20f16bf8dda 29 switches_go=false;
annesteenbeek 30:a20f16bf8dda 30 checkSwitches();
annesteenbeek 30:a20f16bf8dda 31 }
annesteenbeek 30:a20f16bf8dda 32 if(debug_go){
annesteenbeek 30:a20f16bf8dda 33 debug_go=false;
annesteenbeek 30:a20f16bf8dda 34 debugProcess();
annesteenbeek 30:a20f16bf8dda 35 }
annesteenbeek 30:a20f16bf8dda 36 if(motor_go){
annesteenbeek 30:a20f16bf8dda 37 motor_go=false;
annesteenbeek 30:a20f16bf8dda 38 motorControl();
annesteenbeek 30:a20f16bf8dda 39 }
annesteenbeek 0:525558a26464 40 }
annesteenbeek 0:525558a26464 41 }