#include "Data_ADAS.h" #include "CAN_Communication_Matrix.h" //------------------------------------------- //ADAS数据处理 wangboyu //------------------------------------------- //区域4显示逻辑 //------------------------------------------- //344 - 3.3 ADAS显示区域 //------------------------------------------- static struct { uint8_t Gui_WorkshopScope ; uint8_t Gui_LDWS_Left ; uint8_t Gui_LDWS_Right ; }ADASVariable ; static void Data_WorkshopScope_2_Gui(void); static void Data_LDWS_2_Gui(void); /*------------------------------------------------------------------------- * Function Name : ADAS_KL30_Init * Description : * Input : None * Output : None * Return : None * onther : None --------------------------------------------------------------------------*/ void ADAS_KL30_Init(void) { ADASVariable.Gui_WorkshopScope = 0 ; ADASVariable.Gui_LDWS_Left = 0 ; ADASVariable.Gui_LDWS_Right = 0 ; } void ADAS_KL15_ON_Init(void) { } void ADAS_KL15_OFF_Init(void) { } void ADAS_Wakeup_Init(void) { } void ADAS_Sleep_Init(void) { } /*------------------------------------------------------------------------- * Function Name : ADAS_Processing_Service * Description : * Input : None * Output : None * Return : None * onther : None --------------------------------------------------------------------------*/ void ADAS_Processing_Service(void) { Data_WorkshopScope_2_Gui(); Data_LDWS_2_Gui(); } /*------------------------------------------------------------------------- * Function Name : Data_WorkshopScope_2_Gui * Description : 车间范围逻辑处理 * Input : None * Output : None * Return : None * onther : None --------------------------------------------------------------------------*/ static void Data_WorkshopScope_2_Gui(void) { uint8_t u8GuiMode = 0 ; uint8_t Msg_A1_AEBSS = 0 ; uint8_t Msg_2A_AEBSS = 0 ; uint8_t Msg_A0_AEBSS = 0 ; uint8_t Msg_A1_Ro_AEBSS = 0 ; uint8_t Msg_2A_Ro_AEBSS = 0 ; uint8_t Msg_A0_Ro_AEBSS = 0 ; Msg_A1_AEBSS = Get_ID_CF02FA1_Sig_Advanced_Emerg_Braking_Sys_Sta();//Byte1,Bit1‐4 Msg_2A_AEBSS = Get_ID_CF02F2A_Sig_Advanced_Emerg_Braking_Sys_Sta();//Byte1,Bit1‐4 Msg_A0_AEBSS = Get_ID_CF02FA0_Sig_Advanced_Emerg_Braking_Sys_Sta();//Byte1,Bit1‐4 Msg_A1_Ro_AEBSS = Get_ID_CF02FA1_Sig_Relevant_objected_for_AEBS();//Byte2,Bit1‐3 Msg_2A_Ro_AEBSS = Get_ID_CF02F2A_Sig_Relevant_objected_for_AEBS();//Byte2,Bit1‐3 Msg_A0_Ro_AEBSS = Get_ID_CF02FA0_Sig_Relevant_objected_for_AEBS();//Byte2,Bit1‐3 if(Msg_A1_AEBSS == 0x01 || Msg_A1_AEBSS == 0x02 || Msg_A1_AEBSS == 0x0C || Msg_A1_AEBSS == 0x0F ||\ Msg_2A_AEBSS == 0x01 || Msg_2A_AEBSS == 0x02 || Msg_2A_AEBSS == 0x0C || Msg_2A_AEBSS == 0x0F ||\ Msg_A0_AEBSS == 0x01 || Msg_A0_AEBSS == 0x02 || Msg_A0_AEBSS == 0x0C || Msg_A0_AEBSS == 0x0F) \ { u8GuiMode = 0 ; } if(Msg_A1_AEBSS == 0x00 || Msg_A1_AEBSS == 0x04 ||\ Msg_2A_AEBSS == 0x00 || Msg_2A_AEBSS == 0x04 ||\ Msg_A0_AEBSS == 0x00 || Msg_A0_AEBSS == 0x04 \ ) { u8GuiMode = 1 ; } if(((Msg_A1_AEBSS == 0x03)&&(Msg_A1_Ro_AEBSS == 0x00 || Msg_A1_Ro_AEBSS == 0x02))|| \ ((Msg_2A_AEBSS == 0x03)&&(Msg_2A_Ro_AEBSS == 0x00 || Msg_2A_Ro_AEBSS == 0x02))|| \ ((Msg_A0_AEBSS == 0x03)&&(Msg_A0_Ro_AEBSS == 0x00 || Msg_A0_Ro_AEBSS == 0x02)) \ ) { u8GuiMode = 2 ; } if((Msg_A1_AEBSS == 0x03 && Msg_A1_Ro_AEBSS == 0x01)|| \ (Msg_2A_AEBSS == 0x03 && Msg_2A_Ro_AEBSS == 0x01)|| \ (Msg_A0_AEBSS == 0x03 && Msg_A0_Ro_AEBSS == 0x01) \ ) { u8GuiMode = 3 ; } ADASVariable.Gui_WorkshopScope = u8GuiMode ; } /*------------------------------------------------------------------------- * Function Name : Data_LDWS_2_Gui * Description : LDWS逻辑处理 * Input : None * Output : None * Return : None * onther : None --------------------------------------------------------------------------*/ static void Data_LDWS_2_Gui(void) { uint8_t u8Left_GuiMode = 0 ; uint8_t u8Right_GuiMode = 0 ; uint8_t Msg_LDWS = 0 ; uint8_t Msg_Lane_Left = 0 ; uint8_t Msg_Lane_Right = 0 ; uint8_t Msg_Tracking_Left = 0 ; uint8_t Msg_Tracking_Right = 0 ; uint8_t Msg_Departure_Left = 0 ; uint8_t Msg_Departure_Right = 0 ; Msg_LDWS = Get_ID_18FE5BE8_Sig_Lane_Departure_Warning_Sys_Sta(); Msg_Tracking_Left = Get_ID_18FE5BE8_Sig_Lane_Tracking_Status_Left_Side() ; Msg_Tracking_Right = Get_ID_18FE5BE8_Sig_Lane_Tracking_Status_Right_Side() ; Msg_Departure_Left = Get_ID_10F007E8_Sig_Lane_Departure_Imminent_Left() ; Msg_Departure_Right = Get_ID_10F007E8_Sig_Lane_Departure_Imminent_Right() ; if(Msg_LDWS == 0) { u8Left_GuiMode = 1 ; u8Right_GuiMode = 1 ; } else if(Msg_LDWS == 3) { if(Msg_Tracking_Left == 0) { u8Left_GuiMode = 2 ; } else if(Msg_Tracking_Left == 1) { u8Left_GuiMode = 3 ; } else { u8Left_GuiMode = 0u; } if(Msg_Tracking_Right == 0) { u8Right_GuiMode = 2 ; } else if(Msg_Tracking_Right == 1) { u8Right_GuiMode = 3 ; } else { u8Right_GuiMode = 0u ; } } else if(Msg_LDWS == 5) { if(Msg_Departure_Left == 1) { u8Left_GuiMode = 4 ; } else { u8Left_GuiMode = 0u ; } if(Msg_Departure_Right == 1) { u8Right_GuiMode = 4 ; } else { u8Right_GuiMode = 0u ; } } else { u8Left_GuiMode = 0 ; u8Right_GuiMode = 0 ; } ADASVariable.Gui_LDWS_Left = u8Left_GuiMode ; ADASVariable.Gui_LDWS_Right = u8Right_GuiMode ; } /*------------------------------------------------------------------------- * Function Name : Gui_Get_WorkshopScope_DisplayMode * Description : 车间范围显示模式 * Input : None * Output : None * Return : None * onther : 刷图时使用 --------------------------------------------------------------------------*/ uint8_t Gui_Get_WorkshopScope_DisplayMode(void) { uint8_t u8Result = 0 ; u8Result = ADASVariable.Gui_WorkshopScope ; return u8Result ; } /*------------------------------------------------------------------------- * Function Name : Gui_Get_LDWS_DisplayMode * Description : LDWS显示模式_左车线 * Input : None * Output : None * Return : None * onther : 刷图时使用 --------------------------------------------------------------------------*/ uint8_t Gui_Get_LDWS_Left_DisplayMode(void) { uint8_t u8Result = 0 ; u8Result = ADASVariable.Gui_LDWS_Left ; return u8Result ; } /*------------------------------------------------------------------------- * Function Name : Gui_Get_LDWS_Right_DisplayMode * Description : LDWS显示模式_右车线 * Input : None * Output : None * Return : None * onther : 刷图时使用 --------------------------------------------------------------------------*/ uint8_t Gui_Get_LDWS_Right_DisplayMode(void) { uint8_t u8Result = 0 ; u8Result = ADASVariable.Gui_LDWS_Right ; return u8Result ; }