for baska

Dependencies:   HeptaBattery HeptaTemp SDFileSystem mbed

Fork of Lab3-05_model_program_2 by HEPTA-Sat Training 2017~2018

Committer:
HEPTA
Date:
Wed Aug 08 10:41:54 2018 +0000
Revision:
17:f4fd402f8e93
Parent:
13:a1fa75a002f6
Child:
19:62ab01e42129
simulate satellite program structure

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:bdbd3d6fc5d5 1 #include "mbed.h"
mbed_official 0:bdbd3d6fc5d5 2 #include "SDFileSystem.h"
umeume 2:1c5cdb2c3e0f 3 #include "HeptaBattery.h"
umeume 2:1c5cdb2c3e0f 4
umeume 2:1c5cdb2c3e0f 5 Serial pc(USBTX,USBRX);
HEPTA 9:942eb6e8c117 6 SDFileSystem sd(p5, p6, p7, p8, "sd");
HEPTA 13:a1fa75a002f6 7 HeptaBattery battery(p16,p26);
umeume 2:1c5cdb2c3e0f 8
HEPTA 17:f4fd402f8e93 9 DigitalOut myleds[] = {LED1,LED2,LED3,LED4};;
HEPTA 17:f4fd402f8e93 10
HEPTA 17:f4fd402f8e93 11 int rcmd = 0,cmdflag = 0;
HEPTA 17:f4fd402f8e93 12
HEPTA 17:f4fd402f8e93 13 void commandget()
HEPTA 17:f4fd402f8e93 14 {
HEPTA 17:f4fd402f8e93 15 rcmd=pc.getc();
HEPTA 17:f4fd402f8e93 16 cmdflag = 1;
HEPTA 17:f4fd402f8e93 17 }
HEPTA 17:f4fd402f8e93 18 void receive(int *xrcmd, int *xcmdflag)
HEPTA 17:f4fd402f8e93 19 {
HEPTA 17:f4fd402f8e93 20 pc.attach(commandget,Serial::RxIrq);
HEPTA 17:f4fd402f8e93 21 *xrcmd = rcmd;
HEPTA 17:f4fd402f8e93 22 *xcmdflag = cmdflag;
HEPTA 17:f4fd402f8e93 23 }
HEPTA 17:f4fd402f8e93 24
HEPTA 17:f4fd402f8e93 25 void initialize()
HEPTA 17:f4fd402f8e93 26 {
HEPTA 17:f4fd402f8e93 27 rcmd = 0;
HEPTA 17:f4fd402f8e93 28 cmdflag = 0;
HEPTA 17:f4fd402f8e93 29 }
umeume 5:c5ccb1b07e8f 30
umeume 2:1c5cdb2c3e0f 31 int main()
umeume 2:1c5cdb2c3e0f 32 {
HEPTA 17:f4fd402f8e93 33 pc.baud(9600);
HEPTA 17:f4fd402f8e93 34 float bt;
HEPTA 17:f4fd402f8e93 35 int flag = 0;
HEPTA 17:f4fd402f8e93 36 char str[100];
HEPTA 17:f4fd402f8e93 37 while(1) {
HEPTA 17:f4fd402f8e93 38 battery.vol(&bt);
HEPTA 17:f4fd402f8e93 39 if(bt <= 3.5) {
HEPTA 17:f4fd402f8e93 40 battery.shut_down_regulator();
HEPTA 17:f4fd402f8e93 41 flag = 1;
HEPTA 17:f4fd402f8e93 42 } else {
HEPTA 17:f4fd402f8e93 43 battery.turn_on_regulator();
HEPTA 17:f4fd402f8e93 44 flag = 0;
HEPTA 17:f4fd402f8e93 45 }
HEPTA 17:f4fd402f8e93 46 pc.printf("Vol = %.2f [V]\r\n",bt);
HEPTA 17:f4fd402f8e93 47 if(flag == 1) {
HEPTA 17:f4fd402f8e93 48 pc.printf("Power saving mode ON\r\n");
HEPTA 17:f4fd402f8e93 49 }
HEPTA 17:f4fd402f8e93 50 wait(0.5);
HEPTA 17:f4fd402f8e93 51 receive(&rcmd,&cmdflag);
HEPTA 17:f4fd402f8e93 52 if (cmdflag == 1) {
HEPTA 17:f4fd402f8e93 53 pc.printf("Command Get = %d\r\n",rcmd);
HEPTA 17:f4fd402f8e93 54 if (rcmd == 'a') {
HEPTA 17:f4fd402f8e93 55 for(int i = 0; i < 10; i++) {
HEPTA 17:f4fd402f8e93 56 pc.printf("Count = %d\r\n",i);
HEPTA 17:f4fd402f8e93 57 wait(1.0);
HEPTA 17:f4fd402f8e93 58 }
HEPTA 17:f4fd402f8e93 59 }
HEPTA 17:f4fd402f8e93 60 if (rcmd == 'b') {
HEPTA 17:f4fd402f8e93 61
HEPTA 17:f4fd402f8e93 62
HEPTA 17:f4fd402f8e93 63
HEPTA 17:f4fd402f8e93 64
HEPTA 17:f4fd402f8e93 65
HEPTA 17:f4fd402f8e93 66
HEPTA 17:f4fd402f8e93 67 }
HEPTA 17:f4fd402f8e93 68 initialize();
HEPTA 17:f4fd402f8e93 69 }
HEPTA 17:f4fd402f8e93 70 }
umeume 2:1c5cdb2c3e0f 71 }