SSLM1 / Mbed 2 deprecated 6-3_FlightTest

Dependencies:   2_MPU9250 mbed 2_GPS_GMS6-CR6 2_LPS33HW 2_EEPROM 2_P7100

Revision:
1:d9208e6f6952
Parent:
0:15c3892eee6b
--- a/main.cpp	Thu Aug 13 16:04:56 2020 +0000
+++ b/main.cpp	Tue Nov 17 16:16:50 2020 +0000
@@ -31,7 +31,7 @@
 
 char s[64];                                 //データ取得配列
 float accel[3], gyro[3];                    //MPU9250data
-float AX, AY, AZ, GX, GY, GZ;               //MPU9250data
+float AX, AY, AZ, A, GX, GY, GZ;               //MPU9250data
 float T;                                     //時刻データ
 float P;                                     //気圧データ取得
 float V;                                     //電圧取得
@@ -101,7 +101,7 @@
     ThrustValve = 1;wait(1);ThrustValve = 0;
     wait(2);
     
-    for(int c = 0; c < 30 ; c++) {
+    for(int c = 0; c < 80 ; c++) {
         LED_1 = 1;
         LED_2 = 1;
         LED_3 = 1;
@@ -111,7 +111,7 @@
         LED_2 = 0;
         LED_3 = 0;
         LED_4 = 0;
-        wait(1);
+        wait(0.5);
     }
 
 
@@ -124,10 +124,12 @@
         wait_ms(50);
     }
     groundP = groundP/1000;                   //地上の気圧データ
-    heightP = 0.9994307 * groundP;             //高度5mの気圧を計算
+    heightP = 0.999517419 * groundP;             //高度4.0m@10度の気圧を計算
+    wait(2);
     pc.printf("groundP:%f, heightP:%f\r\n", groundP, heightP);
     twe.printf("groundP:%f, heightP:%f\r\n", groundP, heightP);
-
+    wait(2);
+    twe.printf("groundP:%f, heightP:%f\r\n", groundP, heightP);
 
     //Wait mode
     pc.printf("Wait mode Start!\r\n");
@@ -166,8 +168,8 @@
             judge = 1;
             break;
         }
-        else if(dP[0] <= 0 && dP[1] <= 0 && dP[2] <= 0 && dP[3] <= 0 && dP[4] <= 0) {
-            judge = 2;
+        else if(dP[0] <= 0 && dP[1] <= 0 && dP[2] <= 0 && dP[3] <= 0 && dP[4] <= 0 ) {
+            judge = 1;
             break;
         }
     }
@@ -271,6 +273,7 @@
     AX = accel[0];
     AY = accel[1];
     AZ = accel[2];
+    A = sqrtf(AX*AX + AY*AY + AZ*AZ);
     GX = gyro[0];
     GY = gyro[1];
     GZ = gyro[2];
@@ -278,7 +281,7 @@
     sprintf(s, "%8.3f %8.3f %6.3f %5.3f %5.2f %5.2f %5.2f %5.2f %5.2f\r\n", T, P, TP, AX, AY, AZ, GX, GY, GZ);    //floatからchar*へ変換
 
     rom.write_low(pointer_low, s, 64);        // write tha data
-    twe.printf("%8.3f %8.3f %6.3f %5.2f\r\n", T, P, TP, AZ);                        //無線機送信
+    twe.printf("%8.3f %8.3f %6.3f %5.2f\r\n", T, P, TP, A);                        //無線機送信
     
     pointer_low = pointer_low + 64;          //アドレスずらし
 
@@ -299,6 +302,7 @@
     AX = accel[0];
     AY = accel[1];
     AZ = accel[2];
+    A = sqrtf(AX*AX + AY*AY + AZ*AZ);
     GX = gyro[0];
     GY = gyro[1];
     GZ = gyro[2];
@@ -307,7 +311,7 @@
 
     rom.write_high(pointer_high, s, 64);        // write tha data
 
-    twe.printf("%8.3f %8.3f %6.3f %5.2f,", T, P, TP, AZ);                        //無線機送信
+    twe.printf("%8.3f %8.3f %6.3f %5.2f,", T, P, TP, A);                        //無線機送信
 
     pointer_high = pointer_high + 64;          //アドレスずらし
 
@@ -357,11 +361,12 @@
     AX = accel[0];
     AY = accel[1];
     AZ = accel[2];
+    A = sqrtf(AX*AX + AY*AY + AZ*AZ);
     GX = gyro[0];
     GY = gyro[1];
     GZ = gyro[2];
 
-    sprintf(s, "%8.3f %8.3f %6.3f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f", T, P, TP, AX, AY, AZ, GX, GY, GZ);    //floatからchar*へ変換
+    sprintf(s, "%8.3f %8.3f %6.3f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f", T, P, TP, AX, AY, AZ, A, GX, GY, GZ);    //floatからchar*へ変換
     twe.printf("%s\r\n", s);                //送信
     pc.printf("%s\r\n\r\n", s);                     //check用
     memset(s, '\0', 64 );                          //初期化