回転数計のクラスです。

Dependencies:   mbed

Fork of test_cadenceClass by natsu tsumagari

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;
         }
     }
 };