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