2018年度計器mbed用プログラム
Dependencies: BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS
Fork of keiki2017 by
Diff: main.cpp
- Branch:
- noThread2017ver.
- Revision:
- 28:02e21f1fbe3d
- Parent:
- 27:d2955f29a3aa
--- a/main.cpp Sat Jan 28 10:17:50 2017 +0000 +++ b/main.cpp Wed Feb 15 01:47:56 2017 +0000 @@ -1,6 +1,6 @@ //計器プログラム #include "mbed.h" -//#include "rtos.h" +#include "rtos.h" #include "Fusokukei.h" #include "MPU6050.h" #include "BufferedSoftSerial.h" @@ -62,6 +62,8 @@ DigitalOut RollAlarmL(p19); DigitalOut led(LED1); DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); char soudaDatas[SOUDA_DATAS_NUM]; float writeDatas[SD_WRITE_NUM][WRITE_DATAS_NUM]; @@ -108,8 +110,12 @@ sonarDist = (sonarV/20)*2064.5;// volt*3.3*1000/1.6 (電圧/距離:3.2mV/2cm) } -void updateCadence(){ +void updateCadence(void const * args){ + while(1){ cadence_twe.readData(); + Thread::wait(0.1); + led3 = !led3; + } } void init(){ @@ -245,16 +251,12 @@ twe.printf("%f,%f,%f,",pitch,roll,yaw); twe.printf("%f,%f,%f\r\n",airSpeed,sonarDist,cadence); pc.printf("%f,%f,%f\n\r",pitch,roll,yaw); - //pc.printf("%f,%f,%f\n\r",calcKXdeg(kx_X.read()),calcKXdeg(KX_Y),calcKXdeg(KX_Z)); pc.printf("%f,%f,%f\n\r",airSpeed,sonarDist,cadence); - pc.putc(cadence_twe.strV[0]); + pc.putc(cadence_twe.data[0]); if(android.writeable()){ -// for(int i = 0; i<SOUDA_DATAS_NUM; i++){ -// android.printf("%i,",soudaDatas[i]); -// } -// android.printf("%f,%f,%f,",pitch,roll,yaw); -// android.printf("%f,%f,\r\n",airSpeed,sonarDist); - android.printf("%f,%f,test\n\r",roll,airSpeed); + led4 = !led4; + android.printf("%f,%f,test,\n,",roll,airSpeed); +// pc.printf("%f,%f,test,\n,",roll,airSpeed); } //SDprintf(); } @@ -263,14 +265,6 @@ pc.printf("airSpeed:%f\n\r",airSpeed); } -//float calcKXdeg(float x){ -// return -310.54*x+156.65; -//} - -//float calcAttackAngle(){ -// return pitch-calcKXdeg(kx_Z.read()); -//} - void RollAlarm(){ if((roll < 0) && (roll > ROLL_L_MAX_DEG-180)){ RollAlarmL = 1; @@ -287,23 +281,8 @@ } } -void WriteServo(){ - //kisokuServo.pulsewidth(calcPulse(airSpeed*10)); -// kisokuServo.pulsewidth(calcPulse(9*airSpeed)); - if(pitch<0){ -// geikakuServo.pulsewidth(calcPulse(0)); - } - else{ -// geikakuServo.pulsewidth(calcPulse(abs(pitch*90/13.0))); - } - //pc.printf("a:%f",airSpeed); - //pc.printf("p:%f\r\n",pitch); - //kisokuServo.pulsewidth(calcPulse(0)); - //geikakuServo.pulsewidth(calcPulse(0)); -} - int main(){ -// Thread cadence_thread(&updateCadence); + Thread cadence_thread(&updateCadence); init(); while(1){ pc.printf("test\n\r"); @@ -311,8 +290,7 @@ sonarCalc(); RollAlarm(); DataReceiveFromSouda(); - updateCadence(); +// updateCadence(); WriteDatas(); -// WriteServo(); } } \ No newline at end of file