
Repository for CDMS code
Dependencies: SimpleDMA mbed-rtos mbed eeprom
Fork of COM_MNG_TMTC_SIMPLE by
Revision 229:42624b9a08b4, committed 2016-07-05
- Comitter:
- chaithanyarss
- Date:
- Tue Jul 05 09:35:50 2016 +0000
- Parent:
- 228:335da5b0d3e4
- Child:
- 230:3d52da8826d3
- Commit message:
- testing tcs
Changed in this revision
--- a/CDMS_HK.h Mon Jul 04 23:13:24 2016 +0000 +++ b/CDMS_HK.h Tue Jul 05 09:35:50 2016 +0000 @@ -261,7 +261,7 @@ GPIO_STATUS=(PL_BEE_SW_OC_FAULT)?(GPIO_STATUS)||((uint16_t)(0x1<<5)):(GPIO_STATUS)&(~((uint16_t)(0x1<<5))); //PL_EPS_LATCH_SW_OC_FAULT // to be verified GPIO_STATUS=(PL_EPS_LATCH_SW_OC_FAULT)?(GPIO_STATUS)||((uint16_t)(0x1<<4)):(GPIO_STATUS)&(~((uint16_t)(0x1<<4))); - + } void VERIFY_COMRX() @@ -342,16 +342,35 @@ void HANDLE_HW_FAULT_PL() { if(PL_STATUS != DEVICE_DISABLED) { - if(PL_STATUS == DEVICE_OC_FAULT) - PL_SW_EN_DS = 0; //Power ON PL - + if(PL_STATUS == DEVICE_OC_FAULT){ + PYLD_DFF_CLK = 0; + PYLD_DFF = 1; // Switching ON PL + wait_us(1); + PYLD_DFF_CLK = 1; + wait_us(1); + PYLD_DFF_CLK = 0; + wait_us(1); + } if(PL_BEE_SW_OC_FAULT == 0) { // if OC Fault - PL_SW_EN_DS = 1; // switching OFF PL + PYLD_DFF_CLK = 0; + PYLD_DFF = 0; //Switching OFF PL + wait_us(1); + PYLD_DFF_CLK = 1; + wait_us(1); + PYLD_DFF_CLK = 0; + wait_us(1); PL_FAULTCOUNT++; PL_STATUS = (PL_FAULTCOUNT == 3)?DEVICE_DISABLED:DEVICE_OC_FAULT; } else { - if(PL_STATUS == DEVICE_OC_FAULT) - PL_SW_EN_DS = 0; //Switching OFF PL + if(PL_STATUS == DEVICE_OC_FAULT){ + PYLD_DFF_CLK = 0; + PYLD_DFF = 0; //Switching OFF PL + wait_us(1); + PYLD_DFF_CLK = 1; + wait_us(1); + PYLD_DFF_CLK = 0; + wait_us(1); + } PL_STATUS = DEVICE_ENABLED; PL_FAULTCOUNT = 0; }
--- a/CDMS_PL.h Mon Jul 04 23:13:24 2016 +0000 +++ b/CDMS_PL.h Tue Jul 05 09:35:50 2016 +0000 @@ -29,10 +29,6 @@ #define UNEXECUTED 0x00000003 //also used as mask for EXEC_STATUS -DigitalOut PYLD_DFF(PIN73); -DigitalOut PYLD_DFF_CLK(PIN65); -DigitalOut PYLD_EPS_DFF_PWR(PIN64); -DigitalOut PYLD_EPS_DFF_PWR_CLK(PIN40); Base_tm* FCTN_CDMS_RLY_TMTC(Base_tc *tc_ptr); // waiting 1us for setup time,hold time and propagation delay
--- a/DefinitionsAndGlobals.h Mon Jul 04 23:13:24 2016 +0000 +++ b/DefinitionsAndGlobals.h Tue Jul 05 09:35:50 2016 +0000 @@ -258,14 +258,22 @@ DigitalIn PL_GPIO_3_STATUS (PIN80); DigitalIn PL_BEE_SW_OC_FAULT (PIN91); DigitalIn PL_EPS_LATCH_SW_OC_FAULT (PIN5); -DigitalIn V_C_EN_STATUS (PIN72); DigitalIn V_D_EN_STATUS (PIN56); DigitalIn SD_OC_FAULT (PIN90); DigitalOut SD_SW_EN_DS (PIN97); DigitalOut BAE_SW_EN_DS (PIN47); -DigitalOut PL_SW_EN_DS (PIN73); +DigitalOut TRXY_PWR_CNTRL (PIN84); +DigitalOut TRZ_PWR_CNTRL (PIN88); + +DigitalOut PYLD_DFF (PIN73); +DigitalOut PYLD_DFF_CLK (PIN65); +DigitalOut PYLD_EPS_DFF_PWR (PIN64); +DigitalOut PYLD_EPS_DFF_PWR_CLK (PIN40); + +DigitalOut RESET_TO_BAE(PIN93); +DigitalOut RESET_TO_PYLD(PIN21); //SD HK uint32_t FSC_CURRENT[6];
--- a/FMS_all.h Mon Jul 04 23:13:24 2016 +0000 +++ b/FMS_all.h Tue Jul 05 09:35:50 2016 +0000 @@ -1,12 +1,17 @@ +//Run processes void P_PL_INIT(); void P_PL_MAIN(); void P_COM_INIT(); void P_CDMS_HK_MAIN(); void P_PL_RCV_SC_DATA(); void P_CDMS_INIT_SD(); + +// Switch ON/OFF functions void CDMS_SD_SW_ON(); void CDMS_SD_SW_OFF(); +void CDMS_RTC_ON(); +void CDMS_RTC_OFF(); void SW_ON_BAE(); void SW_OFF_BAE(); void SW_ON_PL_BEE(); @@ -15,13 +20,24 @@ void SW_OFF_PL_EPS(); void SW_ON_V_A_EN(); void SW_OFF_V_A_EN(); + +// RST functions void RST_SD(); +void SW_RST_BAE(); +void SW_RST_PL_BEE(); void RST_BAE(); void RST_PL_BEE(); +void CDMS_INTERNAL_RESET(); +void SYS_PWR_RESET(); // Have to be decided with EPS team. +void EPS_V_A_EN(); +void EPS_V_C_EN(); + void RST_HK_COUNTER(); uint8_t CDMS_RD_SD_HK(uint8_t *); +uint8_t CDMS_RD_RTC(uint64_t *); +void CDMS_CALIB_RTC(); void CDMS_RESET(); -void CDMS_INTERNAL_RESET(); + void P_PL_INIT() { @@ -30,22 +46,22 @@ void P_PL_MAIN() { - + FCTN_CDMS_PL_MAIN((void *)NULL); } void P_COM_INIT() { - + P_COM_INIT; } void P_CDMS_HK_MAIN() { - //FCTN_CDMS_HK_MAIN(); + FCTN_CDMS_HK_MAIN((void *)NULL); } void P_PL_RCV_SC_DATA() { - + } void P_CDMS_INIT_SD() @@ -55,74 +71,149 @@ void CDMS_SD_SW_ON() { - SD_SW_EN_DS = 0; //powering on SD + SD_SW_EN_DS = 0; } void CDMS_SD_SW_OFF() { - SD_SW_EN_DS = 0; //powering on SD -} - -void SW_ON_BAE() -{ - BAE_SW_EN_DS = 0; //Power ON BAE + SD_SW_EN_DS = 1; } -void SW_OFF_BAE() +void CDMS_RTC_ON() { - BAE_SW_EN_DS = 1; //Switch OFF BAE + } -void SW_ON_PL_BEE() -{ - PL_SW_EN_DS = 0; //Power ON PL -} - -void SW_OFF_PL_BEE() -{ - PL_SW_EN_DS = 1; // switching OFF PL -} - -void SW_ON_PL_EPS() +void CDMS_RTC_OFF() { } +void SW_ON_BAE() +{ + BAE_SW_EN_DS = 0; +} + +void SW_OFF_BAE() +{ + BAE_SW_EN_DS = 1; +} + +void SW_ON_PL_BEE() +{ + PYLD_DFF_CLK = 0;\ + PYLD_DFF = 1;\ + wait_us(1);\ + PYLD_DFF_CLK = 1;\ + wait_us(1);\ + PYLD_DFF_CLK = 0;\ + wait_us(1);\ +} + +void SW_OFF_PL_BEE() +{ + PYLD_DFF_CLK = 0; + PYLD_DFF = 0; + wait_us(1); + PYLD_DFF_CLK = 1; + wait_us(1); + PYLD_DFF_CLK = 0; + wait_us(1); +} + +void SW_ON_PL_EPS() +{ + PYLD_EPS_DFF_PWR_CLK = 0;\ + PYLD_EPS_DFF_PWR = 1;\ + wait_us(1);\ + PYLD_EPS_DFF_PWR_CLK = 1;\ + wait_us(1);\ + PYLD_EPS_DFF_PWR_CLK = 0;\ + wait_us(1);\ +} + void SW_OFF_PL_EPS() { - + PYLD_EPS_DFF_PWR_CLK = 0;\ + PYLD_EPS_DFF_PWR = 0;\ + wait_us(1);\ + PYLD_EPS_DFF_PWR_CLK = 1;\ + wait_us(1);\ + PYLD_EPS_DFF_PWR_CLK = 0;\ + wait_us(1);\ } void SW_ON_V_A_EN() { - + TRXY_PWR_CNTRL = 1; + TRZ_PWR_CNTRL = 1; } void SW_OFF_V_A_EN() { - + TRXY_PWR_CNTRL = 0; + TRZ_PWR_CNTRL = 0; } void RST_SD() { - SD_SW_EN_DS = 1; //switching off SD card + SD_SW_EN_DS = 1; wait_ms(10); SD_SW_EN_DS = 0; - FCTN_CDMS_SD_INIT(); +} + +void SW_RST_BAE() +{ + BAE_SW_EN_DS = 1; + wait_ms(10); + BAE_SW_EN_DS = 0; +} + +void SW_RST_PL_BEE() +{ + PYLD_DFF = 1; + wait_ms(10); + PYLD_DFF = 0; } void RST_BAE() { - BAE_SW_EN_DS = 1; //Switch OFF BAE + RESET_TO_BAE = 1; wait_ms(10); - BAE_SW_EN_DS = 0; //Switch ON BAE + RESET_TO_BAE = 0; } void RST_PL_BEE() { - PL_SW_EN_DS = 1; // switching OFF PL + RESET_TO_PYLD = 1; wait_ms(10); - PL_SW_EN_DS = 0; // Switch ON PL + RESET_TO_PYLD = 0; +} + +void CDMS_INTERNAL_RESET() +{ + NVIC_SystemReset(); +} + +void SYS_PWR_RESET() // Have to be decided with EPS team. +{ + +} + +void EPS_V_A_EN() // This is a reset function +{ + TRXY_PWR_CNTRL = 0; + TRZ_PWR_CNTRL = 0; + wait_ms(10); + TRXY_PWR_CNTRL = 1; + TRZ_PWR_CNTRL = 1; +} + +void EPS_V_C_EN() // This is a reset function +{ + COM_RX_CNTRL = 0; + wait_ms(10); + COM_RX_CNTRL = 1; } void RST_HK_COUNTER()
--- a/RESET_functions.h Mon Jul 04 23:13:24 2016 +0000 +++ b/RESET_functions.h Tue Jul 05 09:35:50 2016 +0000 @@ -1,13 +1,12 @@ -DigitalOut pwr_comrx (PIN72); void RESET_COMRX(); void RESET_RTC(); void RESET_COMRX() { - pwr_comrx = 0; + COM_RX_CNTRL = 0; wait_ms(10); - pwr_comrx =1; + COM_RX_CNTRL =1; } void RESET_RTC()