Code for our FYDP -only one IMU works right now -RTOS is working
bt_shell/shell/calibrate_fnt.h@0:964eb6a2ef00, 2015-03-18 (annotated)
- 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?
User | Revision | Line number | New 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 | } |