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
main.cpp@0:6ea3da70c580, 2020-07-02 (annotated)
- Committer:
- MEXT1
- Date:
- Thu Jul 02 08:53:03 2020 +0000
- Revision:
- 0:6ea3da70c580
- Child:
- 1:ac7b6fd00c0f
Lab1-04_create_satellite_program_step2_Q
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| MEXT1 | 0:6ea3da70c580 | 1 | #include "mbed.h" |
| MEXT1 | 0:6ea3da70c580 | 2 | |
| MEXT1 | 0:6ea3da70c580 | 3 | DigitalOut cond[]={LED1,LED2,LED3,LED4}; |
| MEXT1 | 0:6ea3da70c580 | 4 | Serial gs(USBTX,USBRX); // for ground station |
| MEXT1 | 0:6ea3da70c580 | 5 | int rcmd = 0,cmdflag = 0; //command variable |
| MEXT1 | 0:6ea3da70c580 | 6 | |
| MEXT1 | 0:6ea3da70c580 | 7 | //getting command and flag |
| MEXT1 | 0:6ea3da70c580 | 8 | void commandget() |
| MEXT1 | 0:6ea3da70c580 | 9 | { |
| MEXT1 | 0:6ea3da70c580 | 10 | rcmd=gs.getc(); |
| MEXT1 | 0:6ea3da70c580 | 11 | cmdflag = 1; |
| MEXT1 | 0:6ea3da70c580 | 12 | } |
| MEXT1 | 0:6ea3da70c580 | 13 | //interrupting |
| MEXT1 | 0:6ea3da70c580 | 14 | void receive(int rcmd, int cmdflag) |
| MEXT1 | 0:6ea3da70c580 | 15 | { |
| MEXT1 | 0:6ea3da70c580 | 16 | gs.attach(commandget,Serial::RxIrq); |
| MEXT1 | 0:6ea3da70c580 | 17 | } |
| MEXT1 | 0:6ea3da70c580 | 18 | //initialzing |
| MEXT1 | 0:6ea3da70c580 | 19 | void initialize() |
| MEXT1 | 0:6ea3da70c580 | 20 | { |
| MEXT1 | 0:6ea3da70c580 | 21 | rcmd = 0; |
| MEXT1 | 0:6ea3da70c580 | 22 | cmdflag = 0; |
| MEXT1 | 0:6ea3da70c580 | 23 | cond[0] = 0; |
| MEXT1 | 0:6ea3da70c580 | 24 | } |
| MEXT1 | 0:6ea3da70c580 | 25 | |
| MEXT1 | 0:6ea3da70c580 | 26 | int main() { |
| MEXT1 | 0:6ea3da70c580 | 27 | gs.baud(9600); |
| MEXT1 | 0:6ea3da70c580 | 28 | gs.printf("From Sat : Operation Start...\r\n"); |
| MEXT1 | 0:6ea3da70c580 | 29 | int flag = 0; // condition |
| MEXT1 | 0:6ea3da70c580 | 30 | float sattime=0.0,btvol,temp; //Voltage, Temerature |
| MEXT1 | 0:6ea3da70c580 | 31 | receive(rcmd,cmdflag); //interupting by ground station command |
| MEXT1 | 0:6ea3da70c580 | 32 | for(int i=0; i<100; i++){ |
| MEXT1 | 0:6ea3da70c580 | 33 | //Sensing HK data(dummy) |
| MEXT1 | 0:6ea3da70c580 | 34 | btvol = 3.7; |
| MEXT1 | 0:6ea3da70c580 | 35 | temp = 28.5; |
| MEXT1 | 0:6ea3da70c580 | 36 | |
| MEXT1 | 0:6ea3da70c580 | 37 | //Transmitting HK data |
| MEXT1 | 0:6ea3da70c580 | 38 | gs.printf("HEPTASAT::Condition = %d, Time = %f [s], batVol = %.2f [V],Temp = %.2f [C]\r\n",flag,sattime,btvol,temp); |
| MEXT1 | 0:6ea3da70c580 | 39 | |
| MEXT1 | 0:6ea3da70c580 | 40 | //Condition |
| MEXT1 | 0:6ea3da70c580 | 41 | cond[0] = 1; |
| MEXT1 | 0:6ea3da70c580 | 42 | |
| MEXT1 | 0:6ea3da70c580 | 43 | //Contents of command |
| MEXT1 | 0:6ea3da70c580 | 44 | if (cmdflag == 1) { |
| MEXT1 | 0:6ea3da70c580 | 45 | if (rcmd == 'a') { |
| MEXT1 | 0:6ea3da70c580 | 46 | //Please enter your answer in this part |
| MEXT1 | 0:6ea3da70c580 | 47 | |
| MEXT1 | 0:6ea3da70c580 | 48 | |
| MEXT1 | 0:6ea3da70c580 | 49 | |
| MEXT1 | 0:6ea3da70c580 | 50 | |
| MEXT1 | 0:6ea3da70c580 | 51 | |
| MEXT1 | 0:6ea3da70c580 | 52 | |
| MEXT1 | 0:6ea3da70c580 | 53 | } |
| MEXT1 | 0:6ea3da70c580 | 54 | initialize(); |
| MEXT1 | 0:6ea3da70c580 | 55 | } |
| MEXT1 | 0:6ea3da70c580 | 56 | |
| MEXT1 | 0:6ea3da70c580 | 57 | //Operation Interval |
| MEXT1 | 0:6ea3da70c580 | 58 | wait(1.0); |
| MEXT1 | 0:6ea3da70c580 | 59 | sattime = sattime+1.0; |
| MEXT1 | 0:6ea3da70c580 | 60 | } |
| MEXT1 | 0:6ea3da70c580 | 61 | gs.printf("From Sat : Operation Stop...\r\n"); |
| MEXT1 | 0:6ea3da70c580 | 62 | } |