vr1.1
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of CDMS_RTOS_v1_1 by
power.cpp@8:607ae92fa6af, 2015-07-04 (annotated)
- Committer:
- cholletisaik777
- Date:
- Sat Jul 04 08:56:34 2015 +0000
- Revision:
- 8:607ae92fa6af
- Parent:
- 7:c270a9e37290
cdms_rtos_v1_0_3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cholletisaik777 | 7:c270a9e37290 | 1 | #include "mbed.h" |
cholletisaik777 | 7:c270a9e37290 | 2 | #include "pin_config.h" |
cholletisaik777 | 8:607ae92fa6af | 3 | #include "all_funcs.h" |
cholletisaik777 | 7:c270a9e37290 | 4 | |
cholletisaik777 | 7:c270a9e37290 | 5 | #define COMM_TX_EN_PIN PIN64 //COMM receiver enable |
cholletisaik777 | 7:c270a9e37290 | 6 | #define PYLD_EN_PIN PIN73 // Payload switch enable |
cholletisaik777 | 7:c270a9e37290 | 7 | |
cholletisaik777 | 7:c270a9e37290 | 8 | DigitalOut COMM_TX_EN(COMM_TX_EN_PIN); //assuming active high |
cholletisaik777 | 7:c270a9e37290 | 9 | DigitalOut PYLD_EN(PYLD_EN_PIN); //assuming active high |
cholletisaik777 | 7:c270a9e37290 | 10 | |
cholletisaik777 | 7:c270a9e37290 | 11 | void FCTN_POWER_MODE(int SOC) //flag corresponds to the power mode |
cholletisaik777 | 7:c270a9e37290 | 12 | { |
cholletisaik777 | 7:c270a9e37290 | 13 | printf("Entered Power Management \n"); |
cholletisaik777 | 7:c270a9e37290 | 14 | printf("Battery Level %d \n",SOC); |
cholletisaik777 | 7:c270a9e37290 | 15 | // range of battery level is dummy. yet to be fixed |
cholletisaik777 | 7:c270a9e37290 | 16 | if(SOC>=85) |
cholletisaik777 | 7:c270a9e37290 | 17 | { |
cholletisaik777 | 7:c270a9e37290 | 18 | COMM_TX_EN = 1; //high power mode : everything is on |
cholletisaik777 | 7:c270a9e37290 | 19 | PYLD_EN = 1; |
cholletisaik777 | 7:c270a9e37290 | 20 | } |
cholletisaik777 | 7:c270a9e37290 | 21 | else if(SOC<85 && SOC>=70) |
cholletisaik777 | 7:c270a9e37290 | 22 | { |
cholletisaik777 | 7:c270a9e37290 | 23 | COMM_TX_EN = 1; //COMM TX is on |
cholletisaik777 | 7:c270a9e37290 | 24 | PYLD_EN = 1; //payload switch enable |
cholletisaik777 | 7:c270a9e37290 | 25 | } |
cholletisaik777 | 7:c270a9e37290 | 26 | else if(SOC<55 && SOC>=70) |
cholletisaik777 | 7:c270a9e37290 | 27 | { |
cholletisaik777 | 7:c270a9e37290 | 28 | COMM_TX_EN = 1; //COMM TX is off |
cholletisaik777 | 7:c270a9e37290 | 29 | PYLD_EN = 0; //payload switch disable |
cholletisaik777 | 7:c270a9e37290 | 30 | } |
cholletisaik777 | 7:c270a9e37290 | 31 | else if(SOC<40 && SOC>=55) |
cholletisaik777 | 7:c270a9e37290 | 32 | { |
cholletisaik777 | 7:c270a9e37290 | 33 | COMM_TX_EN = 1; //COMM TX is off |
cholletisaik777 | 7:c270a9e37290 | 34 | PYLD_EN = 0; //payload switch disable |
cholletisaik777 | 7:c270a9e37290 | 35 | } |
cholletisaik777 | 7:c270a9e37290 | 36 | |
cholletisaik777 | 7:c270a9e37290 | 37 | |
cholletisaik777 | 7:c270a9e37290 | 38 | } |