bio robot

Dependencies:   MPU6050-DMP QEI_hw mbed-rpc mbed

Fork of MPU6050_Example by Shundo Kishi

Committer:
amandaghassaei
Date:
Tue Dec 08 22:52:46 2015 +0000
Revision:
11:711d3c207e8c
Parent:
10:769cc457c3a4
Child:
12:49813131dd15
negative dth;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
amandaghassaei 3:be5cf450436d 1 #include "mbed.h"
amandaghassaei 7:7efcd3bf3302 2 #include "mbed_rpc.h"
amandaghassaei 2:17b18ea93551 3 #include "Comm.h"
amandaghassaei 7:7efcd3bf3302 4 #include "Controls.h"
amandaghassaei 3:be5cf450436d 5
amandaghassaei 7:7efcd3bf3302 6 Controls controls;
amandaghassaei 9:1d9b24d7ac77 7 Comm comm(&controls);
amandaghassaei 9:1d9b24d7ac77 8
amandaghassaei 9:1d9b24d7ac77 9 long serialCounter = 0;
amandaghassaei 9:1d9b24d7ac77 10
amandaghassaei 9:1d9b24d7ac77 11
amandaghassaei 10:769cc457c3a4 12 Ticker controlsInterrupt;
amandaghassaei 10:769cc457c3a4 13
syundo0730 0:8d2c753a96e7 14
amandaghassaei 6:12b6be801ad8 15 int main() {
amandaghassaei 9:1d9b24d7ac77 16 controls.setPC(comm.getPC());
amandaghassaei 10:769cc457c3a4 17 controls.setup();
amandaghassaei 9:1d9b24d7ac77 18 // comm.printPosition();
amandaghassaei 11:711d3c207e8c 19 comm.printGains();
amandaghassaei 10:769cc457c3a4 20
amandaghassaei 10:769cc457c3a4 21 controlsInterrupt.attach_us(&controls, &Controls::loop, 1000);
amandaghassaei 10:769cc457c3a4 22
amandaghassaei 6:12b6be801ad8 23 while(1) {
amandaghassaei 10:769cc457c3a4 24 controls.updateIMUS();
amandaghassaei 6:12b6be801ad8 25 comm.check();
amandaghassaei 11:711d3c207e8c 26
amandaghassaei 11:711d3c207e8c 27 if (serialCounter++>100) {
amandaghassaei 11:711d3c207e8c 28 // comm.printPosition();
amandaghassaei 10:769cc457c3a4 29 // comm.getPC()->printf("%f\n", controls.getTheta1());
amandaghassaei 10:769cc457c3a4 30 // comm.getPC()->printf("%f", controls.motor.getPWM());
amandaghassaei 9:1d9b24d7ac77 31 serialCounter = 0;
amandaghassaei 11:711d3c207e8c 32 // comm.printPosition();
amandaghassaei 9:1d9b24d7ac77 33 }
amandaghassaei 6:12b6be801ad8 34 }
amandaghassaei 6:12b6be801ad8 35 }
amandaghassaei 6:12b6be801ad8 36
amandaghassaei 6:12b6be801ad8 37
amandaghassaei 10:769cc457c3a4 38
amandaghassaei 10:769cc457c3a4 39
amandaghassaei 10:769cc457c3a4 40
amandaghassaei 6:12b6be801ad8 41 //wrappers for comm stack
amandaghassaei 5:c3d671959ef3 42 void openGripper1Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 43 comm.openGripper1(input, output);
amandaghassaei 5:c3d671959ef3 44 };
amandaghassaei 5:c3d671959ef3 45 RPCFunction OpenGripper1(&openGripper1Wrapper, "OpenGripper1");
amandaghassaei 5:c3d671959ef3 46 void closeGripper1Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 47 comm.closeGripper1(input, output);
amandaghassaei 5:c3d671959ef3 48 };
amandaghassaei 5:c3d671959ef3 49 RPCFunction CloseGripper1(&closeGripper1Wrapper, "CloseGripper1");
amandaghassaei 5:c3d671959ef3 50 void openGripper2Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 51 comm.openGripper2(input, output);
amandaghassaei 5:c3d671959ef3 52 };
amandaghassaei 5:c3d671959ef3 53 RPCFunction OpenGripper2(&openGripper2Wrapper, "OpenGripper2");
amandaghassaei 5:c3d671959ef3 54 void closeGripper2Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 55 comm.closeGripper2(input, output);
amandaghassaei 5:c3d671959ef3 56 };
amandaghassaei 5:c3d671959ef3 57 RPCFunction CloseGripper2(&closeGripper2Wrapper, "CloseGripper2");
amandaghassaei 9:1d9b24d7ac77 58 void setSwingUpKWrapper(Arguments * input, Reply * output){
amandaghassaei 9:1d9b24d7ac77 59 comm.setSwingUpK(input, output);
amandaghassaei 5:c3d671959ef3 60 };
amandaghassaei 9:1d9b24d7ac77 61 RPCFunction SetSwingUpK(&setSwingUpKWrapper, "SetSwingUpK");
amandaghassaei 9:1d9b24d7ac77 62 void setSwingUpDWrapper(Arguments * input, Reply * output){
amandaghassaei 9:1d9b24d7ac77 63 comm.setSwingUpD(input, output);
amandaghassaei 9:1d9b24d7ac77 64 };
amandaghassaei 9:1d9b24d7ac77 65 RPCFunction SetSwingUpD(&setSwingUpDWrapper, "SetSwingUpD");
amandaghassaei 10:769cc457c3a4 66 void setCurrentPWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 67 comm.setCurrentP(input, output);
amandaghassaei 10:769cc457c3a4 68 };
amandaghassaei 10:769cc457c3a4 69 RPCFunction SetCurrentP(&setCurrentPWrapper, "SetCurrentP");
amandaghassaei 10:769cc457c3a4 70 void setCurrentDWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 71 comm.setCurrentD(input, output);
amandaghassaei 10:769cc457c3a4 72 };
amandaghassaei 10:769cc457c3a4 73 RPCFunction SetCurrentD(&setCurrentDWrapper, "SetCurrentD");
amandaghassaei 9:1d9b24d7ac77 74 void setTargetWrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 75 comm.setTarget(input, output);
amandaghassaei 5:c3d671959ef3 76 };
amandaghassaei 9:1d9b24d7ac77 77 RPCFunction SetTarget(&setTargetWrapper, "SetTarget");
amandaghassaei 11:711d3c207e8c 78 void setThetaWrapper(Arguments * input, Reply * output){
amandaghassaei 11:711d3c207e8c 79 comm.setTheta(input, output);
amandaghassaei 9:1d9b24d7ac77 80 };
amandaghassaei 11:711d3c207e8c 81 RPCFunction SetTheta(&setThetaWrapper, "SetTheta");
amandaghassaei 10:769cc457c3a4 82 void printGainsWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 83 comm.printGains();
amandaghassaei 10:769cc457c3a4 84 };
amandaghassaei 10:769cc457c3a4 85 RPCFunction PrintGains(&printGainsWrapper, "PrintGains");
amandaghassaei 10:769cc457c3a4 86 void printPositionWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 87 comm.printPosition();
amandaghassaei 10:769cc457c3a4 88 };
amandaghassaei 10:769cc457c3a4 89 RPCFunction PrintPosition(&printPositionWrapper, "PrintPosition");
amandaghassaei 5:c3d671959ef3 90
amandaghassaei 5:c3d671959ef3 91
amandaghassaei 5:c3d671959ef3 92
amandaghassaei 5:c3d671959ef3 93
syundo0730 0:8d2c753a96e7 94
amandaghassaei 10:769cc457c3a4 95