all ok noMU2

Dependencies:   mbed mbedTimer SDFileSystem MU2 GPS

Committer:
Nerosho
Date:
Wed Sep 11 05:59:59 2019 +0000
Revision:
28:c8fabcd38c9a
Parent:
4:0d087e3f731d
0910 last version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
takepiyo 4:0d087e3f731d 1 #include "mbed.h"
takepiyo 4:0d087e3f731d 2 #include "MU2.h"
takepiyo 4:0d087e3f731d 3 //#include "SDFileSystem.h"
takepiyo 4:0d087e3f731d 4 #include "inletclose.h"
takepiyo 4:0d087e3f731d 5 //#include "GPS.h"
takepiyo 4:0d087e3f731d 6
takepiyo 4:0d087e3f731d 7 MU2 MuPort(p27,p28);
takepiyo 4:0d087e3f731d 8 //SDFileSystem sd(p11, p12, p13, p14, "sd");
takepiyo 4:0d087e3f731d 9 //GPS gps(p13,p14);
takepiyo 4:0d087e3f731d 10 Serial gps(p9,p10); //tx, rx
takepiyo 4:0d087e3f731d 11
takepiyo 4:0d087e3f731d 12 Inlet inlet(p26,p15,p16);//モーター出力,感圧センサー1入力,感圧センサー2入力
takepiyo 4:0d087e3f731d 13
takepiyo 4:0d087e3f731d 14
takepiyo 4:0d087e3f731d 15 //DigitalIn flight(p21); //フライトピン
takepiyo 4:0d087e3f731d 16 DigitalOut FIRE(p24); //溶断
takepiyo 4:0d087e3f731d 17
takepiyo 4:0d087e3f731d 18 DigitalOut myled(LED1);
takepiyo 4:0d087e3f731d 19 DigitalOut myled3(LED3);
takepiyo 4:0d087e3f731d 20 DigitalOut myled4(LED4);
takepiyo 4:0d087e3f731d 21
takepiyo 4:0d087e3f731d 22 int main()
takepiyo 4:0d087e3f731d 23 {
takepiyo 4:0d087e3f731d 24
takepiyo 4:0d087e3f731d 25 wait(3);
takepiyo 4:0d087e3f731d 26
takepiyo 4:0d087e3f731d 27 //FILE* fp1= fopen("/sd/cansat/log3.txt", "w");
takepiyo 4:0d087e3f731d 28 // FILE* fp2= fopen("/sd/cansat/gpsdata11.csv", "w");
takepiyo 4:0d087e3f731d 29
takepiyo 4:0d087e3f731d 30 /*if(fp1 == NULL || fp2 == NULL)
takepiyo 4:0d087e3f731d 31 {
takepiyo 4:0d087e3f731d 32 (fp1 == NULL) ? fprintf(stderr, "fname1 open error.\n") : fclose(fp1);
takepiyo 4:0d087e3f731d 33 (fp2 == NULL) ? fprintf(stderr, "fname2 open error.\n") : fclose(fp2);
takepiyo 4:0d087e3f731d 34 return -1;
takepiyo 4:0d087e3f731d 35 }*/
takepiyo 4:0d087e3f731d 36
takepiyo 4:0d087e3f731d 37 //溶断機構部分
takepiyo 4:0d087e3f731d 38
takepiyo 4:0d087e3f731d 39 //fprintf(fp1, "CanSat start!\r\n");
takepiyo 4:0d087e3f731d 40
takepiyo 4:0d087e3f731d 41 //fprintf(fp1, "Fire!!\r\n");
takepiyo 4:0d087e3f731d 42 //FIRE=1;
takepiyo 4:0d087e3f731d 43 myled=1;//テストようにLED光らせてる
takepiyo 4:0d087e3f731d 44 wait(5);//溶断にかかる時間TBD秒
takepiyo 4:0d087e3f731d 45 //FIRE=0;
takepiyo 4:0d087e3f731d 46 myled=0;
takepiyo 4:0d087e3f731d 47
takepiyo 4:0d087e3f731d 48 //溶断機構終わり
takepiyo 4:0d087e3f731d 49
takepiyo 4:0d087e3f731d 50 gps.baud(9600);
takepiyo 4:0d087e3f731d 51 char recvGPS=0;
takepiyo 4:0d087e3f731d 52 char getGPS[128];
takepiyo 4:0d087e3f731d 53 int i=0;
takepiyo 4:0d087e3f731d 54 int timer=0;
takepiyo 4:0d087e3f731d 55 int count=0;
takepiyo 4:0d087e3f731d 56
takepiyo 4:0d087e3f731d 57 //fprintf(fp1, "GPS start!\r\n");
takepiyo 4:0d087e3f731d 58
takepiyo 4:0d087e3f731d 59 while(1)
takepiyo 4:0d087e3f731d 60 {
takepiyo 4:0d087e3f731d 61 if(gps.readable())
takepiyo 4:0d087e3f731d 62 {
takepiyo 4:0d087e3f731d 63 recvGPS=gps.getc();
takepiyo 4:0d087e3f731d 64 getGPS[i]=recvGPS;
takepiyo 4:0d087e3f731d 65
takepiyo 4:0d087e3f731d 66 if(getGPS[i]=='\n')
takepiyo 4:0d087e3f731d 67 {
takepiyo 4:0d087e3f731d 68
takepiyo 4:0d087e3f731d 69 if((getGPS[5]=='G')&&(getGPS[6]=='A'))
takepiyo 4:0d087e3f731d 70 {
takepiyo 4:0d087e3f731d 71 if(count==10)
takepiyo 4:0d087e3f731d 72 {
takepiyo 4:0d087e3f731d 73 MuPort.send(getGPS);
takepiyo 4:0d087e3f731d 74
takepiyo 4:0d087e3f731d 75 /*if(fp == NULL) {
takepiyo 4:0d087e3f731d 76 error("Could not open file for write\n");
takepiyo 4:0d087e3f731d 77 }*/
takepiyo 4:0d087e3f731d 78
takepiyo 4:0d087e3f731d 79 // fprintf(fp2, "%s\n",getGPS);
takepiyo 4:0d087e3f731d 80 //fclose(fp);
takepiyo 4:0d087e3f731d 81
takepiyo 4:0d087e3f731d 82 count=0;
takepiyo 4:0d087e3f731d 83 }
takepiyo 4:0d087e3f731d 84 wait(0.1);
takepiyo 4:0d087e3f731d 85 }
takepiyo 4:0d087e3f731d 86
takepiyo 4:0d087e3f731d 87 i=0;
takepiyo 4:0d087e3f731d 88 }
takepiyo 4:0d087e3f731d 89 i++;
takepiyo 4:0d087e3f731d 90 timer++;
takepiyo 4:0d087e3f731d 91 if(timer>150)//落下開始してからTBD秒後whileを抜ける.
takepiyo 4:0d087e3f731d 92 {
takepiyo 4:0d087e3f731d 93 break;
takepiyo 4:0d087e3f731d 94 }
takepiyo 4:0d087e3f731d 95 count++;
takepiyo 4:0d087e3f731d 96 }
takepiyo 4:0d087e3f731d 97
takepiyo 4:0d087e3f731d 98 // wait(1);
takepiyo 4:0d087e3f731d 99 //fclose(fp);
takepiyo 4:0d087e3f731d 100 }
takepiyo 4:0d087e3f731d 101
takepiyo 4:0d087e3f731d 102 while(1)
takepiyo 4:0d087e3f731d 103 {
takepiyo 4:0d087e3f731d 104 if(gps.readable())
takepiyo 4:0d087e3f731d 105 {
takepiyo 4:0d087e3f731d 106 recvGPS=gps.getc();
takepiyo 4:0d087e3f731d 107 getGPS[i]=recvGPS;
takepiyo 4:0d087e3f731d 108
takepiyo 4:0d087e3f731d 109 if(getGPS[i]=='\n')
takepiyo 4:0d087e3f731d 110 {
takepiyo 4:0d087e3f731d 111
takepiyo 4:0d087e3f731d 112 if((getGPS[5]=='G')&&(getGPS[6]=='A'))
takepiyo 4:0d087e3f731d 113 {
takepiyo 4:0d087e3f731d 114 if(count==10)
takepiyo 4:0d087e3f731d 115 {
takepiyo 4:0d087e3f731d 116 MuPort.send(getGPS);
takepiyo 4:0d087e3f731d 117
takepiyo 4:0d087e3f731d 118 /*if(fp == NULL) {
takepiyo 4:0d087e3f731d 119 error("Could not open file for write\n");
takepiyo 4:0d087e3f731d 120 }*/
takepiyo 4:0d087e3f731d 121
takepiyo 4:0d087e3f731d 122 // fprintf(fp2, "%s\n",getGPS);
takepiyo 4:0d087e3f731d 123 //fclose(fp);
takepiyo 4:0d087e3f731d 124 count=0;
takepiyo 4:0d087e3f731d 125 }
takepiyo 4:0d087e3f731d 126 wait(0.1);
takepiyo 4:0d087e3f731d 127 }
takepiyo 4:0d087e3f731d 128
takepiyo 4:0d087e3f731d 129 i=0;
takepiyo 4:0d087e3f731d 130 }
takepiyo 4:0d087e3f731d 131 i++;
takepiyo 4:0d087e3f731d 132 inlet.Close(0.9);
takepiyo 4:0d087e3f731d 133 count++;
takepiyo 4:0d087e3f731d 134 }
takepiyo 4:0d087e3f731d 135
takepiyo 4:0d087e3f731d 136 // wait(1);
takepiyo 4:0d087e3f731d 137 //fclose(fp);
takepiyo 4:0d087e3f731d 138 }
takepiyo 4:0d087e3f731d 139
takepiyo 4:0d087e3f731d 140
takepiyo 4:0d087e3f731d 141 //fclose(fp1);
takepiyo 4:0d087e3f731d 142 //fclose(fp2);
takepiyo 4:0d087e3f731d 143
takepiyo 4:0d087e3f731d 144 }
takepiyo 4:0d087e3f731d 145
takepiyo 4:0d087e3f731d 146
takepiyo 4:0d087e3f731d 147