Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed mbedTimer SDFileSystem MU2 GPS
Revision 28:295ed570a51d, committed 2019-09-11
- Comitter:
- Nerosho
- Date:
- Wed Sep 11 02:36:52 2019 +0000
- Parent:
- 27:6ac03194e45e
- Child:
- 29:b3c88e7c4043
- 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);
}