HEPTA-Sat Training 2022 / Mbed 2 deprecated Lab3-06_create_satellite_program_step3_v

Dependencies:   HEPTA_CDH HEPTA_COM HEPTA_EPS HEPTA_SENSOR mbed

Revision:
29:3d7a0b3a1b8a
Parent:
28:80d6576011e1
Child:
30:c95e6e3f302a
--- a/main.cpp	Sun Nov 14 08:10:45 2021 +0000
+++ b/main.cpp	Sun Nov 14 10:27:21 2021 +0000
@@ -1,17 +1,17 @@
 #include "mbed.h"
 #include "HEPTA_CDH.h"
 #include "HEPTA_EPS.h"
-DigitalOut cond[]={LED1,LED2,LED3,LED4};
-Serial gs(USBTX,USBRX); // for ground station
 HEPTA_CDH cdh(p5, p6, p7, p8, "sd");
 HEPTA_EPS eps(p16,p26);
+DigitalOut condition(LED1);
+Serial gs(USBTX,USBRX,9600);
 Timer sattime;
-int rcmd = 0,cmdflag = 0; //command variable
+int rcmd = 0, cmdflag = 0; //command variable
  
 //getting command and flag
 void commandget()
 {
-    rcmd=gs.getc();
+    rcmd = gs.getc();
     cmdflag = 1;
 }
 //interrupting 
@@ -24,44 +24,53 @@
 {
     rcmd = 0;
     cmdflag = 0;
-    cond[0] = 0;
+    condition = 0;
 }
 
-int main() {
-    gs.baud(9600);
+int main() 
+{
     gs.printf("From Sat : Operation Start...\r\n");
-    int flag = 0;     // condition
-    float btvol,temp; //Voltage, Temerature
+    int flag = 0;      // condition
+    float batvol,temp; //Voltage, Temerature
     sattime.start();
     receive(rcmd,cmdflag); //interupting by ground station command
-    
+    eps.turn_on_regulator();//turn on 3.3V conveter
     for(int i = 0; i < 100; i++) {
-        //Sensing and Transmitting HK data 
-        eps.vol(&btvol);
-        temp = 28.5;
-        gs.printf("HEPTASAT::Condition = %d, Time = %f [s], batVol = %.2f [V],Temp = %.2f [C]\r\n",flag,sattime.read(),btvol,temp);
-        //Condition
-        cond[0] = 1;
-        //Power Saving Mode
-        if(btvol <= 3.5) {
+        //satellite condition led
+        condition = !condition;
+        
+        //senssing HK data(dummy data)
+        eps.vol(&batvol);
+        temp   = 28.5;
+        
+        //Transmitting HK data to Ground Station(GS)
+        gs.printf("HEPTASAT::Condition = %d, Time = %f [s], batVol = %.2f [V],Temp = %.2f [C]\r\n",flag,sattime.read(),batvol,temp);
+        wait_ms(1000);
+        
+        //Power Saving Mode 
+        if(batvol <= 3.5){
             eps.shut_down_regulator();
+            gs.printf("Power saving mode ON\r\n"); 
             flag = 1;
-        } else {
+        } else if((flag == 1) & (batvol > 3.7)) {
             eps.turn_on_regulator();
+            gs.printf("Power saving mode OFF\r\n");
             flag = 0;
         }
-        if(flag == 1) {
-            gs.printf("Power saving mode ON\r\n"); 
-        }
+        
         //Contents of command
         if (cmdflag == 1) {
             if (rcmd == 'a') {
                for(int j=0;j<5;j++){
                 gs.printf("HEPTASAT::Hello World!\r\n");
-                cond[0] = 0;
-                wait(1);
-                cond[0] = 1;
+                condition = 1;
+                wait_ms(1000);
                }
+            }else if(rcmd == 'b') {
+ 
+ 
+ 
+
             }
             initialize();
         }