maedalab
/
binary_recieve
finished binary communication (PC->mbed 4bytes x 6 dof @ 60fps)
Diff: new_serial.cpp
- Revision:
- 4:066d90d485d3
- Parent:
- 3:a7df2c55da1a
- Child:
- 5:7f031c7e4694
--- a/new_serial.cpp Thu Aug 27 01:40:04 2020 +0000 +++ b/new_serial.cpp Thu Aug 27 05:18:24 2020 +0000 @@ -208,23 +208,33 @@ led1 = 1; if(pc.readable()) { c = pc.getc(); - if (c != '*') + if (c != '1') + continue; + c = pc.getc(); + if (c != '2') continue; - + c = pc.getc(); + if (c != '3') + continue; + for(int i=0; i<6; i++) { - + led1 = 0; for(int b=0; b<4; b++) rbuf[b] = pc.getc(); + led1 = 1; byte2float(&fret, rbuf); - // receive 24 bytes + null character - // https://os.mbed.com/questions/77081/Why-does-he-get-only-3-characters-when-I/ + + // ( 4 bytes -> one float ) + output[counter][i] = fret; + } - // ( 4 bytes -> one float ) x 6dof - output[counter][i] = fret; - output[counter][5] = 3.14159; - led2 = 1; - } + led2 = 1; + //c = pc.getc(); + //if (c != NULL) continue; + + output[counter][5] = 3.14159; + led3 = 1; counter++; } @@ -257,13 +267,13 @@ if(fp!=NULL) { fprintf(fp, "aOut,bOut,cOut,dOut,eOut,fOut\n"); for(int j =0; j<NUM_OF_LOG_LINES; j++) { - fprintf(fp, "%f,%f,%f,%f,%f,%f\n", - output[j][0], - output[j][1], - output[j][2], - output[j][3], - output[j][4], - output[j][5]); + fprintf(fp, "%f,%f,%f,%f,%f,%f\n", + output[j][0], + output[j][1], + output[j][2], + output[j][3], + output[j][4], + output[j][5]); } } led4 = 1;