![](/media/cache/profiles/ndu.jpg.50x50_q85.jpg)
keyboard input, serial com test
Dependencies: mbed DISCO_L475VG_IOT01A_wifi TextLCD USBHost
src/massStorage.cpp@6:9d975a9d2728, 2019-08-15 (annotated)
- Committer:
- duchonic
- Date:
- Thu Aug 15 19:33:04 2019 +0000
- Revision:
- 6:9d975a9d2728
first
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
duchonic | 6:9d975a9d2728 | 1 | #include "inc/massStorage.h" |
duchonic | 6:9d975a9d2728 | 2 | #include "rtos.h" |
duchonic | 6:9d975a9d2728 | 3 | #include "USBHostMSD.h" |
duchonic | 6:9d975a9d2728 | 4 | #include "inc/config.h" |
duchonic | 6:9d975a9d2728 | 5 | #include <string> |
duchonic | 6:9d975a9d2728 | 6 | |
duchonic | 6:9d975a9d2728 | 7 | void massStorage_task(void const *){ |
duchonic | 6:9d975a9d2728 | 8 | bool readConfigs = false; |
duchonic | 6:9d975a9d2728 | 9 | USBHostMSD msd("usb"); |
duchonic | 6:9d975a9d2728 | 10 | int i = 0; |
duchonic | 6:9d975a9d2728 | 11 | |
duchonic | 6:9d975a9d2728 | 12 | while(1) { |
duchonic | 6:9d975a9d2728 | 13 | |
duchonic | 6:9d975a9d2728 | 14 | // try to connect a MSD device |
duchonic | 6:9d975a9d2728 | 15 | while(!msd.connect()) { |
duchonic | 6:9d975a9d2728 | 16 | Thread::wait(500); |
duchonic | 6:9d975a9d2728 | 17 | } |
duchonic | 6:9d975a9d2728 | 18 | |
duchonic | 6:9d975a9d2728 | 19 | // in a loop, append a file |
duchonic | 6:9d975a9d2728 | 20 | // if the device is disconnected, we try to connect it again |
duchonic | 6:9d975a9d2728 | 21 | while(1) { |
duchonic | 6:9d975a9d2728 | 22 | |
duchonic | 6:9d975a9d2728 | 23 | if(!readConfigs){ |
duchonic | 6:9d975a9d2728 | 24 | // read file |
duchonic | 6:9d975a9d2728 | 25 | FILE *fp = fopen("/usb/config.txt", "r"); |
duchonic | 6:9d975a9d2728 | 26 | if (fp != NULL){ |
duchonic | 6:9d975a9d2728 | 27 | printf("===> found config\r\n"); |
duchonic | 6:9d975a9d2728 | 28 | |
duchonic | 6:9d975a9d2728 | 29 | std::string pause{""}; |
duchonic | 6:9d975a9d2728 | 30 | std::string cycles{""}; |
duchonic | 6:9d975a9d2728 | 31 | |
duchonic | 6:9d975a9d2728 | 32 | while(1) { |
duchonic | 6:9d975a9d2728 | 33 | char c = fgetc(fp); |
duchonic | 6:9d975a9d2728 | 34 | if( feof(fp) || c == '\n') { |
duchonic | 6:9d975a9d2728 | 35 | break ; |
duchonic | 6:9d975a9d2728 | 36 | } |
duchonic | 6:9d975a9d2728 | 37 | if(c != '\n' && c != '\r'){ |
duchonic | 6:9d975a9d2728 | 38 | pause += c; |
duchonic | 6:9d975a9d2728 | 39 | } |
duchonic | 6:9d975a9d2728 | 40 | } |
duchonic | 6:9d975a9d2728 | 41 | while(1) { |
duchonic | 6:9d975a9d2728 | 42 | char c = fgetc(fp); |
duchonic | 6:9d975a9d2728 | 43 | if( feof(fp) || c == '\n' ){ |
duchonic | 6:9d975a9d2728 | 44 | break; |
duchonic | 6:9d975a9d2728 | 45 | } |
duchonic | 6:9d975a9d2728 | 46 | if(c != '\n' && c != '\r'){ |
duchonic | 6:9d975a9d2728 | 47 | cycles += c; |
duchonic | 6:9d975a9d2728 | 48 | } |
duchonic | 6:9d975a9d2728 | 49 | } |
duchonic | 6:9d975a9d2728 | 50 | fclose (fp); |
duchonic | 6:9d975a9d2728 | 51 | setPause(pause); |
duchonic | 6:9d975a9d2728 | 52 | setCycles(cycles); |
duchonic | 6:9d975a9d2728 | 53 | printf("\r\n===> read the configs %s %s \r\n", pause.c_str(), cycles.c_str() ); |
duchonic | 6:9d975a9d2728 | 54 | readConfigs = true; |
duchonic | 6:9d975a9d2728 | 55 | } |
duchonic | 6:9d975a9d2728 | 56 | else{ |
duchonic | 6:9d975a9d2728 | 57 | printf("fp == NULL\r\n"); |
duchonic | 6:9d975a9d2728 | 58 | } |
duchonic | 6:9d975a9d2728 | 59 | } |
duchonic | 6:9d975a9d2728 | 60 | else{ |
duchonic | 6:9d975a9d2728 | 61 | // append a file |
duchonic | 6:9d975a9d2728 | 62 | FILE *fp = fopen("/usb/day.log", "a"); |
duchonic | 6:9d975a9d2728 | 63 | |
duchonic | 6:9d975a9d2728 | 64 | if (fp != NULL) { |
duchonic | 6:9d975a9d2728 | 65 | fprintf(fp, "log entry nr: %d!\r\n", i++); |
duchonic | 6:9d975a9d2728 | 66 | printf("writing to logfile!\r\n"); |
duchonic | 6:9d975a9d2728 | 67 | fclose(fp); |
duchonic | 6:9d975a9d2728 | 68 | } else { |
duchonic | 6:9d975a9d2728 | 69 | printf("FILE == NULL\r\n"); |
duchonic | 6:9d975a9d2728 | 70 | } |
duchonic | 6:9d975a9d2728 | 71 | } |
duchonic | 6:9d975a9d2728 | 72 | |
duchonic | 6:9d975a9d2728 | 73 | // if device disconnected, try to connect again |
duchonic | 6:9d975a9d2728 | 74 | if (!msd.connected()){ |
duchonic | 6:9d975a9d2728 | 75 | readConfigs = false; |
duchonic | 6:9d975a9d2728 | 76 | break; |
duchonic | 6:9d975a9d2728 | 77 | } |
duchonic | 6:9d975a9d2728 | 78 | |
duchonic | 6:9d975a9d2728 | 79 | Thread::wait(10000); |
duchonic | 6:9d975a9d2728 | 80 | } |
duchonic | 6:9d975a9d2728 | 81 | } |
duchonic | 6:9d975a9d2728 | 82 | } |