2017年度の製作を開始します。

Dependencies:   BufferedSoftSerial2 SDFileSystem-RTOS mbed mbed-rtos INA226_ver1

Fork of keiki2016ver5 by albatross

Branch:
fusokukei
Revision:
16:22aae833bdae
Parent:
15:6966299bea4c
Child:
19:95aa2ab2b777
--- a/Cadence.h	Sat Nov 26 01:12:10 2016 +0000
+++ b/Cadence.h	Wed Nov 30 08:08:14 2016 +0000
@@ -2,9 +2,10 @@
 #define CADENCE_H
 
 #include "mbed.h"
+#include "BufferedSoftSerial.h"
 #include <string>
 
-class Cadence : public Serial{
+class Cadence : public BufferedSoftSerial{
     private:
     static const int DATAS_NUM = 75;
     
@@ -16,18 +17,17 @@
     string strData;
     int data_count, data_num;
     double cadence, voltage;
-    Cadence(PinName tx, PinName rx, const char* name = NULL) : Serial(tx, rx, NULL){
+    Cadence(PinName tx, PinName rx) : BufferedSoftSerial(tx, rx){
         for(int i=0;i<DATAS_NUM;i++) data[i]= NULL;
         data_num=0;
         data_count=0;
-        baud(115200);
+        baud(9600);
         cadence=0;
         voltage=0;
     }
     void readData(){ //Ticker で定期的に呼び出して値を更新
         data_count = 0;
         data_num = 0;
-        cadence = 0;
         do{
             if(readable()) {
                 data[data_count] = getc();
@@ -35,8 +35,8 @@
             }
         }while(data[data_count-1] != '\n');
         
-        strData = data;
-        if(strData.length() > DATAS_NUM-4 ){
+        if(data_count-1 > DATAS_NUM-4 ){
+            strData = data;
             switch (strData.length()){
                 case DATAS_NUM-3 :
                     strData.erase(0,2);
@@ -54,8 +54,8 @@
             strC = strData.substr(64,4);
             sscanf(strV.c_str(),"%lf",&voltage);
             sscanf(strC.c_str(),"%lf",&cadence);
-            //cadence /= 6.0;
-//            voltage *= 0.001;
+            cadence /= 6.0;
+            voltage *= 0.001;
         }
     }
 };