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:
Thu Oct 29 22:46:30 2015 +0100
Revision:
127:831f03471efb
Parent:
126:56866cefaa08
Child:
128:c583aff5a7bf
added web interface components and flags for enabeling functionality

Who changed what in which revision?

UserRevisionLine numberNew contents of line
annesteenbeek 124:f67ce69557db 1 #include "mbed.h"
annesteenbeek 125:749b8ce2e040 2 #include "serialcom.h"
annesteenbeek 126:56866cefaa08 3 //#include "MODSERIAL.h"
annesteenbeek 124:f67ce69557db 4 #include "config.h"
annesteenbeek 124:f67ce69557db 5 #include "PID.h"
annesteenbeek 125:749b8ce2e040 6 #include "buttons.h"
annesteenbeek 124:f67ce69557db 7 #include <string>
annesteenbeek 124:f67ce69557db 8
annesteenbeek 126:56866cefaa08 9 Serial pc(USBTX, USBRX);
annesteenbeek 124:f67ce69557db 10 char buf[128];
annesteenbeek 124:f67ce69557db 11
annesteenbeek 126:56866cefaa08 12 void serialInit(){
annesteenbeek 126:56866cefaa08 13 const int baudrate = 9600;
annesteenbeek 126:56866cefaa08 14 redLed.write(1); // dim the leds
annesteenbeek 126:56866cefaa08 15 blueLed.write(1);
annesteenbeek 126:56866cefaa08 16 greenLed.write(1);
annesteenbeek 126:56866cefaa08 17
annesteenbeek 126:56866cefaa08 18 pc.baud(baudrate);
annesteenbeek 126:56866cefaa08 19 }
annesteenbeek 126:56866cefaa08 20
annesteenbeek 124:f67ce69557db 21 void serialCom(){
annesteenbeek 127:831f03471efb 22 // Receiving
annesteenbeek 124:f67ce69557db 23 pc.scanf("%s", buf);
annesteenbeek 124:f67ce69557db 24 if(strcmp(buf,"ledRed")==0){
annesteenbeek 125:749b8ce2e040 25 redLed.write(!redLed.read());
annesteenbeek 126:56866cefaa08 26 pc.printf("received data\n");
annesteenbeek 124:f67ce69557db 27 }
annesteenbeek 124:f67ce69557db 28 if(strcmp(buf,"ledBlue")==0){
annesteenbeek 125:749b8ce2e040 29 blueLed.write(!blueLed.read());
annesteenbeek 126:56866cefaa08 30 pc.printf("received data\n");
annesteenbeek 124:f67ce69557db 31 }
annesteenbeek 124:f67ce69557db 32 if(strcmp(buf,"ledGreen")==0){
annesteenbeek 125:749b8ce2e040 33 greenLed.write(!greenLed.read());
annesteenbeek 126:56866cefaa08 34 pc.printf("received data\n");
annesteenbeek 124:f67ce69557db 35 }
annesteenbeek 127:831f03471efb 36 if(strcmp(buf, "switchPump")==0){
annesteenbeek 127:831f03471efb 37 enablePump = !enablePump;
annesteenbeek 127:831f03471efb 38 pc.printf("enablePump %d\n", enablePump);
annesteenbeek 127:831f03471efb 39 }
annesteenbeek 127:831f03471efb 40 if(strcmp(buf, "startCalibration")==0){
annesteenbeek 127:831f03471efb 41 startCalibration = true;
annesteenbeek 127:831f03471efb 42 pc.printf("startCalibration %d\n", startCalibration);
annesteenbeek 127:831f03471efb 43 }
annesteenbeek 127:831f03471efb 44 if(strcmp(buf, "enableEMG")==0){
annesteenbeek 127:831f03471efb 45 enableEMG = true;
annesteenbeek 127:831f03471efb 46 pc.printf("enableEMG %d\n", enableEMG);
annesteenbeek 127:831f03471efb 47 }
annesteenbeek 127:831f03471efb 48 if(strcmp(buf, "usePotmeters")==0){
annesteenbeek 127:831f03471efb 49 usePotmeters = true;
annesteenbeek 127:831f03471efb 50 pc.printf("usePotmeters %d\n", usePotmeters);
annesteenbeek 127:831f03471efb 51 }
annesteenbeek 127:831f03471efb 52 if(strcmp(buf, "controlAngle")==0){
annesteenbeek 127:831f03471efb 53 controlAngle = true;
annesteenbeek 127:831f03471efb 54 pc.printf("controlAngle %d\n", controlAngle);
annesteenbeek 127:831f03471efb 55 }
annesteenbeek 127:831f03471efb 56 if(strcmp(buf, "controlDirection")==0){
annesteenbeek 127:831f03471efb 57 controlDirection = true;
annesteenbeek 127:831f03471efb 58 pc.printf("controlDirection %d\n", controlDirection);
annesteenbeek 127:831f03471efb 59 }
annesteenbeek 124:f67ce69557db 60 }
annesteenbeek 124:f67ce69557db 61