東北大学学友会準加盟団体 From The Earth の高高度ロケットFTE-06(通称:海豚)にて使用したソフトウェアです.ご自由にお使いください.このプログラムによって生じた損害について当団体は一切責任を負いません.また,各モジュールのライブラリは当団体が作成したものではないので再配布は禁止します.
Dependencies: mbed FATFileSystem
Fork of FTE-06 by
Diff: main.cpp
- Revision:
- 45:82f2f55e1fc3
- Parent:
- 44:4e10bf6f9213
- Child:
- 46:a8617076f021
diff -r 4e10bf6f9213 -r 82f2f55e1fc3 main.cpp --- a/main.cpp Mon Aug 21 14:10:01 2017 +0000 +++ b/main.cpp Mon Aug 21 14:47:03 2017 +0000 @@ -14,9 +14,9 @@ //im920ではECIOコマンドを使って、送信データのアスキーコード逆変換が行われるようにすること //-----------------------------------------ロケットの制御にかかわる設定 #define launch_pressure_threshold 990.//発射したとみなす気圧(おおよそ地上気圧-80.4hpa) -#define launch_acc_threshold 4.5 //発射時の加速度(G) +#define launch_acc_threshold 6//発射時の加速度(G) #define acc_axis 0//上方向の軸を決定x;0,y;1,z;2 -#define pre_sd 0.0010//0.00037//気圧センサの測定誤差(事前に測定して計算) +#define pre_sd 0.018//0.00037//気圧センサの測定誤差(事前に測定して計算) #define size_dif 6//気圧の変位を保存する数 #define time_limit_launch_and_fall_ms 24000//発射から頂点に至るまでの予測時間(msec) #define fall_detect_lock 5000//加速度で発射検知したときに頂点検知にロックをかける時間(msec) @@ -160,6 +160,7 @@ } //write_data2eeprom();//eepromへの保存 //pc.printf("%lf,%lf,%lf\n",acc[0],acc[1],acc[2]); + data_num++; } void write_data2eeprom() {//eepromへの書き込み @@ -236,10 +237,10 @@ } uint32_t msg=0; for(uint32_t num=3; num<size_dif; num++) { - if(pressure_status[num]==1&&pressure_status[num-1]==1&&pressure_status[num-2]==1) {//3回連続気圧減少なら、機体が上昇中 + if(pressure_status[num]==1&&pressure_status[num-1]==1&&pressure_status[num-2]==1&&pressure_status[num-3]==1) {//3回連続気圧減少なら、機体が上昇中 msg=1; break; - } else if(pressure_status[num]==2&&pressure_status[num-1]==2&&pressure_status[num-2]==2) {//3回連続気圧上昇なら、機体が下降中 + } else if(pressure_status[num]==2&&pressure_status[num-1]==2&&pressure_status[num-2]==2&&pressure_status[num-3]==2) {//3回連続気圧上昇なら、機体が下降中 msg=2; break; } else { //それ以外は安定状態判定