Commit 78ead314 authored by 李冠华's avatar 李冠华

feat:增加0x220CAN接收回调报文,增加混动车型草满指示灯工作逻辑,删除无用代码

parent 98c25fb6
...@@ -517,7 +517,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = ...@@ -517,7 +517,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
1000ul, 1000ul,
0x220ul, 0x220ul,
(( void * )0), (( void * )0),
(System_Indicator_ON_callback), (CAN_0x220_Receive),
(System_Indicator_OFF_callback), (System_Indicator_OFF_callback),
}, },
{ {
...@@ -722,10 +722,6 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = ...@@ -722,10 +722,6 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
}, },
}; };
void System_Indicator_ON_callback(canlib_uint8_t CopyData[])
{
System_Indicator_CANFlag = 0;
}
void System_Indicator_OFF_callback(canlib_uint8_t CopyData[]) void System_Indicator_OFF_callback(canlib_uint8_t CopyData[])
{ {
System_Indicator_CANFlag = 1; System_Indicator_CANFlag = 1;
......
...@@ -291,7 +291,6 @@ extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID); ...@@ -291,7 +291,6 @@ extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID);
extern uint8_t System_Indicator_CANFlag; extern uint8_t System_Indicator_CANFlag;
void System_Indicator_ON_callback(canlib_uint8_t CopyData []);
void System_Indicator_OFF_callback(canlib_uint8_t CopyData []); void System_Indicator_OFF_callback(canlib_uint8_t CopyData []);
#endif #endif
......
...@@ -383,3 +383,29 @@ void CAN_0x38E_Receive(uint8_t CopyData []) ...@@ -383,3 +383,29 @@ void CAN_0x38E_Receive(uint8_t CopyData [])
#endif #endif
} }
void CAN_0x220_Receive(uint8_t CopyData [])
{
System_Indicator_CANFlag = 0;
#if (PART_NUMBER == G54_A01)
if ((Get_CAN_CH0_ID_220_Sig_VCU_GrassSwSts() == 1U) && (g_GrassSwStatus == 0U))
{
if (g_GrassSwCount < 3U)
{
g_GrassSwCount++;
}
}
else if ((Get_CAN_CH0_ID_220_Sig_VCU_GrassSwSts() == 0U) && (g_GrassSwStatus == 1U))
{
if (g_GrassSwCount < 3U)
{
g_GrassSwCount++;
}
}
else
{
g_GrassSwCount = 0U;
}
#endif
}
...@@ -41,5 +41,6 @@ extern void CAN_0x18E_Receive(uint8_t CopyData []); ...@@ -41,5 +41,6 @@ extern void CAN_0x18E_Receive(uint8_t CopyData []);
extern void CAN_0x225_Receive(uint8_t CopyData []); extern void CAN_0x225_Receive(uint8_t CopyData []);
extern void CAN_0x234_Receive(uint8_t CopyData []); extern void CAN_0x234_Receive(uint8_t CopyData []);
extern void CAN_0x38E_Receive(uint8_t CopyData []); extern void CAN_0x38E_Receive(uint8_t CopyData []);
extern void CAN_0x220_Receive(uint8_t CopyData []);
#endif #endif
...@@ -70,6 +70,9 @@ uint8_t g_VoltLowStatus = 0U; ...@@ -70,6 +70,9 @@ uint8_t g_VoltLowStatus = 0U;
uint8_t g_VoltLowCount = 0U; uint8_t g_VoltLowCount = 0U;
uint8_t g_OverLoadStatus[9] = {0,0,0,0,0,0,0,0,0}; uint8_t g_OverLoadStatus[9] = {0,0,0,0,0,0,0,0,0};
uint8_t g_OverLoadCount[9] = {0,0,0,0,0,0,0,0,0}; uint8_t g_OverLoadCount[9] = {0,0,0,0,0,0,0,0,0};
uint8_t g_GrassSwStatus = 0U;
uint8_t g_GrassSwCount = 0U;
const LED_Attribute_st LED_Attribute[LED_Max] = const LED_Attribute_st LED_Attribute[LED_Max] =
{ {
/* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */ /* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */
...@@ -118,6 +121,8 @@ void Telltales_Init(void) ...@@ -118,6 +121,8 @@ void Telltales_Init(void)
g_EngineOilLowStatus = 0U; g_EngineOilLowStatus = 0U;
g_VoltLowStatus = 0U; g_VoltLowStatus = 0U;
g_VoltLowCount = 0U; g_VoltLowCount = 0U;
g_GrassSwStatus = 0U;
g_GrassSwCount = 0U;
Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara); Telltales_KL30_Wakeup_Init(Tel_Mem, LED_Attribute, &m_ExtPara);
} }
...@@ -270,14 +275,28 @@ static void LED_Oil_Pressure_Execution(Tellib_uint16_t led_status) ...@@ -270,14 +275,28 @@ static void LED_Oil_Pressure_Execution(Tellib_uint16_t led_status)
static Tellib_uint16_t LED_Grass_Full_Judgement(void) static Tellib_uint16_t LED_Grass_Full_Judgement(void)
{ {
Tellib_uint16_t LED_STATE = 0u; Tellib_uint16_t LED_STATE = 0u;
if (Line_In_Get_Status(LINE_IN_GrassFull) && openLED_flag) #if (PART_NUMBER == RMR42E_60)
{ if (Line_In_Get_Status(LINE_IN_GrassFull) && openLED_flag)
LED_STATE = 1; {
} LED_STATE = 1;
else }
{ else
LED_STATE = 0; {
} LED_STATE = 0;
}
#else
if ((g_GrassSwStatus == 0U) && (g_GrassSwCount >= 3U))
{
g_GrassSwStatus = 1U;
}
else if ((g_GrassSwStatus == 1U) && (g_GrassSwCount >= 3U))
{
g_GrassSwStatus = 0U;
}
LED_STATE = (Tellib_uint16_t) g_GrassSwStatus;
#endif
return LED_STATE; return LED_STATE;
} }
static void LED_Grass_Full_Execution(Tellib_uint16_t led_status) static void LED_Grass_Full_Execution(Tellib_uint16_t led_status)
......
...@@ -51,6 +51,8 @@ extern uint8_t g_VoltLowStatus; ...@@ -51,6 +51,8 @@ extern uint8_t g_VoltLowStatus;
extern uint8_t g_VoltLowCount; extern uint8_t g_VoltLowCount;
extern uint8_t g_OverLoadStatus[9]; extern uint8_t g_OverLoadStatus[9];
extern uint8_t g_OverLoadCount[9]; extern uint8_t g_OverLoadCount[9];
extern uint8_t g_GrassSwStatus;
extern uint8_t g_GrassSwCount;
// 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