A code for the spindling of bots.
Dependencies: MX12 ServoRingBuffer mbed-src
Fork of SpindleBot by
Old_Code.h@2:dfeadd6c651c, 2015-01-26 (annotated)
- Committer:
- labmrd
- Date:
- Mon Jan 26 04:38:06 2015 +0000
- Revision:
- 2:dfeadd6c651c
F1rst P0st!!!
Who changed what in which revision?
User | Revision | Line number | New 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 |