all ok yesMU2

Dependencies:   mbed mbedTimer SDFileSystem MU2 GPS

Files at this revision

API Documentation at this revision

Comitter:
Nerosho
Date:
Wed Sep 11 02:36:52 2019 +0000
Parent:
27:6ac03194e45e
Commit message:
0910 EtoE OK!

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Tue Sep 10 23:25:05 2019 +0000
+++ b/main.cpp	Wed Sep 11 02:36:52 2019 +0000
@@ -18,12 +18,12 @@
 #define SAMPLENUMBER 5   //しきい値判定に用いるサンプル数 5
 #define CLOSETIME 60     //しきい値超えてからのインレット閉鎖機構の稼働時間を設定 60
 #define LIMITTIME 1800   //しきい値超えなくてもインターバルモードへ移行
-#define INTERVALTIME 7200 //インターバルモードの時間 7200
+#define INTERVALTIME 1800 //インターバルモードの時間 7200
 #define INTERVAL_HIGH 5  //インターバルモードでモーター回す時間 5
 #define INTERVAL_LOW 20  //インターバルモードでモーター止める時間 20
 
-char fname[]="/sd/CanSat/log0909ARLISStest1.csv";//ファイル名をここで設定
-char fname2[]="/sd/CanSat/sensor0909ARLISStest1.csv";//感圧センサーのログファイル
+char fname[]="/sd/CanSat/log0910EtoE.csv";//ファイル名をここで設定
+char fname2[]="/sd/CanSat/sensor0910EtoE.csv";//感圧センサーのログファイル
 
 ////////////////溶断→シェンロン展開→インレット連続閉鎖→剛性を得た後→インターバル閉鎖→待機モード
 //シーケンス番号/0001//////////0010//////////////0011////////0100///////////0101/////0110
@@ -69,18 +69,6 @@
     timer_rec.start();
     wait(5);//起動してからちょっと待つ
 
-    myled=1;
-    myled2=0;
-    myled3=1;
-    myled4=0;
-
-    wait(1);
-
-    myled=0;
-    myled2=1;
-    myled3=0;
-    myled4=1;
-
     inlet.Stop();
     FILE* fp= fopen(fname, "a");
     if(fp == NULL) {
@@ -99,11 +87,6 @@
         }
     }
 
-    wait(1);
-    myled=0;
-    myled2=0;
-    myled3=0;
-    myled4=0;
 
     val=timer_rec.read();
     myTimer.sendMessage(val);
@@ -138,9 +121,9 @@
             val3=val+val2;
             myTimer.sendMessage(val3);
             MuPort.send(myTimer.timeMessage);
-            MuPort.send("Sequence1\n");
+            MuPort.send("Sequence1");
             MuPort.send(mygps.getGPS);
-            fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
             timer++;
         }
 
@@ -165,19 +148,90 @@
     fprintf(fp, "FireStart!\r\n");
     MuPort.send("Fire Start!\r\n");
 
-    FIRE=1;
-    myled=1;
-    wait(FIRETIME);//溶断にかかる時間TBD秒
-    FIRE=0;
-    myled=0;
+    timer=0;
+
+    while(1) {
+
+        FIRE=1;
+        myled=1;
+
+        mygps.getGPGGA();
+        if(mygps.GPSread) {
+            myled3=0;
+            val=timer_rec.read();
+            val3=val+val2;
+            myTimer.sendMessage(val3);
+            MuPort.send(myTimer.timeMessage);
+            MuPort.send("Sequence1-FireOn");
+            MuPort.send(mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
+            timer++;
+        }
+
+        if(timer>=FIRETIME) {
+            FIRE=0;
+            myled=0;
+            break;
+        }
+
+    }
+    
+    timer=0;
+
+    while(1) {
+
+        FIRE=0;
+        myled=0;
 
-    wait(10);
+        mygps.getGPGGA();
+        if(mygps.GPSread) {
+            myled3=0;
+            val=timer_rec.read();
+            val3=val+val2;
+            myTimer.sendMessage(val3);
+            MuPort.send(myTimer.timeMessage);
+            MuPort.send("Sequence1-FireOff");
+            MuPort.send(mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
+            timer++;
+        }
+
+        if(timer>=10) {
+            FIRE=0;
+            myled=0;
+            break;
+        }
+
+    }
+
+
+    timer=0;
 
-    FIRE=1;
-    myled=1;
-    wait(FIRETIME);//溶断にかかる時間TBD秒
-    FIRE=0;
-    myled=0;
+    while(1) {
+
+        FIRE=1;
+        myled=1;
+
+        mygps.getGPGGA();
+        if(mygps.GPSread) {
+            myled3=0;
+            val=timer_rec.read();
+            val3=val+val2;
+            myTimer.sendMessage(val3);
+            MuPort.send(myTimer.timeMessage);
+            MuPort.send("Sequence1-FireOn");
+            MuPort.send(mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
+            timer++;
+        }
+
+        if(timer>=FIRETIME) {
+            FIRE=0;
+            myled=0;
+            break;
+        }
+
+    }
 
     fprintf(fp, "FireFinish!\r\n");
     MuPort.send("Fire Finish!\r\n");
@@ -203,9 +257,9 @@
             val3=val+val2;
             myTimer.sendMessage(val3);
             MuPort.send(myTimer.timeMessage);
-            MuPort.send("Sequence2\n");
+            MuPort.send("Sequence2");
             MuPort.send(mygps.getGPS);
-            fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
             timer++;
         }
 
@@ -243,13 +297,12 @@
     timer2=0;
     count=0;
 
-    while(1) 
-    {
+    while(1) {
         myled=0;
         myled2=0;
         myled3=1;
         myled4=1;
-        
+
         inlet.Close();
 
         mygps.getGPGGA();
@@ -272,11 +325,11 @@
             val3=val+val2;
             myTimer.sendMessage(val3);
             MuPort.send(myTimer.timeMessage);
-            MuPort.send("Sequence3\n");
+            MuPort.send("Sequence3");
             MuPort.send(mygps.getGPS);
             snprintf(sensorMessage, 128, "%f", ave_sensor);
             MuPort.send(sensorMessage);
-            fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
             timer++;
         }
 
@@ -285,8 +338,7 @@
             count++;
         }
 
-        if(count>=SAMPLENUMBER)
-        {
+        if(count>=SAMPLENUMBER) {
             val=timer_rec.read();
             val3=val+val2;
             myTimer.sendMessage(val3);
@@ -296,13 +348,12 @@
 
             timer=0;//モーター時間で止める用
 
-            while(1) //剛性を得た後一定時間でとめる
-            {
+            while(1) { //剛性を得た後一定時間でとめる
                 myled=0;
                 myled2=1;
                 myled3=0;
                 myled4=0;
-            
+
                 mygps.getGPGGA();
 
                 val=timer_rec.read();
@@ -316,24 +367,22 @@
                 //fclose(fp2);
                 timer2++;
 
-                if(mygps.GPSread) 
-                {
+                if(mygps.GPSread) {
                     myled2=0;
                     val=timer_rec.read();
                     val3=val+val2;
                     myTimer.sendMessage(val3);
                     MuPort.send(myTimer.timeMessage);
-                    MuPort.send("Sequence4\n");
+                    MuPort.send("Sequence4");
                     MuPort.send(mygps.getGPS);
                     snprintf(sensorMessage, 128, "%f", ave_sensor);
                     MuPort.send(sensorMessage);
-                    fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
+                    fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
                     timer++;
                 }
 
 
-                if(timer>=CLOSETIME) 
-                {
+                if(timer>=CLOSETIME) {
                     break;
                 }
             }
@@ -361,9 +410,8 @@
 
         }
 
-        if(timer>LIMITTIME) 
-        {
-            
+        if(timer>LIMITTIME) {
+
             inlet.Stop();
             val=timer_rec.read();
             val3=val+val2;
@@ -423,12 +471,12 @@
             val3=val+val2;
             myTimer.sendMessage(val3);
             MuPort.send(myTimer.timeMessage);
-            MuPort.send("Sequence5\n");
+            MuPort.send("Sequence5");
             MuPort.send(mygps.getGPS);
             snprintf(sensorMessage, 128, "%f\n", ave_sensor);
             MuPort.send(sensorMessage);
             fp= fopen(fname, "a");
-            fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
             fclose(fp);
             fclose(fp2);
             fp2= fopen(fname2, "a");
@@ -469,11 +517,12 @@
                     val3=val+val2;
                     myTimer.sendMessage(val3);
                     MuPort.send(myTimer.timeMessage);
+                    MuPort.send("Sequence5");
                     MuPort.send(mygps.getGPS);
                     snprintf(sensorMessage, 128, "%f\n", ave_sensor);
                     MuPort.send(sensorMessage);
                     fp= fopen(fname, "a");
-                    fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
+                    fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
                     fclose(fp);
                     fclose(fp2);
                     fp2= fopen(fname2, "a");
@@ -539,18 +588,17 @@
         myled4=0;
 
         mygps.getGPGGA();
-        if(mygps.GPSread) 
-        {
+        if(mygps.GPSread) {
             myled2=0;
             myled3=0;
             val=timer_rec.read();
             val3=val+val2;
             myTimer.sendMessage(val3);
             MuPort.send(myTimer.timeMessage);
-            MuPort.send("Sequence6\n");
+            MuPort.send("Sequence6");
             MuPort.send(mygps.getGPS);
             fp= fopen(fname, "a");
-            fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
+            fprintf(fp, "%s,%s",myTimer.timeMessage,mygps.getGPS);
             fclose(fp);
             //wait(1.0);
         }