A code for the spindling of bots.

Dependencies:   MX12 ServoRingBuffer mbed-src

Fork of SpindleBot by MRD Lab

Committer:
labmrd
Date:
Mon Jan 26 04:38:06 2015 +0000
Revision:
2:dfeadd6c651c
F1rst P0st!!!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
labmrd 2:dfeadd6c651c 1 ///// Old serial code:
labmrd 2:dfeadd6c651c 2 //// Setup:
labmrd 2:dfeadd6c651c 3 //c.attach(&keyStroke,Serial::RxIrq); // setup keyStroke ISR
labmrd 2:dfeadd6c651c 4
labmrd 2:dfeadd6c651c 5 //// ISR:
labmrd 2:dfeadd6c651c 6
labmrd 2:dfeadd6c651c 7 /*/ Function keyStroke: Serial ISR for keystroke
labmrd 2:dfeadd6c651c 8 void keyStroke(){
labmrd 2:dfeadd6c651c 9 if(keyStrokeFlag){
labmrd 2:dfeadd6c651c 10 //FREAK OUT!!!!
labmrd 2:dfeadd6c651c 11 pc.printf("keyStroke Function had unexpected error!!!!\r\n");
labmrd 2:dfeadd6c651c 12 }
labmrd 2:dfeadd6c651c 13 keyStrokeVal = pc.getc(); // This stores the keystroke character into a variable called keyStrokeVal
labmrd 2:dfeadd6c651c 14 keyStrokeFlag = true; // This sets the keyStrokeFlag to true to show that data is ready
labmrd 2:dfeadd6c651c 15 }*/
labmrd 2:dfeadd6c651c 16
labmrd 2:dfeadd6c651c 17 //// Main Loop:
labmrd 2:dfeadd6c651c 18 /*/ This section of code should run only if a key stroke has been input by the user
labmrd 2:dfeadd6c651c 19 if (keyStrokeFlag == true) {
labmrd 2:dfeadd6c651c 20 switch(keyStrokeVal) {
labmrd 2:dfeadd6c651c 21 case 'm':
labmrd 2:dfeadd6c651c 22 case 'M':
labmrd 2:dfeadd6c651c 23 pc.printf("%% ************* Manual Grasp Mode **********************\r\n");
labmrd 2:dfeadd6c651c 24 break;
labmrd 2:dfeadd6c651c 25 case 'a':
labmrd 2:dfeadd6c651c 26 case 'A':
labmrd 2:dfeadd6c651c 27 pc.printf("%% ************* Auto Grasp Mode ************************\r\n");
labmrd 2:dfeadd6c651c 28 break;
labmrd 2:dfeadd6c651c 29 case 'r':
labmrd 2:dfeadd6c651c 30 case 'R':
labmrd 2:dfeadd6c651c 31 collect_data=!collect_data;
labmrd 2:dfeadd6c651c 32 //pc.printf("% New value=%d\n",collect_data);
labmrd 2:dfeadd6c651c 33 if(collect_data==false){
labmrd 2:dfeadd6c651c 34 //Let's just be done with our current file, by setting our count to the max
labmrd 2:dfeadd6c651c 35 file_count=SAMPLES_PER_FILE;
labmrd 2:dfeadd6c651c 36 }
labmrd 2:dfeadd6c651c 37 pc.printf("%% ************* Toggled Data Collection ****************\r\n");
labmrd 2:dfeadd6c651c 38 break;
labmrd 2:dfeadd6c651c 39 case '\r':
labmrd 2:dfeadd6c651c 40 case '\n':
labmrd 2:dfeadd6c651c 41 //Don't do anything
labmrd 2:dfeadd6c651c 42 break;
labmrd 2:dfeadd6c651c 43 default:
labmrd 2:dfeadd6c651c 44 pc.printf("Please press a vaild key. The key you pressed was: %c\r\n", keyStrokeVal );
labmrd 2:dfeadd6c651c 45 }
labmrd 2:dfeadd6c651c 46 keyStrokeFlag = false;
labmrd 2:dfeadd6c651c 47 }*/
labmrd 2:dfeadd6c651c 48
labmrd 2:dfeadd6c651c 49 ////////// Old SD file code
labmrd 2:dfeadd6c651c 50
labmrd 2:dfeadd6c651c 51 /*
labmrd 2:dfeadd6c651c 52 int num_objects=0;
labmrd 2:dfeadd6c651c 53
labmrd 2:dfeadd6c651c 54 // Read the number of files in the /sd/data directory, so we can name ours to be next
labmrd 2:dfeadd6c651c 55 mkdir("/sd/data", 0777);
labmrd 2:dfeadd6c651c 56 DIR *dp;
labmrd 2:dfeadd6c651c 57 dp = opendir("/sd/data");
labmrd 2:dfeadd6c651c 58 struct dirent *dirp;
labmrd 2:dfeadd6c651c 59 //read all directory and file names in current directory into filename vector
labmrd 2:dfeadd6c651c 60 while((dirp = readdir(dp)) != NULL) {
labmrd 2:dfeadd6c651c 61 dirp->d_name;
labmrd 2:dfeadd6c651c 62 num_objects++;
labmrd 2:dfeadd6c651c 63 }
labmrd 2:dfeadd6c651c 64 closedir(dp);
labmrd 2:dfeadd6c651c 65 num_objects++;
labmrd 2:dfeadd6c651c 66 */
labmrd 2:dfeadd6c651c 67 //// In while loop:
labmrd 2:dfeadd6c651c 68 /*char buf[0x100];
labmrd 2:dfeadd6c651c 69 file_num++;
labmrd 2:dfeadd6c651c 70 pc.printf( "New file: /sd/data/%04d%04d.csv\n", num_objects, file_num);
labmrd 2:dfeadd6c651c 71 fflush(pc);
labmrd 2:dfeadd6c651c 72 snprintf(buf, sizeof(buf), "/sd/data/%04d%04d.csv", num_objects, file_num);
labmrd 2:dfeadd6c651c 73 FILE *fp = fopen(buf, "w");
labmrd 2:dfeadd6c651c 74 //FILE *fp = fopen("/sd/data/sdtest.txt", "w");
labmrd 2:dfeadd6c651c 75 if(fp == NULL) {
labmrd 2:dfeadd6c651c 76 error("Could not open file for write\n");
labmrd 2:dfeadd6c651c 77 }
labmrd 2:dfeadd6c651c 78 fprintf(fp, "%%Position0,Force0,Position1,Force1,Time\n");
labmrd 2:dfeadd6c651c 79 */
labmrd 2:dfeadd6c651c 80
labmrd 2:dfeadd6c651c 81