Commit cd94cce0 authored by 李冠华's avatar 李冠华

feat:增加0x170报文回调函数,混动车型增加充电连接指示灯工作策略

parent 5338b113
...@@ -627,7 +627,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = ...@@ -627,7 +627,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
500ul, 500ul,
0x170ul, 0x170ul,
(( void * )0), (( void * )0),
(( void * )0), (CAN_0x170_Receive),
(( void * )0), (( void * )0),
}, },
{ {
......
...@@ -606,5 +606,24 @@ void CAN_0x22F_Receive(uint8_t CopyData []) ...@@ -606,5 +606,24 @@ void CAN_0x22F_Receive(uint8_t CopyData [])
#endif #endif
} }
void CAN_0x170_Receive(uint8_t CopyData [])
{
#if (PART_NUMBER == G54_A01)
uint8_t u8Signal = Get_CAN_CH0_ID_170_Sig_MBMS_TOTALSigCharge();
if ((u8Signal == 1U) && (g_TOTALSigChargeStatus == 0U))
{
g_TOTALSigChargeCount++;
}
else if ((u8Signal == 0U) && (g_TOTALSigChargeStatus == 1U))
{
g_TOTALSigChargeCount++;
}
else
{
g_TOTALSigChargeCount = 0U;
}
#endif
}
...@@ -44,5 +44,6 @@ extern void CAN_0x38E_Receive(uint8_t CopyData []); ...@@ -44,5 +44,6 @@ extern void CAN_0x38E_Receive(uint8_t CopyData []);
extern void CAN_0x220_Receive(uint8_t CopyData []); extern void CAN_0x220_Receive(uint8_t CopyData []);
extern void CAN_0x16B_Receive(uint8_t CopyData []); extern void CAN_0x16B_Receive(uint8_t CopyData []);
extern void CAN_0x22F_Receive(uint8_t CopyData []); extern void CAN_0x22F_Receive(uint8_t CopyData []);
extern void CAN_0x170_Receive(uint8_t CopyData []);
#endif #endif
...@@ -88,6 +88,8 @@ uint8_t g_SysFltLampStatus = 0U; ...@@ -88,6 +88,8 @@ uint8_t g_SysFltLampStatus = 0U;
uint8_t g_SysFltLampCount = 0U; uint8_t g_SysFltLampCount = 0U;
uint8_t g_BmsFltStatus[2] = {0U,0U}; uint8_t g_BmsFltStatus[2] = {0U,0U};
uint8_t g_BmsFltCount[2] = {0U,0U}; uint8_t g_BmsFltCount[2] = {0U,0U};
uint8_t g_TOTALSigChargeStatus = 0U;
uint8_t g_TOTALSigChargeCount = 0U;
const LED_Attribute_st LED_Attribute[LED_Max] = const LED_Attribute_st LED_Attribute[LED_Max] =
{ {
/* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */ /* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */
...@@ -152,6 +154,8 @@ void Telltales_Init(void) ...@@ -152,6 +154,8 @@ void Telltales_Init(void)
g_PtoSwCount = 0U; g_PtoSwCount = 0U;
g_SysFltLampStatus = 0U; g_SysFltLampStatus = 0U;
g_SysFltLampCount = 0U; g_SysFltLampCount = 0U;
g_TOTALSigChargeStatus = 0U;
g_TOTALSigChargeCount = 0U;
Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara); Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara);
} }
...@@ -1127,15 +1131,39 @@ static void LED_Fuel_Alarm_W_Execution(Tellib_uint16_t led_status) ...@@ -1127,15 +1131,39 @@ static void LED_Fuel_Alarm_W_Execution(Tellib_uint16_t led_status)
static Tellib_uint16_t LED_Charging_Connection_R_Judgement(void) static Tellib_uint16_t LED_Charging_Connection_R_Judgement(void)
{ {
Tellib_uint16_t LED_STATE = 0u; Tellib_uint16_t LED_STATE = 0u;
Tellib_uint8_t Signal1 = Get_CAN_Num_MBMS_StatBattChargeState(); #if (PART_NUMBER == RMR42E_60)
if (((Signal1 == 0x1) || (Signal1 == 0x2) || (Signal1 == 0x3)) && ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL))) Tellib_uint8_t Signal1 = Get_CAN_Num_MBMS_StatBattChargeState();
{ if (((Signal1 == 0x1) || (Signal1 == 0x2) || (Signal1 == 0x3)) && ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL)))
LED_STATE = 1; {
} LED_STATE = 1;
else }
{ else
LED_STATE = 0; {
} LED_STATE = 0;
}
#else
Tellib_uint8_t Signal1 = Get_CAN_CH0_ID_220_Sig_VCU_ChgMode();
if (Signal1 == 0x1U)
{
if ((g_TOTALSigChargeStatus == 0U) && (g_TOTALSigChargeCount >= 3U))
{
g_TOTALSigChargeStatus = 1U;
}
else if ((g_TOTALSigChargeStatus == 1U) && (g_TOTALSigChargeCount >= 3U))
{
g_TOTALSigChargeStatus = 0U;
}
LED_STATE = (Tellib_uint16_t) g_TOTALSigChargeStatus;
}
else
{
LED_STATE = 0U;
}
#endif
return LED_STATE; return LED_STATE;
} }
static void LED_Charging_Connection_R_Execution(Tellib_uint16_t led_status) static void LED_Charging_Connection_R_Execution(Tellib_uint16_t led_status)
......
...@@ -69,6 +69,8 @@ extern uint8_t g_SysFltLampStatus; ...@@ -69,6 +69,8 @@ extern uint8_t g_SysFltLampStatus;
extern uint8_t g_SysFltLampCount; extern uint8_t g_SysFltLampCount;
extern uint8_t g_BmsFltStatus[2]; extern uint8_t g_BmsFltStatus[2];
extern uint8_t g_BmsFltCount[2]; extern uint8_t g_BmsFltCount[2];
extern uint8_t g_TOTALSigChargeStatus;
extern uint8_t g_TOTALSigChargeCount;
// extern Tellib_uint8_t Auto_Start_Stop ; // extern Tellib_uint8_t Auto_Start_Stop ;
void Telltales_Init(void); void Telltales_Init(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment