2018年度計器mbed用プログラム

Dependencies:   BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS

Fork of keiki2017 by albatross

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