201903_14ISEで実際に使用した開放用プログラム. 使用マイコンがNUCLES-F303K8なので注意

Dependencies:   mbed Madgwick MPU6050 Kalman BMP180

Revision:
14:f932a8a297ff
Parent:
13:3e6411bfd581
Child:
15:a47cf038d601
--- a/main.cpp	Mon Mar 11 09:30:01 2019 +0000
+++ b/main.cpp	Wed Mar 13 07:28:08 2019 +0000
@@ -52,6 +52,8 @@
     float time_judge;
     int cnt_data=0,cnt_judge=0;
     float t = 0;
+    float t_hour = 0;
+    float t_send = 0;
     /*センサの初期化等*/
     pc.baud(38400);
     mpu.setAcceleroRange(3);
@@ -79,14 +81,24 @@
             case STANDBY:
                 /*サーボ入力待ち*/
                 //servo();
-                c[0]=pc.getc();
+                if(pc.readable()){
+                    c[0]=pc.getc();
+                }
+                t = timer_data.read();
+                if(t > 1800){
+                    t_hour =+ 1800;
+                    timer_data.reset();
+                }
+                t = t + t_hour;
+                t = t/60.0;
+                
                 if(c[0] == 'o'){
                     myled = 1;
                     servo1.pulsewidth(0.0006);//open
                     servo2.pulsewidth(0.0015);//open
                     mpu.getAccelero(acc);
                     //pc.printf("OPEN:%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)));
-                    pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),timer_data.read());
+                    pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),t);
                 }
                 if(c[0] == 'l'){
                     myled = 0;
@@ -94,7 +106,7 @@
                     servo2.pulsewidth(0.0006);
                     mpu.getAccelero(acc);
                     //pc.printf("LOCK:%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)));
-                    pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),timer_data.read());
+                    pc.printf("0,%f,%f,0,%f\r\n",sqrt(pow(acc[0]/9.81,2.0)+pow(acc[1]/9.81,2.0)+pow(acc[2]/9.81,2.0)),(acc[1]/9.81),t);
                 }
                 if(c[0] == 'f'){
                 //pc.printf("flight_mode\r\n");
@@ -185,7 +197,7 @@
                     wait(0.1);
                     servo1.pulsewidth(0.0006);//open
                     servo2.pulsewidth(0.0015);//open
-                    pc.printf("9,0,0,0,0\r\n");
+                    pc.printf("9,0,0,0,%d\r\n",cnt_judge);
                     wait(0.5);
                     tic_gps.attach(&_SendGPS, 1.0/RATE_GPS); 
                 }
@@ -270,7 +282,7 @@
                         break;
                     }else{
                         //pc.printf("%s\r\n",gps_data);
-                        pc.printf("NoGPSSignal\r\n");
+                        //pc.printf("NoGPSSignal\r\n");
                         break;
                     }
                 }else{