keyboard input, serial com test

Dependencies:   mbed DISCO_L475VG_IOT01A_wifi TextLCD USBHost

Committer:
duchonic
Date:
Thu Aug 15 19:33:04 2019 +0000
Revision:
6:9d975a9d2728
first

Who changed what in which revision?

UserRevisionLine numberNew 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 }