Dependencies: mbed MODSERIAL FATFileSystem
Diff: MbedLogger/MbedLogger.cpp
- Revision:
- 34:9b66c5188051
- Parent:
- 32:f2f8ae34aadc
- Child:
- 35:2f66ea4863d5
--- a/MbedLogger/MbedLogger.cpp Wed Dec 20 13:52:50 2017 +0000 +++ b/MbedLogger/MbedLogger.cpp Wed Dec 20 20:24:15 2017 +0000 @@ -7,7 +7,7 @@ } //creates a new file each time it's called -void MbedLogger::createFile() { +void MbedLogger::createNewFiles() { int filenum = 0; char filename[128]; @@ -25,7 +25,7 @@ _fp = fopen(filename, "a"); //write the header - _fprintf(_fp,"timer,depth_cmd,depth (ft),pitch_cmd,pitch (deg), bce_cmd, bce (mm), batt_cmd, batt (mm)\n"); + fprintf(_fp,"state_string,state_ID,timer,depth_cmd,depth(ft),pitch_cmd,pitch(deg), bce_cmd, bce(mm), batt_cmd, batt(mm)\n"); //DO NOT CLOSE THE FILE, keep it open break; @@ -43,14 +43,26 @@ _file_number = filenum; } -void MbedLogger::saveArrayToFile(float *input) { - //write to the file - _fprintf(_fp, "%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f\n",input[0],input[1],input[2],input[3],input[4],input[5],input[6],input[7],input[8]); +void MbedLogger::saveArrayToFile(string string_state, int input_state, float *input) { + //open single log file + FILE *fp = fopen("/local/Log000.csv", "r"); + + //write to the file (header and data) + fprintf(_fp,"state_string,state_ID,timer,depth_cmd,depth(ft),pitch_cmd,pitch(deg), bce_cmd, bce(mm), batt_cmd, batt(mm)\n"); + fprintf(fp, "%s,%d,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f\n",string_state.c_str(),input_state,input[0],input[1],input[2],input[3],input[4],input[5],input[6],input[7],input[8]); + + //close file + fclose(fp); } +//void MbedLogger::saveArrayToFile(string string_state, int input_state, float *input) { +// //write to the file +// fprintf(_fp, "%s,%d,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f,%0.1f\n",string_state.c_str(),input_state,input[0],input[1],input[2],input[3],input[4],input[5],input[6],input[7],input[8]); +//} + void MbedLogger::saveSequenceStringToFile(string str_input) { //write to the file - _fprintf(_fp, "%s\n",str_input.c_str()); + fprintf(_fp, "%s\n",str_input.c_str()); } void MbedLogger::printMbedDirectory() { @@ -76,7 +88,7 @@ char buffer[500]; //read the file line by line (and print each line) - pc().printf("CURRENT MBED LOG FILE /local/Log%03d.csv:\n\r",_file_number); + pc().printf("\n\rCURRENT MBED LOG FILE /local/Log%03d.csv:\n\r",_file_number); while (!feof(fp)) { // read in the line and make sure it was successful if (fgets(buffer,500,fp) != NULL) {