HeptaSat

Dependencies:   HEPTA_COM HEPTA_CDH HEPTA_EPS HEPTA_SENSOR mbed

main.cpp

Committer:
HeptaSatTraining2019
Date:
2019-08-21
Revision:
26:220e5f95168a
Parent:
25:ccc5ff675e0c
Child:
27:e587c17f53fe

File content as of revision 26:220e5f95168a:

#include "mbed.h"
#include "HEPTA_CDH.h"
#include "HEPTA_EPS.h"
 
Serial pc(USBTX,USBRX);
HEPTA_CDH cdh(p5, p6, p7, p8, "sd");
HEPTA_EPS eps(p16,p26);
 
DigitalOut myleds[] = {LED1,LED2,LED3,LED4};;
 
int rcmd = 0,cmdflag = 0;
 
void commandget()
{
    rcmd=pc.getc();
    cmdflag = 1;
}
void receive(int *xrcmd, int *xcmdflag)
{
    pc.attach(commandget,Serial::RxIrq);
    *xrcmd = rcmd;
    *xcmdflag = cmdflag;
}
 
void initialize()
{
    rcmd = 0;
    cmdflag = 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) {
            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");
        }
        wait(0.5);
        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);
                }
            }
            if (rcmd == 'b') {
                
                
                
                
                
                
            }
            initialize();
        }
    }
}