Code for our FYDP -only one IMU works right now -RTOS is working

Dependencies:   mbed

Committer:
majik
Date:
Wed Mar 18 22:23:48 2015 +0000
Revision:
0:964eb6a2ef00
This is our FYDP code, but only one IMU works with the RTOS.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
majik 0:964eb6a2ef00 1 void calibrate_fnt(int argc, char **argv)
majik 0:964eb6a2ef00 2 {
majik 0:964eb6a2ef00 3 //to fix for updated reckon
majik 0:964eb6a2ef00 4 /*
majik 0:964eb6a2ef00 5 if(argc != 4){
majik 0:964eb6a2ef00 6 if(echo){
majik 0:964eb6a2ef00 7 bt.lock();
majik 0:964eb6a2ef00 8 bt.printf("Usage: calibrate [module] [setting] [value]\r\n");
majik 0:964eb6a2ef00 9 bt.unlock();
majik 0:964eb6a2ef00 10 return;
majik 0:964eb6a2ef00 11 }
majik 0:964eb6a2ef00 12 }
majik 0:964eb6a2ef00 13
majik 0:964eb6a2ef00 14 if( !strcmp(argv[1],"flow")){
majik 0:964eb6a2ef00 15 if( !strcmp(argv[2],"dpmm") ){
majik 0:964eb6a2ef00 16 float val = atof( argv[3] );
majik 0:964eb6a2ef00 17 if (val != 0)
majik 0:964eb6a2ef00 18 opt_flow_L.pxPerMM = val;
majik 0:964eb6a2ef00 19 opt_flow_R.pxPerMM = val;
majik 0:964eb6a2ef00 20 if(echo){
majik 0:964eb6a2ef00 21 bt.lock();
majik 0:964eb6a2ef00 22 bt.printf("\r\npxPerMM = %.2f\r\n", opt_flow_L.pxPerMM);
majik 0:964eb6a2ef00 23 bt.unlock();
majik 0:964eb6a2ef00 24 }
majik 0:964eb6a2ef00 25 }
majik 0:964eb6a2ef00 26 else if ( !strcmp(argv[2],"DPI") ){
majik 0:964eb6a2ef00 27 if(!strcmp(argv[3],"high")){
majik 0:964eb6a2ef00 28 opt_flow_L.reset();
majik 0:964eb6a2ef00 29 opt_flow_R.reset();
majik 0:964eb6a2ef00 30 if(echo){
majik 0:964eb6a2ef00 31 bt.lock();
majik 0:964eb6a2ef00 32 bt.printf("\r\nDPI set to high\r\n");
majik 0:964eb6a2ef00 33 bt.unlock();
majik 0:964eb6a2ef00 34 }
majik 0:964eb6a2ef00 35 }
majik 0:964eb6a2ef00 36 else if(!strcmp(argv[3],"low")){
majik 0:964eb6a2ef00 37 opt_flow_L.setDPI();
majik 0:964eb6a2ef00 38 opt_flow_R.setDPI();
majik 0:964eb6a2ef00 39 if(echo){
majik 0:964eb6a2ef00 40 bt.lock();
majik 0:964eb6a2ef00 41 bt.printf("\r\nDPI set to low\r\n");
majik 0:964eb6a2ef00 42 bt.unlock();
majik 0:964eb6a2ef00 43 }
majik 0:964eb6a2ef00 44 }
majik 0:964eb6a2ef00 45 else{
majik 0:964eb6a2ef00 46 if(echo)
majik 0:964eb6a2ef00 47 bt.printf("\r\nvalue can be \"low\" or \"high\"\r\n");
majik 0:964eb6a2ef00 48 }
majik 0:964eb6a2ef00 49 }else{
majik 0:964eb6a2ef00 50 if(echo)
majik 0:964eb6a2ef00 51 bt.printf("\r\nInvalid Setting Parameters\r\n");
majik 0:964eb6a2ef00 52 }
majik 0:964eb6a2ef00 53 }
majik 0:964eb6a2ef00 54 else if( !strcmp(argv[1],"recon")){
majik 0:964eb6a2ef00 55 if( !strcmp(argv[2],"k")){
majik 0:964eb6a2ef00 56 float val = atof( argv[3] );
majik 0:964eb6a2ef00 57 if (val > 0)
majik 0:964eb6a2ef00 58 k = val;
majik 0:964eb6a2ef00 59 if(echo)
majik 0:964eb6a2ef00 60 bt.printf("\r\nk = %.2f\r\n", k);
majik 0:964eb6a2ef00 61 }
majik 0:964eb6a2ef00 62 else if ( !strcmp(argv[2],"xproj") ){
majik 0:964eb6a2ef00 63 float val = atof( argv[3] );
majik 0:964eb6a2ef00 64 if (val != 0)
majik 0:964eb6a2ef00 65 reckon.forward_to_x_projection = val;
majik 0:964eb6a2ef00 66 if(echo)
majik 0:964eb6a2ef00 67 bt.printf("\r\nforward to x projection = %.5f\r\n", reckon.forward_to_x_projection);
majik 0:964eb6a2ef00 68 }
majik 0:964eb6a2ef00 69 else if ( !strcmp(argv[2],"radius") ){
majik 0:964eb6a2ef00 70 float val = atof( argv[3] );
majik 0:964eb6a2ef00 71 if (val != 0)
majik 0:964eb6a2ef00 72 reckon.r = val;
majik 0:964eb6a2ef00 73 if(echo)
majik 0:964eb6a2ef00 74 bt.printf("\r\nradius = %.2fmm\r\n", reckon.r);
majik 0:964eb6a2ef00 75 }
majik 0:964eb6a2ef00 76 else
majik 0:964eb6a2ef00 77 {
majik 0:964eb6a2ef00 78 if(echo)
majik 0:964eb6a2ef00 79 bt.printf("\r\nInvalid Setting Parameters\r\n");
majik 0:964eb6a2ef00 80 }
majik 0:964eb6a2ef00 81 }
majik 0:964eb6a2ef00 82 else{
majik 0:964eb6a2ef00 83 if(echo)
majik 0:964eb6a2ef00 84 bt.printf("\r\nInvalid Module Parameter\r\n");
majik 0:964eb6a2ef00 85 }
majik 0:964eb6a2ef00 86 */
majik 0:964eb6a2ef00 87 }