2018年度計器mbed用プログラム
Dependencies: BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS
Fork of keiki2017 by
Diff: Cadence.h
- Branch:
- fusokukei
- Revision:
- 16:22aae833bdae
- Parent:
- 15:6966299bea4c
- Child:
- 17: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; } } };