all ok yesMU2
Dependencies: mbed mbedTimer SDFileSystem MU2 GPS
main.cpp@2:d6dc5c2224cc, 2019-08-03 (annotated)
- Committer:
- Nerosho
- Date:
- Sat Aug 03 11:07:03 2019 +0000
- Revision:
- 2:d6dc5c2224cc
- Parent:
- 1:a8772ca26d1b
- Child:
- 3:4f1bac105598
ver2_3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Nerosho | 0:d0f3991839ec | 1 | #include "mbed.h" |
Nerosho | 0:d0f3991839ec | 2 | #include "MU2.h" |
Nerosho | 0:d0f3991839ec | 3 | #include "SDFileSystem.h" |
Nerosho | 2:d6dc5c2224cc | 4 | //#include "GPS.h" |
Nerosho | 1:a8772ca26d1b | 5 | |
Nerosho | 1:a8772ca26d1b | 6 | MU2 MuPort(p9,p10); |
Nerosho | 1:a8772ca26d1b | 7 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
Nerosho | 2:d6dc5c2224cc | 8 | //GPS gps(p13,p14); |
Nerosho | 2:d6dc5c2224cc | 9 | Serial gps(p13,p14); //tx, rx |
Nerosho | 2:d6dc5c2224cc | 10 | |
Nerosho | 0:d0f3991839ec | 11 | |
Nerosho | 1:a8772ca26d1b | 12 | DigitalIn flight(p21); //フライトピン |
Nerosho | 1:a8772ca26d1b | 13 | DigitalOut FIRE(p26); //溶断 |
Nerosho | 1:a8772ca26d1b | 14 | |
Nerosho | 1:a8772ca26d1b | 15 | DigitalOut myled(LED1); |
Nerosho | 1:a8772ca26d1b | 16 | DigitalOut myled3(LED3); |
Nerosho | 1:a8772ca26d1b | 17 | DigitalOut myled4(LED4); |
Nerosho | 0:d0f3991839ec | 18 | |
Nerosho | 0:d0f3991839ec | 19 | int main() |
Nerosho | 0:d0f3991839ec | 20 | { |
Nerosho | 2:d6dc5c2224cc | 21 | |
Nerosho | 1:a8772ca26d1b | 22 | wait(3); |
Nerosho | 0:d0f3991839ec | 23 | |
Nerosho | 2:d6dc5c2224cc | 24 | //FILE* fp1= fopen("/sd/cansat/log3.txt", "w"); |
Nerosho | 2:d6dc5c2224cc | 25 | FILE* fp2= fopen("/sd/cansat/gpsdata10.csv", "w"); |
Nerosho | 1:a8772ca26d1b | 26 | |
Nerosho | 2:d6dc5c2224cc | 27 | /*if(fp1 == NULL || fp2 == NULL) |
Nerosho | 2:d6dc5c2224cc | 28 | { |
Nerosho | 2:d6dc5c2224cc | 29 | (fp1 == NULL) ? fprintf(stderr, "fname1 open error.\n") : fclose(fp1); |
Nerosho | 2:d6dc5c2224cc | 30 | (fp2 == NULL) ? fprintf(stderr, "fname2 open error.\n") : fclose(fp2); |
Nerosho | 2:d6dc5c2224cc | 31 | return -1; |
Nerosho | 2:d6dc5c2224cc | 32 | }*/ |
Nerosho | 2:d6dc5c2224cc | 33 | |
Nerosho | 2:d6dc5c2224cc | 34 | |
Nerosho | 2:d6dc5c2224cc | 35 | |
Nerosho | 2:d6dc5c2224cc | 36 | //fprintf(fp1, "CanSat start!\r\n"); |
Nerosho | 0:d0f3991839ec | 37 | |
Nerosho | 1:a8772ca26d1b | 38 | while(1) { //溶断機構 |
Nerosho | 1:a8772ca26d1b | 39 | if (flight==1) { |
Nerosho | 1:a8772ca26d1b | 40 | wait(2); |
Nerosho | 0:d0f3991839ec | 41 | } |
Nerosho | 0:d0f3991839ec | 42 | |
Nerosho | 1:a8772ca26d1b | 43 | else { |
Nerosho | 2:d6dc5c2224cc | 44 | //fprintf(fp1, "Fire!!\r\n"); |
Nerosho | 1:a8772ca26d1b | 45 | //FIRE=1; |
Nerosho | 2:d6dc5c2224cc | 46 | myled=1;//テストようにLED光らせてる |
Nerosho | 2:d6dc5c2224cc | 47 | wait(5);//溶断にかかる時間TBD秒 |
Nerosho | 2:d6dc5c2224cc | 48 | //FIRE=0; |
Nerosho | 1:a8772ca26d1b | 49 | myled=0; |
Nerosho | 1:a8772ca26d1b | 50 | break; |
Nerosho | 1:a8772ca26d1b | 51 | } |
Nerosho | 1:a8772ca26d1b | 52 | } |
Nerosho | 0:d0f3991839ec | 53 | |
Nerosho | 1:a8772ca26d1b | 54 | |
Nerosho | 0:d0f3991839ec | 55 | |
Nerosho | 2:d6dc5c2224cc | 56 | gps.baud(9600); |
Nerosho | 2:d6dc5c2224cc | 57 | char recvGPS=0; |
Nerosho | 2:d6dc5c2224cc | 58 | char getGPS[128]; |
Nerosho | 2:d6dc5c2224cc | 59 | int i=0; |
Nerosho | 2:d6dc5c2224cc | 60 | |
Nerosho | 2:d6dc5c2224cc | 61 | //fprintf(fp1, "GPS start!\r\n"); |
Nerosho | 2:d6dc5c2224cc | 62 | |
Nerosho | 0:d0f3991839ec | 63 | |
Nerosho | 0:d0f3991839ec | 64 | |
Nerosho | 0:d0f3991839ec | 65 | |
Nerosho | 2:d6dc5c2224cc | 66 | while(1) { |
Nerosho | 2:d6dc5c2224cc | 67 | if(gps.readable()) { |
Nerosho | 2:d6dc5c2224cc | 68 | |
Nerosho | 2:d6dc5c2224cc | 69 | |
Nerosho | 2:d6dc5c2224cc | 70 | recvGPS=gps.getc(); |
Nerosho | 2:d6dc5c2224cc | 71 | getGPS[i]=recvGPS; |
Nerosho | 2:d6dc5c2224cc | 72 | |
Nerosho | 2:d6dc5c2224cc | 73 | if(getGPS[i]=='\n') { |
Nerosho | 2:d6dc5c2224cc | 74 | |
Nerosho | 2:d6dc5c2224cc | 75 | if((getGPS[5]=='G')&&(getGPS[6]=='A')) { |
Nerosho | 2:d6dc5c2224cc | 76 | |
Nerosho | 2:d6dc5c2224cc | 77 | MuPort.send(getGPS); |
Nerosho | 2:d6dc5c2224cc | 78 | |
Nerosho | 2:d6dc5c2224cc | 79 | /*if(fp == NULL) { |
Nerosho | 2:d6dc5c2224cc | 80 | error("Could not open file for write\n"); |
Nerosho | 2:d6dc5c2224cc | 81 | }*/ |
Nerosho | 2:d6dc5c2224cc | 82 | |
Nerosho | 2:d6dc5c2224cc | 83 | fprintf(fp2, "%s\n",getGPS); |
Nerosho | 2:d6dc5c2224cc | 84 | //fclose(fp); |
Nerosho | 2:d6dc5c2224cc | 85 | wait(1); |
Nerosho | 0:d0f3991839ec | 86 | |
Nerosho | 2:d6dc5c2224cc | 87 | } |
Nerosho | 2:d6dc5c2224cc | 88 | |
Nerosho | 2:d6dc5c2224cc | 89 | i=0; |
Nerosho | 2:d6dc5c2224cc | 90 | |
Nerosho | 2:d6dc5c2224cc | 91 | } |
Nerosho | 2:d6dc5c2224cc | 92 | |
Nerosho | 2:d6dc5c2224cc | 93 | i++; |
Nerosho | 2:d6dc5c2224cc | 94 | |
Nerosho | 2:d6dc5c2224cc | 95 | } |
Nerosho | 2:d6dc5c2224cc | 96 | |
Nerosho | 2:d6dc5c2224cc | 97 | // wait(1); |
Nerosho | 2:d6dc5c2224cc | 98 | //fclose(fp); |
Nerosho | 0:d0f3991839ec | 99 | } |
Nerosho | 2:d6dc5c2224cc | 100 | //fclose(fp1); |
Nerosho | 2:d6dc5c2224cc | 101 | fclose(fp2); |
Nerosho | 2:d6dc5c2224cc | 102 | |
Nerosho | 2:d6dc5c2224cc | 103 | } |
Nerosho | 2:d6dc5c2224cc | 104 | |
Nerosho | 2:d6dc5c2224cc | 105 | |
Nerosho | 2:d6dc5c2224cc | 106 |