#include "Ignition.h" #include "Global_Variable.h" #include "BMS_SOC.h" #include "Low_SOC_mode.h" #include "NO_BCM_SIG.h" #include "can.h" #include "board.h" // BCM ½ÅÈ£ ¹ÝÀÀ ¾øÀ»½Ã ÀÛµ¿ ÇÔ¼ö // 1. ¸ðµç ½ÅÈ£ Àϰý ¾øÀ» ½Ã -> µé¾î¿Â ½ÅÈ£ if ¹® µ¹·Á¼­ °É¸®¸é cnt Áõ°¡ , Á¤ÇÕ¼º ¾È¸ÂÀ¸¸é ¤¤¤¤ // gb.tmr_cnt ÀÌ¿ë, 1ÃÊ µ¿¾È ¿¬°á ¾øÀ» ½Ã, if(gb.tmr_cnt >= (tick_1sec + 1000)) ¹ßµ¿ //GV_Any_Signal_BCM = 0 ÀÌ»ó¹« / 1 Àüü ÀÌ»ó / 2/ 3/ 4/ 5 /6 -> °¢ ½ÅÈ£ ÀÌ»ó // °¢ ½ÅÈ£ ÀÌ»ó ºÎºÐÀº °¢°¢ÀÇ Ç÷¡±×·Î ¼öÁ¤ °¡´É, ÇöÀç ¿ëÀ̼º ¹®Á¦·Î °£·«È÷ ¸¸µç °Í »Ó void ALL_BCM_Signal_Check(void){// task 1sec ¿¡ ³ÖÀ¸¸é µÉµí Any_Signal_BCM(); No_signal_CH0_0x570(); No_signal_CH0_0x580(); No_signal_CH0_0x590(); No_signal_CH0_0x595(); No_signal_CH0_0x585(); // if ¹®À¸·Î GV_BCM_CNT_NOW / GV_CH0_0x570_CNT ºÎºÐÀÌ Á¤ÇØÁø ºñÆ®°ª ÀÌ»ó ¿À¹öÇÃ·Î¿ì ³ªÁö ¾Ê°Ô ¹æ¾î ÄÚµå if(GV_BCM_CNT_NOW>=200){ // 200 ÀÌ»ó ³Ñ¾î°¡¸é °ª ÃʱâÈ­, ´Ù 0À¸·Î ¸¸µé¸é GV_Any_Signal_BCM °É¸± ¼ö ÀÖÀ½ GV_BCM_CNT_NOW =0; GV_CH0_0x570_CNT =1; GV_CH0_0x580_CNT =1; GV_CH0_0x590_CNT =1; GV_CH0_0x595_CNT =1; GV_CH0_0x585_CNT =1; } } void Any_Signal_BCM (void){ GV_BCM_CNT_NOW = GV_CH0_0x570_CNT+GV_CH0_0x580_CNT+GV_CH0_0x590_CNT+GV_CH0_0x595_CNT+GV_CH0_0x585_CNT; if(GV_BCM_CNT_PAST != GV_BCM_CNT_NOW){ GV_BCM_CNT_PAST = GV_BCM_CNT_NOW; }else{ GV_Any_Signal_BCM = 1 ; // ºñ»óÁ¤Áö °¡µ¿ //Emergency_stop_flag = 1; //GV_VCU_RC_Emergency_Stop = 1; } } // 2. °³º°½ÅÈ£ ¾øÀ» ½Ã void No_signal_CH0_0x570 (void){ if(GV_No_signal_CH0_0x570 != GV_CH0_0x570_CNT){ // BCM_CNT ¿¡´Â 1ÃÊÀüÀÇ cnt °ªÀ» ±â·Ï, cnt °ªÀº ÇöÀç »ó½Â GV_No_signal_CH0_0x570 = GV_CH0_0x570_CNT; }else{ // 1Ãʰ¡ Áö³´´Âµ¥µµ µÑ´Ù °°Àº °ªÀ̸é -> ½ÅÈ£°¡ ¾Èµé¾î¿À°í ÀÖÀ½ GV_Any_Signal_BCM = 2 ; } } void No_signal_CH0_0x580 (void){ if(GV_No_signal_CH0_0x580 != GV_CH0_0x580_CNT){ // BCM_CNT ¿¡´Â 1ÃÊÀüÀÇ cnt °ªÀ» ±â·Ï, cnt °ªÀº ÇöÀç »ó½Â GV_No_signal_CH0_0x580 = GV_CH0_0x580_CNT; }else{ // 1Ãʰ¡ Áö³´´Âµ¥µµ µÑ´Ù °°Àº °ªÀ̸é -> ½ÅÈ£°¡ ¾Èµé¾î¿À°í ÀÖÀ½ GV_Any_Signal_BCM = 3 ; } } void No_signal_CH0_0x590 (void){ if(GV_No_signal_CH0_0x590 != GV_CH0_0x590_CNT){ // BCM_CNT ¿¡´Â 1ÃÊÀüÀÇ cnt °ªÀ» ±â·Ï, cnt °ªÀº ÇöÀç »ó½Â GV_No_signal_CH0_0x590 = GV_CH0_0x590_CNT; }else{ // 1Ãʰ¡ Áö³´´Âµ¥µµ µÑ´Ù °°Àº °ªÀ̸é -> ½ÅÈ£°¡ ¾Èµé¾î¿À°í ÀÖÀ½ GV_Any_Signal_BCM = 4 ; } } void No_signal_CH0_0x595 (void){ if(GV_No_signal_CH0_0x595 != GV_CH0_0x595_CNT){ // BCM_CNT ¿¡´Â 1ÃÊÀüÀÇ cnt °ªÀ» ±â·Ï, cnt °ªÀº ÇöÀç »ó½Â GV_No_signal_CH0_0x595 = GV_CH0_0x595_CNT; }else{ // 1Ãʰ¡ Áö³´´Âµ¥µµ µÑ´Ù °°Àº °ªÀ̸é -> ½ÅÈ£°¡ ¾Èµé¾î¿À°í ÀÖÀ½ GV_Any_Signal_BCM = 5 ; } } void No_signal_CH0_0x585 (void){ if(GV_No_signal_CH0_0x585 != GV_CH0_0x585_CNT){ // BCM_CNT ¿¡´Â 1ÃÊÀüÀÇ cnt °ªÀ» ±â·Ï, cnt °ªÀº ÇöÀç »ó½Â GV_No_signal_CH0_0x585 = GV_CH0_0x585_CNT; }else{ // 1Ãʰ¡ Áö³´´Âµ¥µµ µÑ´Ù °°Àº °ªÀ̸é -> ½ÅÈ£°¡ ¾Èµé¾î¿À°í ÀÖÀ½ GV_Any_Signal_BCM = 6 ; } }