2018年度計器mbed用プログラム
Dependencies: BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS
Fork of keiki2017 by
Diff: Cadence.h
- Branch:
- fasterCadence
- Revision:
- 17:95aa2ab2b777
- Parent:
- 16:22aae833bdae
diff -r 22aae833bdae -r 95aa2ab2b777 Cadence.h --- a/Cadence.h Wed Nov 30 08:08:14 2016 +0000 +++ b/Cadence.h Sat Dec 17 07:54:06 2016 +0000 @@ -13,6 +13,7 @@ public: string strC,strV; + char charC[4],charV[4]; char data[DATAS_NUM]; string strData; int data_count, data_num; @@ -36,24 +37,44 @@ }while(data[data_count-1] != '\n'); if(data_count-1 > DATAS_NUM-4 ){ - strData = data; - switch (strData.length()){ +// strData = data; +// switch (strData.length()){ + switch(data_count-1){ case DATAS_NUM-3 : - strData.erase(0,2); +// strData.erase(0,2); + for(int i=0; i<4; i++){ + charV[i] = data[26+2]; + charC[i] = data[64+2]; + } break; case DATAS_NUM-2 : - strData.erase(0,3); +// strData.erase(0,3); + for(int i=0; i<4; i++){ + charV[i] = data[26+3]; + charC[i] = data[64+3]; + } break; case DATAS_NUM-1 : strData.erase(0,4); + for(int i=0; i<4; i++){ + charV[i] = data[26+4]; + charC[i] = data[64+4]; + } break; case DATAS_NUM : - strData.erase(0,5); +// strData.erase(0,5); + for(int i=0; i<4; i++){ + charV[i] = data[26+5]; + charC[i] = data[64+5]; + } } - strV = strData.substr(26,4); - strC = strData.substr(64,4); - sscanf(strV.c_str(),"%lf",&voltage); - sscanf(strC.c_str(),"%lf",&cadence); +// strV = strData.substr(26,4); +// strC = strData.substr(64,4); +// sscanf(strV.c_str(),"%lf",&voltage); +// sscanf(strC.c_str(),"%lf",&cadence); + + sscanf(charC,"%lf",&cadence); + sscanf(charV,"%lf",&voltage); cadence /= 6.0; voltage *= 0.001; }