for textbook ver.4.4

Dependencies:   mbed

Committer:
MEXT1
Date:
Thu Jul 02 08:53:03 2020 +0000
Revision:
0:6ea3da70c580
Lab1-04_create_satellite_program_step2_Q

Who changed what in which revision?

UserRevisionLine numberNew 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 }