HeptaSat

Dependencies:   HEPTA_COM HEPTA_CDH HEPTA_EPS HEPTA_SENSOR mbed

Revision:
27:e587c17f53fe
Parent:
26:220e5f95168a
Child:
28:952078c4ea2d
--- a/main.cpp	Wed Aug 21 18:35:31 2019 +0000
+++ b/main.cpp	Wed Jul 22 02:30:28 2020 +0000
@@ -1,71 +1,76 @@
 #include "mbed.h"
 #include "HEPTA_CDH.h"
 #include "HEPTA_EPS.h"
- 
-Serial pc(USBTX,USBRX);
+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 myleds[] = {LED1,LED2,LED3,LED4};;
+int rcmd = 0,cmdflag = 0; //command variable
  
-int rcmd = 0,cmdflag = 0;
- 
+//getting command and flag
 void commandget()
 {
-    rcmd=pc.getc();
+    rcmd=gs.getc();
     cmdflag = 1;
 }
-void receive(int *xrcmd, int *xcmdflag)
+//interrupting 
+void receive(int rcmd, int cmdflag)
 {
-    pc.attach(commandget,Serial::RxIrq);
-    *xrcmd = rcmd;
-    *xcmdflag = cmdflag;
+    gs.attach(commandget,Serial::RxIrq);
 }
- 
+//initialzing
 void initialize()
 {
     rcmd = 0;
     cmdflag = 0;
+    cond[0] = 0;
 }
- 
-int main()
-{
-    pc.baud(9600);
-    float bt;
-    int flag = 0;
-    char str[100];
-    receive(&rcmd,&cmdflag);
-    while(1) {
-        eps.vol(&bt);
-        if(bt <= 3.5) {
+
+int main() {
+    gs.baud(9600);
+    gs.printf("From Sat : Operation Start...\r\n");
+    int flag = 0;     // condition
+    float sattime=0.0,btvol,temp; //Voltage, Temerature
+    receive(rcmd,cmdflag); //interupting by ground station command
+    
+    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,btvol,temp);
+        //Condition
+        cond[0] = 1;
+        //Power Saving Mode
+        if(btvol <= 3.5) {
             eps.shut_down_regulator();
             flag = 1;
         } else {
             eps.turn_on_regulator();
             flag = 0;
         }
-        pc.printf("Vol = %.2f [V]\r\n",bt);
         if(flag == 1) {
-            pc.printf("Power saving mode ON\r\n");
+            gs.printf("Power saving mode ON\r\n"); 
         }
-        wait(0.5);
+        //Contents of command
         if (cmdflag == 1) {
-            pc.printf("Command Get = %d\r\n",rcmd);
             if (rcmd == 'a') {
-                for(int i = 0; i < 10; i++) {
-                    pc.printf("Count = %d\r\n",i);
-                    wait(1.0);
-                }
+               for(int j=0;j<5;j++){
+                gs.printf("HEPTASAT::Hello World!\r\n");
+                cond[0] = 0;
+                wait(1);
+                cond[0] = 1;
+               }
             }
             if (rcmd == 'b') {
-                
-                
-                
-                
+                //Prease enter your answer in this part
                 
                 
             }
             initialize();
         }
+        //Operation Interval
+        wait(1.0);
+        sattime = sattime+1.0;
     }
+    gs.printf("From Sat : Operation Stop...\r\n");
 }
\ No newline at end of file