bio robot

Dependencies:   MPU6050-DMP QEI_hw mbed-rpc mbed

Fork of MPU6050_Example by Shundo Kishi

Committer:
amandaghassaei
Date:
Sat Dec 05 09:04:23 2015 +0000
Revision:
10:769cc457c3a4
Parent:
9:1d9b24d7ac77
Child:
11:711d3c207e8c
swinging looking good;

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 9:1d9b24d7ac77 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 10:769cc457c3a4 26 if (serialCounter++>1000000) {
amandaghassaei 10:769cc457c3a4 27 // comm.getPC()->printf("%f\n", controls.getTheta1());
amandaghassaei 10:769cc457c3a4 28 // comm.getPC()->printf("%f", controls.motor.getPWM());
amandaghassaei 9:1d9b24d7ac77 29 serialCounter = 0;
amandaghassaei 10:769cc457c3a4 30 // comm.getPC()->printf("%f\n", controls.motor.getTorque());
amandaghassaei 9:1d9b24d7ac77 31 }
amandaghassaei 6:12b6be801ad8 32 }
amandaghassaei 6:12b6be801ad8 33 }
amandaghassaei 6:12b6be801ad8 34
amandaghassaei 6:12b6be801ad8 35
amandaghassaei 10:769cc457c3a4 36
amandaghassaei 10:769cc457c3a4 37
amandaghassaei 10:769cc457c3a4 38
amandaghassaei 6:12b6be801ad8 39 //wrappers for comm stack
amandaghassaei 5:c3d671959ef3 40 void openGripper1Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 41 comm.openGripper1(input, output);
amandaghassaei 5:c3d671959ef3 42 };
amandaghassaei 5:c3d671959ef3 43 RPCFunction OpenGripper1(&openGripper1Wrapper, "OpenGripper1");
amandaghassaei 5:c3d671959ef3 44 void closeGripper1Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 45 comm.closeGripper1(input, output);
amandaghassaei 5:c3d671959ef3 46 };
amandaghassaei 5:c3d671959ef3 47 RPCFunction CloseGripper1(&closeGripper1Wrapper, "CloseGripper1");
amandaghassaei 5:c3d671959ef3 48 void openGripper2Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 49 comm.openGripper2(input, output);
amandaghassaei 5:c3d671959ef3 50 };
amandaghassaei 5:c3d671959ef3 51 RPCFunction OpenGripper2(&openGripper2Wrapper, "OpenGripper2");
amandaghassaei 5:c3d671959ef3 52 void closeGripper2Wrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 53 comm.closeGripper2(input, output);
amandaghassaei 5:c3d671959ef3 54 };
amandaghassaei 5:c3d671959ef3 55 RPCFunction CloseGripper2(&closeGripper2Wrapper, "CloseGripper2");
amandaghassaei 9:1d9b24d7ac77 56 void setSwingUpKWrapper(Arguments * input, Reply * output){
amandaghassaei 9:1d9b24d7ac77 57 comm.setSwingUpK(input, output);
amandaghassaei 5:c3d671959ef3 58 };
amandaghassaei 9:1d9b24d7ac77 59 RPCFunction SetSwingUpK(&setSwingUpKWrapper, "SetSwingUpK");
amandaghassaei 9:1d9b24d7ac77 60 void setSwingUpDWrapper(Arguments * input, Reply * output){
amandaghassaei 9:1d9b24d7ac77 61 comm.setSwingUpD(input, output);
amandaghassaei 9:1d9b24d7ac77 62 };
amandaghassaei 9:1d9b24d7ac77 63 RPCFunction SetSwingUpD(&setSwingUpDWrapper, "SetSwingUpD");
amandaghassaei 10:769cc457c3a4 64 void setCurrentPWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 65 comm.setCurrentP(input, output);
amandaghassaei 10:769cc457c3a4 66 };
amandaghassaei 10:769cc457c3a4 67 RPCFunction SetCurrentP(&setCurrentPWrapper, "SetCurrentP");
amandaghassaei 10:769cc457c3a4 68 void setCurrentDWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 69 comm.setCurrentD(input, output);
amandaghassaei 10:769cc457c3a4 70 };
amandaghassaei 10:769cc457c3a4 71 RPCFunction SetCurrentD(&setCurrentDWrapper, "SetCurrentD");
amandaghassaei 9:1d9b24d7ac77 72 void setTargetWrapper(Arguments * input, Reply * output){
amandaghassaei 5:c3d671959ef3 73 comm.setTarget(input, output);
amandaghassaei 5:c3d671959ef3 74 };
amandaghassaei 9:1d9b24d7ac77 75 RPCFunction SetTarget(&setTargetWrapper, "SetTarget");
amandaghassaei 9:1d9b24d7ac77 76 void setTorqueWrapper(Arguments * input, Reply * output){
amandaghassaei 9:1d9b24d7ac77 77 comm.setTorque(input, output);
amandaghassaei 9:1d9b24d7ac77 78 };
amandaghassaei 9:1d9b24d7ac77 79 RPCFunction SetTorque(&setTorqueWrapper, "SetTorque");
amandaghassaei 10:769cc457c3a4 80 void printGainsWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 81 comm.printGains();
amandaghassaei 10:769cc457c3a4 82 };
amandaghassaei 10:769cc457c3a4 83 RPCFunction PrintGains(&printGainsWrapper, "PrintGains");
amandaghassaei 10:769cc457c3a4 84 void printPositionWrapper(Arguments * input, Reply * output){
amandaghassaei 10:769cc457c3a4 85 comm.printPosition();
amandaghassaei 10:769cc457c3a4 86 };
amandaghassaei 10:769cc457c3a4 87 RPCFunction PrintPosition(&printPositionWrapper, "PrintPosition");
amandaghassaei 5:c3d671959ef3 88
amandaghassaei 5:c3d671959ef3 89
amandaghassaei 5:c3d671959ef3 90
amandaghassaei 5:c3d671959ef3 91
syundo0730 0:8d2c753a96e7 92
amandaghassaei 10:769cc457c3a4 93