Commit 1492ad5c authored by 李冠华's avatar 李冠华

feat:增加混动车型Ready指示灯工作逻辑

parent 4d882308
...@@ -445,6 +445,25 @@ void CAN_0x220_Receive(uint8_t CopyData []) ...@@ -445,6 +445,25 @@ void CAN_0x220_Receive(uint8_t CopyData [])
g_KeyCount = 0U; g_KeyCount = 0U;
} }
if ((Get_CAN_CH0_ID_220_Sig_VCU_ReadySts() == 1U) && (g_ReadyStatus == 0U))
{
if (g_ReadyCount < 3U)
{
g_ReadyCount++;
}
}
else if ((Get_CAN_CH0_ID_220_Sig_VCU_ReadySts() == 0U) && (g_ReadyStatus == 1U))
{
if (g_ReadyCount < 3U)
{
g_ReadyCount++;
}
}
else
{
g_ReadyCount = 0U;
}
#endif #endif
} }
...@@ -76,6 +76,8 @@ uint8_t g_SeatStatus = 0U; ...@@ -76,6 +76,8 @@ uint8_t g_SeatStatus = 0U;
uint8_t g_SeatCount = 0U; uint8_t g_SeatCount = 0U;
uint8_t g_KeyStatus = 0U; uint8_t g_KeyStatus = 0U;
uint8_t g_KeyCount = 0U; uint8_t g_KeyCount = 0U;
uint8_t g_ReadyStatus = 0U;
uint8_t g_ReadyCount = 0U;
const LED_Attribute_st LED_Attribute[LED_Max] = const LED_Attribute_st LED_Attribute[LED_Max] =
{ {
/* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */ /* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */
...@@ -130,6 +132,8 @@ void Telltales_Init(void) ...@@ -130,6 +132,8 @@ void Telltales_Init(void)
g_SeatCount = 0U; g_SeatCount = 0U;
g_KeyStatus = 0U; g_KeyStatus = 0U;
g_KeyCount = 0U; g_KeyCount = 0U;
g_ReadyStatus = 0U;
g_ReadyCount = 0U;
Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara); Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara);
} }
...@@ -377,15 +381,29 @@ static void LED_OVERLOAD_Execution(Tellib_uint16_t led_status) ...@@ -377,15 +381,29 @@ static void LED_OVERLOAD_Execution(Tellib_uint16_t led_status)
static Tellib_uint16_t LED_READY_Judgement(void) static Tellib_uint16_t LED_READY_Judgement(void)
{ {
Tellib_uint16_t LED_STATE = 0u; Tellib_uint16_t LED_STATE = 0u;
Tellib_uint8_t Signal1 = Get_CAN_Power_State(); #if (PART_NUMBER == RMR42E_60)
if (Signal1 == READY) Tellib_uint8_t Signal1 = Get_CAN_Power_State();
{ if (Signal1 == READY)
LED_STATE = 1; {
} LED_STATE = 1;
else }
{ else
LED_STATE = 0; {
} LED_STATE = 0;
}
#else
if ((g_ReadyStatus == 0U) && (g_ReadyCount >= 3U))
{
g_ReadyStatus = 1U;
}
else if ((g_ReadyStatus == 1U) && (g_ReadyCount >= 3U))
{
g_ReadyStatus = 0U;
}
LED_STATE = (Tellib_uint16_t) g_ReadyStatus;
#endif
return LED_STATE; return LED_STATE;
} }
static void LED_READY_Execution(Tellib_uint16_t led_status) static void LED_READY_Execution(Tellib_uint16_t led_status)
......
...@@ -57,6 +57,8 @@ extern uint8_t g_SeatStatus; ...@@ -57,6 +57,8 @@ extern uint8_t g_SeatStatus;
extern uint8_t g_SeatCount; extern uint8_t g_SeatCount;
extern uint8_t g_KeyStatus; extern uint8_t g_KeyStatus;
extern uint8_t g_KeyCount; extern uint8_t g_KeyCount;
extern uint8_t g_ReadyStatus;
extern uint8_t g_ReadyCount;
// extern Tellib_uint8_t Auto_Start_Stop ; // extern Tellib_uint8_t Auto_Start_Stop ;
......
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