Commit dd4f68af authored by 高士达's avatar 高士达

Merge branch 'lgh_from_dev' into 'dev'

Lgh from dev

See merge request !30
parents 360f1dbc 8617a361
......@@ -507,7 +507,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
0x225ul,
(( void * )0),
(CAN_0x225_Receive),
(( void * )0),
(CAN_0x225_Lost_CallBack),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -627,7 +627,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
0x170ul,
(( void * )0),
(CAN_0x170_Receive),
(( void * )0),
(CAN_0x170_Lost_CallBack),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -637,7 +637,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
0x16Bul,
(( void * )0),
(CAN_0x16B_Receive),
(( void * )0),
(CAN_0x16B_Lost_CallBack),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -667,7 +667,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
0x234ul,
(( void * )0),
(CAN_0x234_Receive),
(( void * )0),
(CAN_0x234_Lost_CallBack),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -677,7 +677,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
0x22Ful,
(( void * )0),
(CAN_0x22F_Receive),
(( void * )0),
(CAN_0x22F_Lost_CallBack),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -687,7 +687,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
0x18Eul,
(( void * )0),
(CAN_0x18E_Receive),
(( void * )0),
(CAN_0x18E_Lost_CallBack),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -707,7 +707,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
0x38Eul,
(( void * )0),
(CAN_0x38E_Receive),
(( void * )0),
(CAN_0x38E_Lost_CallBack),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
......@@ -731,6 +731,12 @@ void System_Indicator_OFF_callback(canlib_uint8_t CopyData[])
{
LED_Driver_Channel_Set(LampChannel_0, i, LED_OFF);
}
g_GrassSwCount = 0U;
g_SeatCount = 0U;
g_KeyCount = 0U;
g_ReadyCount = 0U;
g_PtoSwCount = 0U;
g_SysFltLampCount = 0U;
}
uint8_t Get_CAN_CH0_ID_225_Sig_VCU_VoltLow(void)
......
......@@ -279,12 +279,18 @@ uint8_t Get_CAN_Power_State(void)
void CAN_0x18E_Receive(uint8_t CopyData [])
{
if((Fuel.FuelSeg != Fuel.FuelSegDis) && (Fuel.FuelStatusCount >= 3U))
Fuel.FuelSeg = Get_CAN_CH0_ID_18E_Sig_EMS_FuelRemainLevel();
Fuel.FuelValid = 1U;
if (Fuel.FuelSeg > 8U)
{
Fuel.FuelSeg = 8U;
}
if((Fuel.FuelSeg != Fuel.FuelSegDis) && (Fuel.FuelStatusCount >= 2U))
{
Fuel.FuelSegDis = Fuel.FuelSeg;
Fuel.FuelStatusCount = 0U;
}
else if((Fuel.FuelSeg != Fuel.FuelSegDis) && (Fuel.FuelStatusCount < 3U))
else if((Fuel.FuelSeg != Fuel.FuelSegDis) && (Fuel.FuelStatusCount < 2U))
{
Fuel.FuelStatusCount ++;
}
......@@ -672,3 +678,46 @@ void CAN_0x17A_Receive(uint8_t CopyData [])
{
g_Msg0x17AFlag = 1U;
}
void CAN_0x18E_Lost_CallBack(uint8_t CopyData [])
{
Fuel.FuelStatusCount = 0U;
}
void CAN_0x225_Lost_CallBack(uint8_t CopyData [])
{
g_u8EmsFltLv3Count = 0U;
g_VoltLowCount = 0U;
g_BmsFltCount[0] = 0U;
g_BmsFltCount[1] = 0U;
}
void CAN_0x234_Lost_CallBack(uint8_t CopyData [])
{
g_EngineOilLowCount = 0U;
}
void CAN_0x38E_Lost_CallBack(uint8_t CopyData [])
{
for(uint8_t i = 0U; i < 9U; i++)
{
g_OverLoadCount[i] = 0U;
}
}
void CAN_0x16B_Lost_CallBack(uint8_t CopyData [])
{
g_ChgModeCount = 0U;
}
void CAN_0x22F_Lost_CallBack(uint8_t CopyData [])
{
g_WorkCount = 0U;
}
void CAN_0x170_Lost_CallBack(uint8_t CopyData [])
{
g_TOTALSigChargeCount = 0U;
}
......@@ -48,4 +48,12 @@ extern void CAN_0x170_Receive(uint8_t CopyData []);
extern void CAN_0x339_Receive(uint8_t CopyData []);
extern void CAN_0x17A_Receive(uint8_t CopyData []);
extern void CAN_0x18E_Lost_CallBack(uint8_t CopyData []);
extern void CAN_0x225_Lost_CallBack(uint8_t CopyData []);
extern void CAN_0x234_Lost_CallBack(uint8_t CopyData []);
extern void CAN_0x38E_Lost_CallBack(uint8_t CopyData []);
extern void CAN_0x16B_Lost_CallBack(uint8_t CopyData []);
extern void CAN_0x22F_Lost_CallBack(uint8_t CopyData []);
extern void CAN_0x170_Lost_CallBack(uint8_t CopyData []);
#endif
......@@ -24,12 +24,7 @@ void Data_Fuel_Service(void)
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18E_Msg)) == CAN_SIG_NORMAL)
{
Fuel.FuelSeg = Get_CAN_CH0_ID_18E_Sig_EMS_FuelRemainLevel();
Fuel.FuelValid = 1U;
if (Fuel.FuelSeg > 8U)
{
Fuel.FuelSeg = 8U;
}
}
}
......@@ -64,7 +59,7 @@ uint8_t Get_FuelStatus_Valid(void)
函数名:Get_FuelPilotLamp_Status
功 能:获取燃油指示灯状态函数
参 数:无
返回值:LampStatus 0--熄灭,1--白色,2--黄色,3--黄色闪烁
返回值:LampStatus 0--熄灭,1--黄色,2--白色,3--黄色闪烁
******************************************************************************
注 意:该函数必须每 ms被调用一次
******************************************************************************/
......@@ -74,7 +69,7 @@ uint8_t Get_FuelPilotLamp_Status(void)
if((Fuel.FuelValid == 1U) && (Fuel.FuelSegDis == 1U))
{
LampStatus = 2U;
LampStatus = 1U;
}
else if ((Fuel.FuelValid == 1U) && (Fuel.FuelSegDis == 0U))
{
......@@ -82,7 +77,7 @@ uint8_t Get_FuelPilotLamp_Status(void)
}
else if ((Fuel.FuelValid == 1U) && (Fuel.FuelSegDis > 1U))
{
LampStatus = 1U;
LampStatus = 2U;
}
else
{
......
......@@ -9,6 +9,7 @@ uint8_t g_u8ID339flag = 0U;
void Data_Time_KL30_Init(void)
{
Time.SingleHour = 0U;
Time.SingleHourHistory = 0U;
Time.SingleMin = 0U;
Time.TotalHour = 0U;
Time.SingleValid = 0U;
......@@ -74,6 +75,12 @@ void Data_Time_Single_Working_Hours(void)
Time.SingleHour = (uint8_t)(Time.KeepTimeCount / 3600U);
Time.SingleMin = (uint8_t)((Time.KeepTimeCount % 3600U) / 60U);
Time.SingleValid = 1;
if (Time.SingleHour != Time.SingleHourHistory)
{
/*时钟误差,每小时补偿1s*/
Time.KeepTimeCount ++;
Time.SingleHourHistory = Time.SingleHour;
}
}
else
{
......
......@@ -9,6 +9,7 @@
typedef struct //__attribute__((aligned(4)))
{
uint8_t SingleHour; /*单次计时小时*/
uint8_t SingleHourHistory;/*单次计时小时历史值,用于对比小时数是否变化,补偿时间用*/
uint8_t SingleMin; /*单次计时分钟*/
uint8_t SingleValid; /*单次工作时间有效状态*/
uint32_t TotalHour; /*累计计时小时*/
......
......@@ -117,7 +117,7 @@ const LED_Attribute_st LED_Attribute[LED_Max] =
{em_LED_Fault_Codes_W, NoSelfCheck, ExterNalCheck, LED_IGN_ON, 0u, 1500ul, LED_Fault_Codes_Judgement, LED_Fault_Codes_Execution },
{em_LED_System_Indicator_R, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 1500ul, LED_SystIndicator_R_Judgement, LED_SystIndicator_R_Execution },
{em_LED_P_GEAR_G, NoSelfCheck, ExterNalCheck, LED_IGN_ON, 0u, 1500ul, LED_P_GEAR_G_Judgement, LED_P_GEAR_G_Execution },
{em_LED_Fuel_Alarm_W, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 1500ul, LED_Fuel_Alarm_W_Judgement, LED_Fuel_Alarm_W_Execution },
{em_LED_Fuel_Alarm_W, NoSelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 1500ul, LED_Fuel_Alarm_W_Judgement, LED_Fuel_Alarm_W_Execution },
{em_LED_Charging_Connection_R, SelfCheck, NoExterNalCheck, LED_IGN_ON_OFF, 0u, 1500ul, LED_Charging_Connection_R_Judgement, LED_Charging_Connection_R_Execution },
{em_LED_Power_Battery_Failure_R, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 1500ul, LED_Power_Battery_Failure_R_Judgement, LED_Power_Battery_Failure_R_Execution },
};
......@@ -207,7 +207,7 @@ static Tellib_uint16_t LED_Fuel_Alarm_Judgement(void)
{
if (FLASH_SYNC_1Hz)
{
LED_STATE = 2U;
LED_STATE = 1U;
}
else
{
......@@ -222,16 +222,16 @@ static void LED_Fuel_Alarm_Execution(Tellib_uint16_t led_status)
#if (PART_NUMBER == G54_A01)
if (led_status == 1u)
{
/*点亮灯*/
LED_Driver_Channel_Set(LampChannel_0, LampCh0_23_Fuel_Alarm_Y, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_24_Fuel_Alarm_W, LED_ON);
/*点亮灯*/
LED_Driver_Channel_Set(LampChannel_0, LampCh0_24_Fuel_Alarm_W, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_23_Fuel_Alarm_Y, LED_ON);
SEG_SET_LED_STS(SEG_LED_Fuel_Oil, 1U);
}
else if (led_status == 2u)
{
/*点亮灯*/
LED_Driver_Channel_Set(LampChannel_0, LampCh0_24_Fuel_Alarm_W, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_23_Fuel_Alarm_Y, LED_ON);
/*点亮灯*/
LED_Driver_Channel_Set(LampChannel_0, LampCh0_23_Fuel_Alarm_Y, LED_OFF);
LED_Driver_Channel_Set(LampChannel_0, LampCh0_24_Fuel_Alarm_W, LED_ON);
SEG_SET_LED_STS(SEG_LED_Fuel_Oil, 1U);
}
else
......@@ -495,7 +495,11 @@ static void LED_Seat_Detection_Execution(Tellib_uint16_t led_status)
}
else
{
#if (PART_NUMBER == RMR42E_60)
if (FLASH_SYNC_1Hz && openLED_flag)
#else
if (FLASH_SYNC_1Hz)
#endif
{
LED_Driver_Channel_Set(LampChannel_0, LampCh0_12_Seat_Detection_W, LED_ON);
SEG_SET_LED_STS(SEG_LED_Seat_Detection, 1);
......
......@@ -41,7 +41,7 @@ void Sys_10ms_Tasks(void)
void Sys_20ms_Tasks(void)
{
Data_Fuel_Service();
// Data_Fuel_Service();
}
void Sys_50ms_Tasks(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