2018年度計器mbed用プログラム
Dependencies: BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS
Fork of keiki2017 by
Diff: main.cpp
- Revision:
- 13:09e05e7cfca1
- Parent:
- 12:f01c1ba847ac
- Child:
- 15:6966299bea4c
--- a/main.cpp Sat Nov 12 12:03:02 2016 +0000 +++ b/main.cpp Sat Nov 19 10:50:35 2016 +0000 @@ -3,7 +3,6 @@ #include "Fusokukei.h" #include "MPU6050.h" #include "SDFileSystem.h" -#include "SoftwareSerial.h" #define KX_VALUE_MIN 0.4 #define KX_VALUE_MAX 0.8 @@ -19,13 +18,12 @@ #define INIT_SERVO_PERIOD_MS 20 Serial pc(USBTX,USBRX); +Serial soudaSerial(p13,p14); Serial twe(p9,p10); -Serial cadenceTwe(p13,p14); -SoftwareSerial soudaSerial(p24,p23); -//Ticker writeDatasTicker; +Ticker writeDatasTicker; Timer writeTimer; -InterruptIn FusokukeiPin(p30); +InterruptIn FusokukeiPin(p21); Ticker FusokukeiTicker; Fusokukei air; volatile int air_kaitensu= 0; @@ -49,10 +47,9 @@ SDFileSystem sd(p5, p6, p7, p8, "sd"); FILE* fp; -PwmOut kisokuServo(p26); -PwmOut geikakuServo(p22); +PwmOut kisokuServo(p22); +PwmOut geikakuServo(p26); -float cadence; char soudaDatas[SOUDA_DATAS_NUM]; float writeDatas[SD_WRITE_NUM][WRITE_DATAS_NUM]; volatile int write_datas_index = 0; @@ -63,8 +60,6 @@ void FusokukeiInit(); void MpuInit(); void mpuProcessing(); -void cadenceRead(); -void cadenceInit(); void SdInit(); void DataReceiveFromSouda(); void WriteDatas(); @@ -82,7 +77,6 @@ void init(){ twe.baud(115200); -// test.baud(300); //writeTimer.start(); kisokuServo.period_ms(INIT_SERVO_PERIOD_MS); geikakuServo.period_ms(INIT_SERVO_PERIOD_MS); @@ -163,34 +157,6 @@ } } -void cadenceInit(){ - cadenceTwe.baud(115200); - -} - -void cadenceRead(){ - if(twe.readable()){ - data[data_count]=twe.getc(); - - if(data[data_count]=='\r'){ - for(int i=0;i<73;i++) data[i]= NULL; - data_num=0; - data_count=0; - }else{ - if(data[data_count]==';'){ - data_num++; - } - if(data_num==15){ - z_int = (int)data[data_count-1] + (int)data[data_count-2]*10 + (int)data[data_count-3]*100 - offset*111; - if(data[data_count-4]!='0') z_int *= -1; - cadence = (double)z_int/6; //角度補正前ふつうに - } - data_count++; - }//else - - } //readable -} - void SdInit(){ mkdir("/sd/mydir", 0777); fp = fopen("/sd/mydir/sdtest2.csv", "w"); @@ -205,7 +171,7 @@ led2 = !led2; //pc.printf("received\n\r"); for(int i = 0; i < SOUDA_DATAS_NUM; i++){ - if(soudaSerial.readable()) soudaDatas[i] = (char)soudaSerial.getc(); + if(soudaSerial.readable()) soudaDatas[i] = soudaSerial.getc(); } } @@ -310,9 +276,7 @@ int main(){ init(); while(1){ -// pc.printf("test\n\r"); -// if(test.readable()) pc.printf("%d ",test.getc()); -// pc.printf("<-softserial\n\r"); + pc.printf("test\n\r"); mpuProcessing(); RollAlarm(); DataReceiveFromSouda();