回転数計のクラスです。
Dependencies: mbed
Fork of test_cadenceClass by
Diff: Cadence.h
- Revision:
- 2:b492f029a2f4
- Parent:
- 1:6bceac3446ff
- Child:
- 4:2def7f5f7fed
--- a/Cadence.h Wed Nov 23 05:31:01 2016 +0000 +++ b/Cadence.h Wed Nov 23 06:06:29 2016 +0000 @@ -6,7 +6,7 @@ class Cadence : public Serial{ private: - static const int DATAS_NUM = 74; + static const int DATAS_NUM = 75; protected: @@ -24,18 +24,19 @@ cadence=0; cadenceV=0; } - void cadenceRead(){ //Ticker で定期的に呼び出して値を更新 + void readData(){ //Ticker で定期的に呼び出して値を更新 data_count = 0; data_num = 0; + cadence = 0; do{ if(readable()) { data[data_count] = getc(); data_count++; } - }while(data[data_count-1] != '\r' || data[data_count-1] != '\n'); - - if(data_count > DATAS_NUM-4 ){ - strData = data; + }while(data[data_count-1] != '\n'); + + strData = data; + if(strData.length() > DATAS_NUM-4 ){ switch (strData.length()){ case DATAS_NUM-3 : strData.erase(0,2); @@ -49,12 +50,12 @@ case DATAS_NUM : strData.erase(0,5); } - strV = strData.substr(27,4); + strV = strData.substr(26,4); strC = strData.substr(64,4); sscanf(strV.c_str(),"%lf",&cadenceV); sscanf(strC.c_str(),"%lf",&cadence); - cadence /= 6.0; - cadenceV *= 0.001; + //cadence /= 6.0; +// cadenceV *= 0.001; } } };