Updated EPS code with flowchart v2.3 (CDMS and HW faults)
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of QM_BAE_review_1_EPS_faults by
Revision 14:a9588f443f1a, committed 2016-04-14
- Comitter:
- lakshya
- Date:
- Thu Apr 14 09:34:06 2016 +0000
- Parent:
- 13:fb7facaf308b
- Child:
- 15:e09aaaccf134
- Commit message:
- QM review 1
Changed in this revision
--- a/BCN.cpp Wed Apr 13 21:48:21 2016 +0000 +++ b/BCN.cpp Thu Apr 14 09:34:06 2016 +0000 @@ -12,7 +12,6 @@ Timeout rf_sl_timeout; Ticker loop; - //GLOBAL VARIABLES uint8_t BCN_INIT_STATUS = 0; uint8_t BCN_TX_MAIN_STATUS = 0; @@ -21,7 +20,6 @@ uint8_t BCN_FEN = 0; //hardcoding for now //write this value to flash uint8_t BCN_STANDBY = 0; //hardcoding for now //check where is this variable toggled?? uint8_t BCN_TS_BUFFER = 0; // For Temperature -uint8_t BCN_FAIL_COUNT=0; void FCTN_BCN_INIT() { @@ -74,7 +72,6 @@ { Set_BCN_TX_STATUS(BCN_TX_FAILURE); BCN_TX_MAIN_STATUS = 0; - BCN_FAIL_COUNT+=1; } } @@ -379,3 +376,12 @@ return 0; } } +/*int main() +{ + FCTN_BCN_INIT(); + + loop.attach(&FCTN_BCN_TX_MAIN, 10.0);//in actual case its 30.0 + + while(1); + +}*/ \ No newline at end of file
--- a/TCTM.cpp Wed Apr 13 21:48:21 2016 +0000 +++ b/TCTM.cpp Thu Apr 14 09:34:06 2016 +0000 @@ -40,7 +40,7 @@ /*given a default value as of now shuld read value from flash and increment it write it back very time it starts(bae)*/ extern uint8_t BAE_RESET_COUNTER=0; -extern uint8_t BCN_FAIL_COUNT; +//extern uint8_t BCN_FAIL_COUNT; extern PwmOut PWM1; //x //Functions used to generate PWM signal extern PwmOut PWM2; //y @@ -165,7 +165,7 @@ telemetry[15] = BAE_STATUS & 0xFF; /*to be fixed*/ - telemetry[16] = BCN_FAIL_COUNT; + //telemetry[16] = BCN_FAIL_COUNT; telemetry[17] = actual_data.power_mode; /*to be fixed*/ uint16_t P_BAE_I2CRX_COUNTER=0; @@ -479,21 +479,21 @@ moment_tc[2] = 0; FCTN_ACS_GENPWM_MAIN(moment_tc); PWM_measured[0] = PWM1.read(); - FCTN_CONVERT_FLOAT(actual_data.current_actual[i],&telemetry[16 + (0*4)]); + FCTN_CONVERT_FLOAT(actual_data.current_actual[5],&telemetry[16 + (0*4)]); FCTN_CONVERT_UINT(M1, &moment_tc[1]); moment_tc[0] = 0; moment_tc[2] = 0; FCTN_ACS_GENPWM_MAIN(moment_tc); PWM_measured[1] = PWM2.read(); - FCTN_CONVERT_FLOAT(actual_data.current_actual[i],&telemetry[16 + (1*4)]); + FCTN_CONVERT_FLOAT(actual_data.current_actual[5],&telemetry[16 + (1*4)]); FCTN_CONVERT_UINT(M2, &moment_tc[2]); moment_tc[0] = 0; moment_tc[1] = 0; FCTN_ACS_GENPWM_MAIN(moment_tc); PWM_measured[2] = PWM3.read(); - FCTN_CONVERT_FLOAT(actual_data.current_actual[i],&telemetry[16 + (2*4)]); + FCTN_CONVERT_FLOAT(actual_data.current_actual[5],&telemetry[16 + (2*4)]); FCTN_CONVERT_FLOAT(PWM_measured[0],&telemetry[4]); //4-7 FCTN_CONVERT_FLOAT(PWM_measured[1],&telemetry[8]); //8-11
--- a/main.cpp Wed Apr 13 21:48:21 2016 +0000 +++ b/main.cpp Thu Apr 14 09:34:06 2016 +0000 @@ -90,14 +90,14 @@ bool pf1check = 0; bool pf2check = 0; bool if1check = 0; -bool if2check = 1; +bool if2check = 0; //*****************************************************Assigning pins******************************************************// DigitalOut ATS1_SW_ENABLE(PTC0); // enable of att sens2 switch DigitalOut ATS2_SW_ENABLE(PTC16); // enable of att sens switch InterruptIn irpt_4m_mstr(PIN38); //I2c interrupt from CDMS DigitalOut irpt_2_mstr(PIN4); //I2C interrupt to CDMS -I2CSlave slave (PIN1,PIN2); +I2CSlave slave (PIN1,PIN2);///pin1 pin2 DigitalOut batt_heat(PIN96); //ATS1_SW_ENABLE = 0; @@ -112,7 +112,7 @@ DigitalIn pf3(PIN83);//Fault Bar for TRXY driver //Interrupt based faults -InterruptIn ir1(PIN73);//Battery Gauge - Alert Bar Signal +//InterruptIn ir1(PIN73);//Battery Gauge - Alert Bar Signal InterruptIn ir2(PIN72);//TRXY Driver TR switch Fault InterruptIn ir3(PIN89);//TRZ Driver Fault Bar InterruptIn ir4(PIN91);//TRZ Driver TR switch Fault @@ -120,6 +120,7 @@ InterruptIn ir6(PIN80);//Beacon- Switch OC bar InterruptIn ir7(PIN42);//Charger IC - Fault Bar + //DigitalOut TRXY_SW_EN(PIN71); //TR XY Switch //DigitalOut DRV_Z_SLP(PIN88); //Sleep pin of driver z //DigitalOut TRZ_SW(PIN40); //TR Z Switch @@ -581,6 +582,7 @@ { actual_data.faultIr_status &=0xFE; }*/ + if (ir2==1) { actual_data.faultIr_status &=0xFD; @@ -604,6 +606,7 @@ { actual_data.faultIr_status &=0xBF; } + } @@ -621,15 +624,17 @@ schedcount = 1; } if(schedcount%1==0) - { - //F_ACS(); + { pc.printf("\nSTATE IS !!!!!! = %x !!\n",ACS_STATE); + pc.printf("\niterp1 !!!!!! = %x !!\n",iterP1); + pc.printf("\niteri2 IS !!!!!! = %x !!\n",iterI2); + F_ACS(); } if(schedcount%2==0) { // F_EPS(); } - if(schedcount%3==0) + if(schedcount%1==0) { F_BCN(); } @@ -766,7 +771,7 @@ //............................// FCTN_ACS_INIT(); // FCTN_EPS_INIT(); - FCTN_BCN_INIT(); + //FCTN_BCN_INIT(); FLAG(); @@ -776,7 +781,7 @@ { pc.printf("\n\r BAE Activated. Testing Version 1.1 \n"); CDMS_RESET = 1; - /* if (BCN_FEN == 0) //dummy implementation + /*if (BCN_FEN == 0) //dummy implementation { pc.printf("\n\r RF silence "); FCTN_BCN_FEN(); @@ -805,12 +810,14 @@ irpt_4m_mstr.enable_irq(); irpt_4m_mstr.rise(&FCTN_I2C_ISR); // ir1.fall(&ir1clear); //Battery Gauge - Alert Bar Signal - //ir2.fall(&ir2clear); //TRXY Driver TR switch Fault - //ir3.fall(&ir3clear); //TRZ Driver Fault Bar - //ir4.fall(&ir4clear); //TRZ Driver TR switch Fault - //ir5.fall(&ir5clear); //CDMS - Switch Fault - //ir6.fall(&ir6clear); //Beacon- Switch OC bar - //ir7.fall(&ir7clear); //Charger IC - Fault Bar + /* ir2.fall(&ir2clear); //TRXY Driver TR switch Fault + ir3.fall(&ir3clear); //TRZ Driver Fault Bar + ir4.fall(&ir4clear); //TRZ Driver TR switch Fault + ir5.fall(&ir5clear); //CDMS - Switch Fault + ir6.fall(&ir6clear); //Beacon- Switch OC bar + ir7.fall(&ir7clear); //Charger IC - Fault Bar + + */ RtosTimer t_sc_timer(T_SC,osTimerPeriodic); // Initiating the scheduler thread t_sc_timer.start(10000); t_start.start();