change2shinsu

Dependencies:   mbed mbedTimer SDFileSystem MU2 GPS

Committer:
Nerosho
Date:
Tue Sep 03 11:46:42 2019 +0000
Revision:
17:993f2fcc43df
Parent:
16:917a2c03bd7c
Child:
18:05d5de29511d
0903

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nerosho 0:d0f3991839ec 1 #include "mbed.h"
Nerosho 0:d0f3991839ec 2 #include "MU2.h"
Nerosho 16:917a2c03bd7c 3 #include "GPS.h"
Nerosho 0:d0f3991839ec 4 #include "SDFileSystem.h"
takepiyo 3:4f1bac105598 5 #include "inletclose.h"
Nerosho 15:bc013c313ef5 6 #include "mbedTimer.h"
Nerosho 15:bc013c313ef5 7
Nerosho 17:993f2fcc43df 8 #define WAITTIME 5 //フライトピン抜けてからの待機時間
Nerosho 17:993f2fcc43df 9 #define FIRETIME 0 //溶断時間を設定
Nerosho 17:993f2fcc43df 10 #define FALLTIME 5 //シェンロン展開してインレットを閉鎖するまでの時間を設定
Nerosho 17:993f2fcc43df 11 #define CLOSETIME 60 //しきい値超えてからのインレット閉鎖機構の稼働時間を設定
Nerosho 17:993f2fcc43df 12 #define THRESHOLID 0.45 //感圧のしきい値
Nerosho 16:917a2c03bd7c 13 #define INTERVALTIME 300 //インターバルモードの時間
Nerosho 17:993f2fcc43df 14 #define INTERVAL_HIGH 5 //インターバルモードでモーター回す時間
Nerosho 17:993f2fcc43df 15 #define INTERVAL_LOW 20 //インターバルモードでモーター止める時間
takepiyo 8:6b835a82b1eb 16
Nerosho 16:917a2c03bd7c 17 char fname[]="/sd/CanSat/log0902test3.csv";//ファイル名をここで設定
Nerosho 16:917a2c03bd7c 18 char fname2[]="/sd/CanSat/sensor0902test3.csv";//感圧センサーのログファイル
Nerosho 15:bc013c313ef5 19
takepiyo 8:6b835a82b1eb 20 ////////////////フライトピンが抜ける→シェンロン展開→インレット閉鎖→待機
takepiyo 8:6b835a82b1eb 21 //シーケンス番号//1//////////////////2///////////3///////////4///
Nerosho 14:a07d2a958617 22 //mbedのLEDが各シーケンス番号を2進数で示す:ex 0011 インレット閉鎖中
Nerosho 15:bc013c313ef5 23 //ただし今回はシーケンス4つなのでそれぞれのシーケンスでそれぞれのLEDが光る
takepiyo 8:6b835a82b1eb 24
takepiyo 4:0d087e3f731d 25 MU2 MuPort(p28,p27);
Nerosho 16:917a2c03bd7c 26 SDFileSystem sd(p5, p6, p7, p8, "sd");//3号機11,12,13,14 4号機5,6,7,8
Nerosho 16:917a2c03bd7c 27 GPS mygps(p13,p14);//3号機9,10 4号機13,14
takepiyo 3:4f1bac105598 28
Nerosho 15:bc013c313ef5 29 Inlet inlet(p26,p15,p16);//モーター出力,感圧センサー1入力,感圧センサー2入力
Nerosho 0:d0f3991839ec 30
Nerosho 16:917a2c03bd7c 31 DigitalOut FIRE(p25); //3号機24 4号機25
Nerosho 1:a8772ca26d1b 32
Nerosho 1:a8772ca26d1b 33 DigitalOut myled(LED1);
takepiyo 4:0d087e3f731d 34 DigitalOut myled2(LED2);
Nerosho 1:a8772ca26d1b 35 DigitalOut myled3(LED3);
Nerosho 1:a8772ca26d1b 36 DigitalOut myled4(LED4);
Nerosho 0:d0f3991839ec 37
Nerosho 15:bc013c313ef5 38 mbedTimer myTimer;
Nerosho 15:bc013c313ef5 39 Timer timer_rec;//時間計測
Nerosho 15:bc013c313ef5 40
Nerosho 15:bc013c313ef5 41 int val;
Nerosho 16:917a2c03bd7c 42 int val2;
Nerosho 15:bc013c313ef5 43 char sendMessage[128];
Nerosho 17:993f2fcc43df 44 char sensorMessage[128];
Nerosho 16:917a2c03bd7c 45 float ave_sensor;
Nerosho 16:917a2c03bd7c 46 int timer;
Nerosho 16:917a2c03bd7c 47 int timer2;
Nerosho 16:917a2c03bd7c 48 int timer3;
Nerosho 16:917a2c03bd7c 49 int timer4;
Nerosho 14:a07d2a958617 50
Nerosho 14:a07d2a958617 51 /*******************************************************************************
Nerosho 14:a07d2a958617 52 メイン関数
Nerosho 14:a07d2a958617 53 *******************************************************************************/
Nerosho 14:a07d2a958617 54
Nerosho 0:d0f3991839ec 55 int main()
Nerosho 0:d0f3991839ec 56 {
Nerosho 15:bc013c313ef5 57
Nerosho 15:bc013c313ef5 58 timer_rec.start();
Nerosho 16:917a2c03bd7c 59 wait(WAITTIME);//起動してからちょっと待つ
takepiyo 8:6b835a82b1eb 60 inlet.Stop();
Nerosho 15:bc013c313ef5 61 FILE* fp= fopen(fname, "a");
Nerosho 15:bc013c313ef5 62 if(fp == NULL) {
Nerosho 15:bc013c313ef5 63
Nerosho 14:a07d2a958617 64 myled=1;
Nerosho 14:a07d2a958617 65 myled2=1;
Nerosho 14:a07d2a958617 66 myled3=1;
Nerosho 14:a07d2a958617 67 myled4=1;
Nerosho 14:a07d2a958617 68
Nerosho 15:bc013c313ef5 69 fp = fopen(fname, "a");
Nerosho 15:bc013c313ef5 70 if(fp != NULL) {
Nerosho 15:bc013c313ef5 71 myled=0;
Nerosho 15:bc013c313ef5 72 myled2=0;
Nerosho 15:bc013c313ef5 73 myled3=0;
Nerosho 15:bc013c313ef5 74 myled4=0;
Nerosho 15:bc013c313ef5 75 }
Nerosho 15:bc013c313ef5 76
Nerosho 14:a07d2a958617 77 }
Nerosho 14:a07d2a958617 78
Nerosho 15:bc013c313ef5 79 val=timer_rec.read();
Nerosho 15:bc013c313ef5 80 myTimer.sendMessage(val);
Nerosho 15:bc013c313ef5 81 fprintf(fp, "%s CanSatStart!\r\n",myTimer.timeMessage);
Nerosho 15:bc013c313ef5 82 MuPort.send(myTimer.timeMessage);
Nerosho 14:a07d2a958617 83 MuPort.send("CanSat Start!\r\n");
takepiyo 3:4f1bac105598 84
Nerosho 2:d6dc5c2224cc 85
takepiyo 3:4f1bac105598 86 //溶断機構部分
Nerosho 2:d6dc5c2224cc 87
Nerosho 14:a07d2a958617 88 fprintf(fp, "FireStart!\r\n");
Nerosho 14:a07d2a958617 89 MuPort.send("Fire Start!\r\n");
Nerosho 14:a07d2a958617 90
takepiyo 8:6b835a82b1eb 91 FIRE=1;
Nerosho 15:bc013c313ef5 92 myled=1;
takepiyo 8:6b835a82b1eb 93 wait(FIRETIME);//溶断にかかる時間TBD秒
takepiyo 8:6b835a82b1eb 94 FIRE=0;
Nerosho 15:bc013c313ef5 95 myled=0;
Nerosho 15:bc013c313ef5 96
Nerosho 16:917a2c03bd7c 97 /*wait(3);
Nerosho 15:bc013c313ef5 98
Nerosho 14:a07d2a958617 99 FIRE=1;
Nerosho 15:bc013c313ef5 100 myled=1;
Nerosho 14:a07d2a958617 101 wait(3);//溶断にかかる時間TBD秒
Nerosho 14:a07d2a958617 102 FIRE=0;
Nerosho 16:917a2c03bd7c 103 myled=0;*/
Nerosho 14:a07d2a958617 104
Nerosho 14:a07d2a958617 105 fprintf(fp, "FireFinish!\r\n");
Nerosho 14:a07d2a958617 106 MuPort.send("Fire Finish!\r\n");
Nerosho 14:a07d2a958617 107
takepiyo 3:4f1bac105598 108 //溶断機構終わり
Nerosho 0:d0f3991839ec 109
takepiyo 3:4f1bac105598 110
Nerosho 14:a07d2a958617 111 /*******************************************************************************
Nerosho 14:a07d2a958617 112 シェンロン展開
Nerosho 14:a07d2a958617 113 *******************************************************************************/
Nerosho 16:917a2c03bd7c 114 timer=0;
Nerosho 2:d6dc5c2224cc 115
Nerosho 15:bc013c313ef5 116 val=timer_rec.read();
Nerosho 15:bc013c313ef5 117 myTimer.sendMessage(val);
Nerosho 15:bc013c313ef5 118 fprintf(fp, "%s GPSstart!\r\n",myTimer.timeMessage);
Nerosho 15:bc013c313ef5 119 MuPort.send(myTimer.timeMessage);
Nerosho 14:a07d2a958617 120 MuPort.send("GPS start!\r\n");
Nerosho 14:a07d2a958617 121
Nerosho 14:a07d2a958617 122 while(1) {
takepiyo 8:6b835a82b1eb 123 myled=0;
takepiyo 8:6b835a82b1eb 124 myled2=1;
Nerosho 14:a07d2a958617 125
Nerosho 16:917a2c03bd7c 126 mygps.getGPGGA();
Nerosho 16:917a2c03bd7c 127 if(mygps.GPSread) {
Nerosho 16:917a2c03bd7c 128 myled=1;
Nerosho 16:917a2c03bd7c 129 val=timer_rec.read();
Nerosho 16:917a2c03bd7c 130 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 131 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 132 MuPort.send(mygps.getGPS);
Nerosho 16:917a2c03bd7c 133 fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
Nerosho 16:917a2c03bd7c 134 timer++;
Nerosho 16:917a2c03bd7c 135 }
takepiyo 3:4f1bac105598 136
Nerosho 15:bc013c313ef5 137 if(timer>FALLTIME) { //落下開始してからTBD秒後whileを抜ける.
Nerosho 15:bc013c313ef5 138 fclose(fp);
Nerosho 15:bc013c313ef5 139 break;
Nerosho 15:bc013c313ef5 140 }
Nerosho 2:d6dc5c2224cc 141
Nerosho 0:d0f3991839ec 142 }
Nerosho 14:a07d2a958617 143
Nerosho 14:a07d2a958617 144
Nerosho 14:a07d2a958617 145 /*******************************************************************************
Nerosho 16:917a2c03bd7c 146 インレット連続閉鎖
Nerosho 14:a07d2a958617 147 *******************************************************************************/
Nerosho 14:a07d2a958617 148
Nerosho 15:bc013c313ef5 149 fp= fopen(fname, "a");
Nerosho 16:917a2c03bd7c 150 FILE* fp2= fopen(fname2, "a");
Nerosho 15:bc013c313ef5 151 val=timer_rec.read();
Nerosho 15:bc013c313ef5 152 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 153 fprintf(fp, "%s ClosingModeStart!\r\n",myTimer.timeMessage);
Nerosho 15:bc013c313ef5 154 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 155 MuPort.send("Closing Mode start!\r\n");
Nerosho 14:a07d2a958617 156
Nerosho 14:a07d2a958617 157 timer=0;//モーター時間で止める用
Nerosho 16:917a2c03bd7c 158 timer2=0;
Nerosho 14:a07d2a958617 159
Nerosho 14:a07d2a958617 160 while(1) {
Nerosho 15:bc013c313ef5 161 myled=0;
takepiyo 8:6b835a82b1eb 162 myled2=0;
takepiyo 8:6b835a82b1eb 163 myled3=1;
takepiyo 3:4f1bac105598 164
Nerosho 16:917a2c03bd7c 165 mygps.getGPGGA();
Nerosho 17:993f2fcc43df 166
Nerosho 17:993f2fcc43df 167 inlet.getvalue1();
Nerosho 17:993f2fcc43df 168 inlet.getvalue2();
Nerosho 17:993f2fcc43df 169 ave_sensor=(inlet.value1+inlet.value2)/2;
Nerosho 17:993f2fcc43df 170 fprintf(fp2, "%d,sensor1,%f,sensor2,%f,average,%f\n",timer2,inlet.value1,inlet.value2,ave_sensor);
Nerosho 17:993f2fcc43df 171 timer2++;
Nerosho 17:993f2fcc43df 172
Nerosho 16:917a2c03bd7c 173 if(mygps.GPSread) {
Nerosho 16:917a2c03bd7c 174 myled2=1;
Nerosho 16:917a2c03bd7c 175 val=timer_rec.read();
Nerosho 16:917a2c03bd7c 176 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 177 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 178 MuPort.send(mygps.getGPS);
Nerosho 17:993f2fcc43df 179 snprintf(sensorMessage, 128, "%f", ave_sensor);
Nerosho 17:993f2fcc43df 180 MuPort.send(sensorMessage);
Nerosho 16:917a2c03bd7c 181 fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
Nerosho 16:917a2c03bd7c 182 }
Nerosho 16:917a2c03bd7c 183
Nerosho 16:917a2c03bd7c 184
takepiyo 3:4f1bac105598 185
Nerosho 16:917a2c03bd7c 186 if(ave_sensor>THRESHOLID) {
Nerosho 16:917a2c03bd7c 187 val=timer_rec.read();
Nerosho 16:917a2c03bd7c 188 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 189 fprintf(fp, "%s Get the rigidity!\r\n",myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 190 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 191 MuPort.send("Get the rigidity!\r\n");
Nerosho 16:917a2c03bd7c 192
Nerosho 16:917a2c03bd7c 193 timer=0;//モーター時間で止める用
takepiyo 3:4f1bac105598 194
Nerosho 16:917a2c03bd7c 195 while(1) {
Nerosho 16:917a2c03bd7c 196 mygps.getGPGGA();
Nerosho 17:993f2fcc43df 197
Nerosho 17:993f2fcc43df 198 inlet.getvalue1();
Nerosho 17:993f2fcc43df 199 inlet.getvalue2();
Nerosho 17:993f2fcc43df 200 ave_sensor=(inlet.value1+inlet.value2)/2;
Nerosho 17:993f2fcc43df 201 fprintf(fp2, "%d,sensor1,%f,sensor2,%f,average,%f\n",timer2,inlet.value1,inlet.value2,ave_sensor);
Nerosho 17:993f2fcc43df 202 timer2++;
Nerosho 17:993f2fcc43df 203
Nerosho 16:917a2c03bd7c 204 if(mygps.GPSread) {
Nerosho 16:917a2c03bd7c 205 myled2=1;
Nerosho 16:917a2c03bd7c 206 val=timer_rec.read();
Nerosho 16:917a2c03bd7c 207 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 208 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 209 MuPort.send(mygps.getGPS);
Nerosho 17:993f2fcc43df 210 snprintf(sensorMessage, 128, "%f", ave_sensor);
Nerosho 17:993f2fcc43df 211 MuPort.send(sensorMessage);
Nerosho 16:917a2c03bd7c 212 fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
Nerosho 16:917a2c03bd7c 213 timer++;
Nerosho 16:917a2c03bd7c 214 }
Nerosho 16:917a2c03bd7c 215
Nerosho 16:917a2c03bd7c 216
Nerosho 16:917a2c03bd7c 217 if(timer>CLOSETIME) {
Nerosho 16:917a2c03bd7c 218 break;
Nerosho 16:917a2c03bd7c 219 }
Nerosho 16:917a2c03bd7c 220
takepiyo 3:4f1bac105598 221 }
Nerosho 15:bc013c313ef5 222
Nerosho 16:917a2c03bd7c 223 inlet.Stop();
Nerosho 16:917a2c03bd7c 224 val=timer_rec.read();
Nerosho 16:917a2c03bd7c 225 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 226 fprintf(fp, "%s ClosingModeFinish!\r\n",myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 227 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 228 MuPort.send("Closing Mode Finish!\r\n");
Nerosho 16:917a2c03bd7c 229 fclose(fp);
Nerosho 16:917a2c03bd7c 230 fclose(fp2);
Nerosho 16:917a2c03bd7c 231 break;
Nerosho 16:917a2c03bd7c 232
takepiyo 3:4f1bac105598 233 }
Nerosho 16:917a2c03bd7c 234
Nerosho 16:917a2c03bd7c 235 inlet.Close(1.1);//1より大きい引数にしておけばモーターはずっと回ってる.
Nerosho 16:917a2c03bd7c 236
Nerosho 16:917a2c03bd7c 237 }
Nerosho 16:917a2c03bd7c 238
Nerosho 16:917a2c03bd7c 239 /*******************************************************************************
Nerosho 16:917a2c03bd7c 240 インレットインターバル閉鎖
Nerosho 16:917a2c03bd7c 241 *******************************************************************************/
Nerosho 16:917a2c03bd7c 242
Nerosho 17:993f2fcc43df 243
Nerosho 17:993f2fcc43df 244 //fp= fopen(fname, "a");
Nerosho 17:993f2fcc43df 245 //fp2= fopen(fname2, "a");
Nerosho 16:917a2c03bd7c 246 val=timer_rec.read();
Nerosho 16:917a2c03bd7c 247 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 248 fprintf(fp, "%s IntervalModeStart!\r\n",myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 249 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 250 MuPort.send("Interval Mode start!\r\n");
Nerosho 17:993f2fcc43df 251 //fclose(fp);
Nerosho 16:917a2c03bd7c 252
Nerosho 16:917a2c03bd7c 253 timer=0;//モーター時間で止める用
Nerosho 16:917a2c03bd7c 254 timer3=0;
Nerosho 16:917a2c03bd7c 255 val2=0;
Nerosho 16:917a2c03bd7c 256
Nerosho 16:917a2c03bd7c 257 while(1) {
Nerosho 16:917a2c03bd7c 258
Nerosho 16:917a2c03bd7c 259 myled=0;
Nerosho 16:917a2c03bd7c 260 myled2=0;
Nerosho 16:917a2c03bd7c 261 myled3=0;
Nerosho 16:917a2c03bd7c 262 myled4=1;
Nerosho 16:917a2c03bd7c 263
Nerosho 16:917a2c03bd7c 264 mygps.getGPGGA();
Nerosho 16:917a2c03bd7c 265
Nerosho 16:917a2c03bd7c 266 inlet.getvalue1();
Nerosho 16:917a2c03bd7c 267 inlet.getvalue2();
Nerosho 16:917a2c03bd7c 268 ave_sensor=(inlet.value1+inlet.value2)/2;
Nerosho 16:917a2c03bd7c 269 //fp2= fopen(fname2, "a");
Nerosho 16:917a2c03bd7c 270 fprintf(fp2, "%d,sensor1,%f,sensor2,%f,average,%f\n",timer2,inlet.value1,inlet.value2,ave_sensor);
Nerosho 16:917a2c03bd7c 271 //fclose(fp2);
Nerosho 16:917a2c03bd7c 272 timer2++;
Nerosho 16:917a2c03bd7c 273
Nerosho 17:993f2fcc43df 274 if(mygps.GPSread) {
Nerosho 17:993f2fcc43df 275 myled3=1;
Nerosho 17:993f2fcc43df 276 val=timer_rec.read();
Nerosho 17:993f2fcc43df 277 myTimer.sendMessage(val);
Nerosho 17:993f2fcc43df 278 MuPort.send(myTimer.timeMessage);
Nerosho 17:993f2fcc43df 279 MuPort.send(mygps.getGPS);
Nerosho 17:993f2fcc43df 280 snprintf(sensorMessage, 128, "%f", ave_sensor);
Nerosho 17:993f2fcc43df 281 MuPort.send(sensorMessage);
Nerosho 17:993f2fcc43df 282 fp= fopen(fname, "a");
Nerosho 17:993f2fcc43df 283 fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
Nerosho 17:993f2fcc43df 284 fclose(fp);
Nerosho 17:993f2fcc43df 285 fclose(fp2);
Nerosho 17:993f2fcc43df 286 fp2= fopen(fname2, "a");
Nerosho 17:993f2fcc43df 287 timer++;
Nerosho 17:993f2fcc43df 288 timer3++;
Nerosho 17:993f2fcc43df 289 }
Nerosho 17:993f2fcc43df 290
Nerosho 17:993f2fcc43df 291
Nerosho 17:993f2fcc43df 292
Nerosho 16:917a2c03bd7c 293 if(timer3>INTERVAL_HIGH) {
Nerosho 16:917a2c03bd7c 294 inlet.Stop();
Nerosho 16:917a2c03bd7c 295 myled=0;
Nerosho 16:917a2c03bd7c 296 myled2=0;
Nerosho 16:917a2c03bd7c 297 myled3=0;
Nerosho 16:917a2c03bd7c 298 myled4=1;
Nerosho 16:917a2c03bd7c 299
Nerosho 16:917a2c03bd7c 300 timer3=0;
Nerosho 16:917a2c03bd7c 301 timer4=0;
Nerosho 16:917a2c03bd7c 302
Nerosho 16:917a2c03bd7c 303 while(1) {
Nerosho 16:917a2c03bd7c 304 mygps.getGPGGA();
Nerosho 16:917a2c03bd7c 305
Nerosho 16:917a2c03bd7c 306 inlet.getvalue1();
Nerosho 16:917a2c03bd7c 307 inlet.getvalue2();
Nerosho 16:917a2c03bd7c 308 ave_sensor=(inlet.value1+inlet.value2)/2;
Nerosho 16:917a2c03bd7c 309 //fp2= fopen(fname2, "a");
Nerosho 16:917a2c03bd7c 310 fprintf(fp2, "%d,sensor1,%f,sensor2,%f,average,%f\n",timer2,inlet.value1,inlet.value2,ave_sensor);
Nerosho 16:917a2c03bd7c 311 //fclose(fp2);
Nerosho 16:917a2c03bd7c 312 timer2++;
Nerosho 16:917a2c03bd7c 313
Nerosho 17:993f2fcc43df 314 if(mygps.GPSread) {
Nerosho 17:993f2fcc43df 315 myled3=1;
Nerosho 17:993f2fcc43df 316 val=val2+timer_rec.read();
Nerosho 17:993f2fcc43df 317 myTimer.sendMessage(val);
Nerosho 17:993f2fcc43df 318 MuPort.send(myTimer.timeMessage);
Nerosho 17:993f2fcc43df 319 MuPort.send(mygps.getGPS);
Nerosho 17:993f2fcc43df 320 snprintf(sensorMessage, 128, "%f", ave_sensor);
Nerosho 17:993f2fcc43df 321 MuPort.send(sensorMessage);
Nerosho 17:993f2fcc43df 322 fp= fopen(fname, "a");
Nerosho 17:993f2fcc43df 323 fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
Nerosho 17:993f2fcc43df 324 fclose(fp);
Nerosho 17:993f2fcc43df 325 fclose(fp2);
Nerosho 17:993f2fcc43df 326 fp2= fopen(fname2, "a");
Nerosho 17:993f2fcc43df 327 timer++;
Nerosho 17:993f2fcc43df 328 timer4++;
Nerosho 17:993f2fcc43df 329 }
Nerosho 17:993f2fcc43df 330
Nerosho 17:993f2fcc43df 331
Nerosho 16:917a2c03bd7c 332 if(timer4>INTERVAL_LOW) {
Nerosho 16:917a2c03bd7c 333 break;
Nerosho 16:917a2c03bd7c 334 }
Nerosho 16:917a2c03bd7c 335
Nerosho 16:917a2c03bd7c 336 }
Nerosho 16:917a2c03bd7c 337
Nerosho 16:917a2c03bd7c 338 }
Nerosho 16:917a2c03bd7c 339
Nerosho 16:917a2c03bd7c 340 if(val>1800) {
Nerosho 17:993f2fcc43df 341 //timer_rec.stop();
Nerosho 16:917a2c03bd7c 342 timer_rec.reset();
Nerosho 17:993f2fcc43df 343 //timer_rec.start();
Nerosho 16:917a2c03bd7c 344 val2+=val;
Nerosho 16:917a2c03bd7c 345 val=0;
Nerosho 17:993f2fcc43df 346 //fclose(fp);
Nerosho 17:993f2fcc43df 347 //fclose(fp2);
Nerosho 17:993f2fcc43df 348 //fp= fopen(fname, "a");
Nerosho 17:993f2fcc43df 349 //fp2= fopen(fname2, "a");
Nerosho 16:917a2c03bd7c 350 }
Nerosho 16:917a2c03bd7c 351
Nerosho 16:917a2c03bd7c 352
Nerosho 16:917a2c03bd7c 353 if(timer>INTERVALTIME) {
Nerosho 16:917a2c03bd7c 354 inlet.Stop();
Nerosho 16:917a2c03bd7c 355 val=timer_rec.read();
Nerosho 16:917a2c03bd7c 356 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 357 fprintf(fp, "%s IntervalModeFinish!\r\n",myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 358 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 359 MuPort.send("Interval Mode finish!\r\n");
Nerosho 16:917a2c03bd7c 360 fclose(fp);
Nerosho 16:917a2c03bd7c 361 fclose(fp2);
Nerosho 15:bc013c313ef5 362 break;
Nerosho 15:bc013c313ef5 363 }
takepiyo 3:4f1bac105598 364
Nerosho 16:917a2c03bd7c 365 inlet.Close(1.1);//1より大きい引数にしておけばモーターはずっと回ってる.
Nerosho 16:917a2c03bd7c 366
takepiyo 3:4f1bac105598 367 }
Nerosho 14:a07d2a958617 368
Nerosho 14:a07d2a958617 369
Nerosho 14:a07d2a958617 370 /*******************************************************************************
Nerosho 14:a07d2a958617 371 待機モード(何もせずGPS信号を発する)
Nerosho 14:a07d2a958617 372 *******************************************************************************/
Nerosho 14:a07d2a958617 373
Nerosho 15:bc013c313ef5 374 fp= fopen(fname, "a");
Nerosho 15:bc013c313ef5 375 val=timer_rec.read();
Nerosho 15:bc013c313ef5 376 myTimer.sendMessage(val);
Nerosho 15:bc013c313ef5 377 fprintf(fp, "%s StandbyModeStart!\r\n",myTimer.timeMessage);
Nerosho 15:bc013c313ef5 378 MuPort.send(myTimer.timeMessage);
Nerosho 14:a07d2a958617 379 MuPort.send("Standby mode start!\r\n");
Nerosho 15:bc013c313ef5 380 fclose(fp);
Nerosho 14:a07d2a958617 381
Nerosho 14:a07d2a958617 382
Nerosho 14:a07d2a958617 383 while(1) {
Nerosho 15:bc013c313ef5 384 myled=0;
Nerosho 15:bc013c313ef5 385 myled2=0;
takepiyo 8:6b835a82b1eb 386 myled3=0;
Nerosho 15:bc013c313ef5 387 myled4=1;
takepiyo 6:b7bf39bc3487 388
Nerosho 16:917a2c03bd7c 389 mygps.getGPGGA();
Nerosho 16:917a2c03bd7c 390 if(mygps.GPSread) {
Nerosho 16:917a2c03bd7c 391 myled3=1;
Nerosho 16:917a2c03bd7c 392 val=val2+timer_rec.read();
Nerosho 16:917a2c03bd7c 393 myTimer.sendMessage(val);
Nerosho 16:917a2c03bd7c 394 MuPort.send(myTimer.timeMessage);
Nerosho 16:917a2c03bd7c 395 MuPort.send(mygps.getGPS);
Nerosho 16:917a2c03bd7c 396 fp= fopen(fname, "a");
Nerosho 16:917a2c03bd7c 397 fprintf(fp, "%s %s\n",myTimer.timeMessage,mygps.getGPS);
Nerosho 16:917a2c03bd7c 398 fclose(fp);
Nerosho 16:917a2c03bd7c 399 //wait(1.0);
Nerosho 16:917a2c03bd7c 400 }
Nerosho 17:993f2fcc43df 401
Nerosho 16:917a2c03bd7c 402 if(val>1800) {
Nerosho 17:993f2fcc43df 403 //timer_rec.stop();
Nerosho 16:917a2c03bd7c 404 timer_rec.reset();
Nerosho 17:993f2fcc43df 405 //timer_rec.start();
Nerosho 16:917a2c03bd7c 406 val2+=val;
Nerosho 16:917a2c03bd7c 407 val=0;
Nerosho 16:917a2c03bd7c 408 }
takepiyo 6:b7bf39bc3487 409
takepiyo 6:b7bf39bc3487 410 }
Nerosho 14:a07d2a958617 411
Nerosho 2:d6dc5c2224cc 412 }
Nerosho 2:d6dc5c2224cc 413
Nerosho 2:d6dc5c2224cc 414