mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 01:43:59 +09:00
- 함수명 수정 : CheckSystem → CheckIgnition - 함수 위치 수정 : RcRequestCheck 함수 위치 수정 : System_Check.c → Drive_Mode.c
202 lines
5.1 KiB
C
202 lines
5.1 KiB
C
#include "System_Check.h"
|
||
#include "can.h"
|
||
#include "Global_Variable.h"
|
||
|
||
/*
|
||
* count = 10 (100ms)
|
||
* count = 50 (500ms)
|
||
* count = 100 (1s)
|
||
*/
|
||
#define count 50
|
||
|
||
|
||
void ACU_Arc_check(void)
|
||
{
|
||
ACU_Arc_check1();
|
||
ACU_Arc_check2();
|
||
ACU_Arc_check3();
|
||
ACU_Arc_check4();
|
||
}
|
||
|
||
|
||
void ACU_Arc_check1(void)
|
||
{
|
||
if(GV_prev_ACU_ECU_Arc == GV_ACU_VCU_counter)
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt++;
|
||
if(GV_ACU_ECU_Arc_ErrCnt >= count) GV_ACU_ECU_Arc_ErrCnt = count;
|
||
if(GV_ACU_ECU_Arc_ErrCnt >= count) GV_ACU_ECU_Fault_Flag = 1;
|
||
else GV_ACU_ECU_Fault_Flag = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt = 0;
|
||
GV_ACU_ECU_Fault_Flag = 0;
|
||
}
|
||
|
||
GV_prev_ACU_ECU_Arc = GV_ACU_VCU_counter;
|
||
}
|
||
|
||
void ACU_Arc_check2(void)
|
||
{
|
||
if(GV_prev_ACU_ECU_Arc1 == GV_ACU_VCU_counter1)
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt1++;
|
||
if(GV_ACU_ECU_Arc_ErrCnt1 >= count) GV_ACU_ECU_Arc_ErrCnt1 = count;
|
||
if(GV_ACU_ECU_Arc_ErrCnt1 >= count) GV_ACU_ECU_Fault_Flag1 = 1;
|
||
else GV_ACU_ECU_Fault_Flag1 = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt1 = 0;
|
||
GV_ACU_ECU_Fault_Flag1 = 0;
|
||
}
|
||
|
||
GV_prev_ACU_ECU_Arc1 = GV_ACU_VCU_counter1;
|
||
}
|
||
|
||
void ACU_Arc_check3(void)
|
||
{
|
||
if(GV_prev_ACU_ECU_Arc2 == GV_ACU_VCU_counter2)
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt2++;
|
||
if(GV_ACU_ECU_Arc_ErrCnt2 >= count) GV_ACU_ECU_Arc_ErrCnt2 = count;
|
||
if(GV_ACU_ECU_Arc_ErrCnt2 >= count) GV_ACU_ECU_Fault_Flag2 = 1;
|
||
else GV_ACU_ECU_Fault_Flag2 = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt2 = 0;
|
||
GV_ACU_ECU_Fault_Flag2 = 0;
|
||
}
|
||
|
||
GV_prev_ACU_ECU_Arc2 = GV_ACU_VCU_counter2;
|
||
}
|
||
|
||
void ACU_Arc_check4(void)
|
||
{
|
||
if(GV_prev_ACU_ECU_Arc3 == GV_ACU_VCU_counter3)
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt3++;
|
||
if(GV_ACU_ECU_Arc_ErrCnt3 >= count) GV_ACU_ECU_Arc_ErrCnt3 = count;
|
||
if(GV_ACU_ECU_Arc_ErrCnt3 >= count) GV_ACU_ECU_Fault_Flag3 = 1;
|
||
else GV_ACU_ECU_Fault_Flag3 = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_ACU_ECU_Arc_ErrCnt3 = 0;
|
||
GV_ACU_ECU_Fault_Flag3 = 0;
|
||
}
|
||
|
||
GV_prev_ACU_ECU_Arc3 = GV_ACU_VCU_counter3;
|
||
}
|
||
|
||
void IDB_Arc_check(void) // Ch2 0x092 5ms
|
||
{
|
||
if(GV_prev_IDB_ECU_Arc == GV_IDB_Arc)
|
||
{
|
||
GV_IDB_ECU_Arc_ErrCnt++;
|
||
if(GV_IDB_ECU_Arc_ErrCnt >= count) GV_IDB_ECU_Arc_ErrCnt = count;
|
||
if(GV_IDB_ECU_Arc_ErrCnt >= count) GV_VCU_RC_IDB_ECU_Fault_Flag = 1;
|
||
else GV_VCU_RC_IDB_ECU_Fault_Flag = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_IDB_ECU_Arc_ErrCnt = 0;
|
||
GV_VCU_RC_IDB_ECU_Fault_Flag = 0;
|
||
}
|
||
|
||
GV_prev_IDB_ECU_Arc = GV_IDB_Arc;
|
||
}
|
||
|
||
void RCU_Arc_check(void) // Ch3 0x093 5ms
|
||
{
|
||
if(GV_prev_RCU_ECU_Arc == GV_RCU_Arc)
|
||
{
|
||
GV_RCU_ECU_Arc_ErrCnt++;
|
||
if(GV_RCU_ECU_Arc_ErrCnt >= count) GV_RCU_ECU_Arc_ErrCnt = count;
|
||
if(GV_RCU_ECU_Arc_ErrCnt >= count) GV_VCU_RC_RCU_ECU_Fault_Flag = 1;
|
||
else GV_VCU_RC_RCU_ECU_Fault_Flag = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_RCU_ECU_Arc_ErrCnt = 0;
|
||
GV_VCU_RC_RCU_ECU_Fault_Flag = 0;
|
||
}
|
||
|
||
GV_prev_RCU_ECU_Arc = GV_RCU_Arc;
|
||
}
|
||
|
||
void RWA1_Arc_check(void) // Ch2 0x072 5ms
|
||
{
|
||
if(GV_prev_RWA1_ECU_Arc == GV_RWA1_Arc)
|
||
{
|
||
GV_RWA1_ECU_Arc_ErrCnt++;
|
||
if(GV_RWA1_ECU_Arc_ErrCnt >= count) GV_RWA1_ECU_Arc_ErrCnt = count;
|
||
if(GV_RWA1_ECU_Arc_ErrCnt >= count) GV_VCU_RC_RWA1_ECU_Fault_Flag = 1;
|
||
else GV_VCU_RC_RWA1_ECU_Fault_Flag = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_RWA1_ECU_Arc_ErrCnt = 0;
|
||
GV_VCU_RC_RWA1_ECU_Fault_Flag = 0;
|
||
}
|
||
|
||
GV_prev_RWA1_ECU_Arc = GV_RWA1_Arc;
|
||
}
|
||
|
||
void RWA2_Arc_check(void) // Ch3 0x072 5ms
|
||
{
|
||
if(GV_prev_RWA2_ECU_Arc == GV_RWA2_Arc)
|
||
{
|
||
GV_RWA2_ECU_Arc_ErrCnt++;
|
||
if(GV_RWA2_ECU_Arc_ErrCnt >= count) GV_RWA2_ECU_Arc_ErrCnt = count;
|
||
if(GV_RWA2_ECU_Arc_ErrCnt >= count) GV_VCU_RC_RWA2_ECU_Fault_Flag = 1;
|
||
else GV_VCU_RC_RWA2_ECU_Fault_Flag = 0;
|
||
}
|
||
else
|
||
{
|
||
GV_RWA2_ECU_Arc_ErrCnt = 0;
|
||
GV_VCU_RC_RWA2_ECU_Fault_Flag = 0;
|
||
}
|
||
|
||
GV_prev_RWA2_ECU_Arc = GV_RWA2_Arc;
|
||
}
|
||
|
||
void ECU_check(void)
|
||
{
|
||
if(GV_RC_VCU_ACU_Fault_Flag == 1 && GV_Act_Fault_Exist) GV_VCU_RC_ACU_Fault_Flag = 1;
|
||
else GV_VCU_RC_ACU_Fault_Flag = 0;
|
||
|
||
if(GV_RC_VCU_MCU_Actuator_Fault_Flag == 1 && GV_Act_Fault_Exist) GV_VCU_RC_MCU_Actuator_Fault_Flag = 1;
|
||
else GV_VCU_RC_MCU_Actuator_Fault_Flag = 0;
|
||
|
||
if(GV_RC_VCU_RWA_Actuator_Fault_Flag == 1 && GV_Act_Fault_Exist) GV_VCU_RC_RWA_Actuator_Fault_Flag = 1;
|
||
else GV_VCU_RC_RWA_Actuator_Fault_Flag = 0;
|
||
|
||
if(GV_ACU_ECU_Fault_Flag == 1 || GV_ACU_ECU_Fault_Flag1 == 1 || GV_ACU_ECU_Fault_Flag2 == 1 || GV_ACU_ECU_Fault_Flag3 == 1)
|
||
GV_ACU_ECU_Fault_Flag_Master = 1;
|
||
else
|
||
GV_ACU_ECU_Fault_Flag_Master = 0;
|
||
}
|
||
|
||
|
||
|
||
void No_signal_RC(void){
|
||
// GV_RC_VCU_counter1_CHECK = 260 <20><><EFBFBD><EFBFBD> <20>ʱ GV_RC_VCU_counter1<72><31> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȸ<><C8B8>
|
||
if(GV_VCU_Drive_Mode == 1 ){
|
||
if(GV_RC_VCU_counter1_CHECK != GV_RC_VCU_ARC){
|
||
GV_RC_VCU_counter1_CHECK = GV_RC_VCU_ARC;
|
||
}else{ // 200ms<6D><73> <20><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD> <20>Ѵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD≯<EFBFBD> -> <20><>ȣ<EFBFBD><C8A3> <20>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> -> <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> <20><>ž (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1><EFBFBD> 20 <20><><EFBFBD><EFBFBD> <20>ؾ<EFBFBD><D8BE><EFBFBD>)
|
||
// GV_Operation_Mode = 2 ;
|
||
GV_RC_ALV_FLAG= 1;
|
||
}
|
||
}else if(GV_VCU_Drive_Mode == 2){
|
||
// <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Ǫ<><C7AA> <20><> - rc <20><><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||
// <20><><EFBFBD><EFBFBD>̺<EFBFBD> ī<><C4AB>Ʈ<EFBFBD><C6AE> <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD> <20><> - <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> <20><>ư <20>ι<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||
if(GV_RC_Emergency_Stop == 1){
|
||
GV_RC_ALV_FLAG= 0;
|
||
}
|
||
}
|
||
}
|