Commit 810f8c21 authored by hu's avatar hu

增加遗漏功能

parent 92084f75
......@@ -58,7 +58,7 @@ void BL_Init(void)
void BL_Management_service(void)
{
uint8_t Msg;
uint8_t LED_Pos;
uint8_t LED_Pos = 0u;
uint8_t LED_Left;
uint8_t LED_Right;
uint8_t LED_Plus;
......
......@@ -8,11 +8,11 @@
#include "TYW_stdint.h"
#include "DisplaySch_user.h"
#include "DispSch.h"
#include <string.h>
static uint16_t Fuel_CurSeg;
static uint16_t Fuel_CyrStep;
#pragma ghs section bss=".myNonInitArea"
uint8_t FuelSaveData[1024] ;// = {0};
uint16_t FuelSaveLen ;// = 0;
......@@ -117,13 +117,13 @@ void Fuel_User_Sleep_Init(void)
if (FuelSaveLen < 1024)
{
memcpy_new(FuelSaveData, p, FuelSaveLen);
memcpy(FuelSaveData, p, FuelSaveLen);
}
p = GetDrivingRangeSaveData(&DrivingRangeSaveLen);
if (DrivingRangeSaveLen < 1024)
{
memcpy_new(DrivingRangeSaveData, p, DrivingRangeSaveLen);
memcpy(DrivingRangeSaveData, p, DrivingRangeSaveLen);
}
}
/*-------------------------------------------------------------------------
......
......@@ -21,7 +21,7 @@ static struct
static void Data_Voltmeter_2_Gui(void);
static uint16_t Get_VoltFilter(void);
static
/*-------------------------------------------------------------------------
* Function Name : Voltmeter_KL30_Init
* Description :
......
......@@ -628,16 +628,22 @@ uint8_t LED_H_S_A_T_Judgement(void)
{
uint8_t u8Result = 0u;
uint8_t m_Condition1 = 0u;
uint8_t m_Condition2 = 0u;
m_Condition1 = (uint8_t)XXXX;
m_Condition1 = Get_ID_18FDC40B_Sig_HSAYellow_Sta();
m_Condition2 = Get_ID_18F0010B_Sig_HSAGreen_Sta();
if (m_Condition1 == 1u)
{
u8Result = 1u;
u8Result = 2u;
}
else if (m_Condition1 == 2u)
{
u8Result = 2u;
u8Result = FLASH_SYNC_2Hz;
}
else if (m_Condition2 == 1u)
{
u8Result = 3u;
}
else
{
......@@ -650,10 +656,15 @@ void LED_H_S_A_T_Execution(uint8_t led_status)
{
if (led_status == 1u)
{
IS31_CHIP0_CHANNEL28 = 0x00; /*绿灯 灭*/
IS31_CHIP0_CHANNEL29 = LED_BRIGHTNESSY; /*黄灯 亮*/
IS31_CHIP0_CHANNEL29 = LED_BRIGHTNESSY; /*黄灯 闪烁*/
IS31_CHIP0_CHANNEL28 = 0x00u;
}
else if (led_status == 2u)
{
IS31_CHIP0_CHANNEL29 = LED_BRIGHTNESSY; /*黄灯 亮*/
IS31_CHIP0_CHANNEL28 = 0x00; /*绿灯 灭*/
}
else if (led_status == 3u)
{
if (Line_In_Get_Status(LINE_IN_ILLUMINATION))
{
......@@ -663,7 +674,7 @@ void LED_H_S_A_T_Execution(uint8_t led_status)
{
IS31_CHIP0_CHANNEL28 = LED_BRIGHTNESSG; /*绿灯 亮*/
}
IS31_CHIP0_CHANNEL29 = 0x00; /*黄灯 灭*/
IS31_CHIP0_CHANNEL29 = 0x00u; /*黄灯 灭*/
}
else
{
......
......@@ -484,7 +484,16 @@ const st_CANMsgAttribute CAN_MSG_CONST_ARRAY[ID_TOTAL_MAX] =
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x18FDC40Bul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
......@@ -800,24 +809,29 @@ uint8_t Get_ID_18FE4F0B_Sig_VDC_Fully_operational(void)
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18FE4F0B_Msg_Count, 0u) >> 2u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State(void)
uint8_t Get_ID_18F0010B_Sig_ASR_Lamp_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 5u) >> 6u) & 0x03u));
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 0u) >> 0u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_EBS_Amber_Warning_State(void)
uint8_t Get_ID_18F0010B_Sig_ASR_Brake_Control_Active(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 5u) >> 4u) & 0x03u));
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 0u) >> 2u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_ASR_Lamp_State(void)
uint8_t Get_ID_18F0010B_Sig_HSAGreen_Sta(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 0u) >> 0u) & 0x03u));
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 0u) >> 4u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_ASR_Brake_Control_Active(void)
uint8_t Get_ID_18F0010B_Sig_ASR_Offroad_Switch(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 0u) >> 2u) & 0x03u));
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 2u) >> 2u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_ABS_Fully_Operational(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 5u) >> 0u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State(void)
......@@ -825,16 +839,17 @@ uint8_t Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State(void)
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 5u) >> 2u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_ABS_Fully_Operational(void)
uint8_t Get_ID_18F0010B_Sig_EBS_Amber_Warning_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 5u) >> 0u) & 0x03u));
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 5u) >> 4u) & 0x03u));
}
uint8_t Get_ID_18F0010B_Sig_ASR_Offroad_Switch(void)
uint8_t Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 2u) >> 2u) & 0x03u));
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18F0010B_Msg_Count, 5u) >> 6u) & 0x03u));
}
uint8_t Get_ID_CF02F2A_Sig_Relevant_objected_for_AEBS(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg0CF02F2A_Msg_Count, 1u) >> 0u) & 0x07u));
......@@ -1400,6 +1415,16 @@ uint8_t Get_ID_18FEE64A_Sig_TBOX_Year(void)
return ((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18FEE64A_Msg_Count, 5u) >> 0u) & 0xFFu);
}
uint8_t Get_ID_18FDC40B_Sig_HSAYellow_Sta(void)
{
return ((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18FDC40B_Msg_Count, 0u) >> 5u) & 0x07u);
}
uint8_t Get_ID_18ECFFA0_Sig_PRIO(void)
{
return ((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18ECFFA0_Msg_Count, 0u) >> 0u) & 0xFFu);
......@@ -1621,6 +1646,9 @@ uint8_t Co_Can_ConvertSubID(uint32_t MsgID)
case ID_CanMsg18FEE64A_Msg:
u8Result = ID_CanMsg18FEE64A_Msg_Count;
break;
case ID_CanMsg18FDC40B_Msg:
u8Result = ID_CanMsg18FDC40B_Msg_Count;
break;
case ID_CanMsg18FECA00_Msg:
......
......@@ -52,6 +52,7 @@ typedef enum
/*43*/ID_CanMsg18FECAA0_Msg_Count,
/*44*/ID_CanMsg18FF064A_Msg_Count,
/*45*/ID_CanMsg18FEE64A_Msg_Count,
/*46*/ID_CanMsg18FDC40B_Msg_Count,
ID_CanMsg18FECA00_Msg_Count,
ID_CanMsg18FECA10_Msg_Count,
......@@ -139,6 +140,7 @@ extern const st_CAN_SendAttribute st_CANSendAttr[ID_SEND_TOTAL] ;
#define ID_CanMsg18FECAA0_Msg 0x18FECAA0u
#define ID_CanMsg18FF064A_Msg 0x18FF064Au
#define ID_CanMsg18FEE64A_Msg 0x18FEE64Au
#define ID_CanMsg18FDC40B_Msg 0x18FDC40Bu
#define ID_CanMsg18FECA00_Msg 0x18FECA00u
#define ID_CanMsg18FECA10_Msg 0x18FECA10u
......@@ -196,6 +198,7 @@ extern uint8_t Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State(void);
extern uint8_t Get_ID_18F0010B_Sig_EBS_Amber_Warning_State(void);
extern uint8_t Get_ID_18F0010B_Sig_ASR_Lamp_State(void);
extern uint8_t Get_ID_18F0010B_Sig_ASR_Brake_Control_Active(void);
extern uint8_t Get_ID_18F0010B_Sig_HSAGreen_Sta(void);
extern uint8_t Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State(void);
extern uint8_t Get_ID_18F0010B_Sig_ABS_Fully_Operational(void);
extern uint8_t Get_ID_18F0010B_Sig_ASR_Offroad_Switch(void);
......@@ -268,6 +271,7 @@ extern uint8_t Get_ID_18FEE64A_Sig_TBOX_Hours(void);
extern uint8_t Get_ID_18FEE64A_Sig_TBOX_Month(void);
extern uint8_t Get_ID_18FEE64A_Sig_TBOX_Day(void);
extern uint8_t Get_ID_18FEE64A_Sig_TBOX_Year(void);
extern uint8_t Get_ID_18FDC40B_Sig_HSAYellow_Sta(void);
//extern uint32_t Get_ID_18EA0021_Sig_CruiseControl_VehicleSpeedSetup(void);
extern uint8_t Get_ID_0C010305_Sig_Auto_EcoPow(void);
extern uint32_t Get_ID_18FECA03_Sig_SPN(void);
......
......@@ -1108,6 +1108,7 @@ void Can_Set_Buff_18EA0017(uint8_t CopyData[])
void Can_Set_Buff_18EF1817(uint8_t CopyData[])
{
uint8_t Trip_Type = 0u;
uint8_t Engine_Oil_Num_Cup = 0u;
Trip_Type = User_set_Num.Trip_Type ;
......@@ -1143,6 +1144,7 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
}
else
{
/*清空发动机油&滤清器残留距离 (m) 请求*/
if (Common_Get_Can_Engine_Oil_Sta() == 1)
{
CopyData[0] = 0x40;
......@@ -1156,6 +1158,23 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
Common_Set_Can_Engine_Oil_Sta(0);
}
/*上电连续发送五次 发动机油&滤清器警报阈值 (m) 请求*/
else if (Common_Get_Can_Engine_Oil_Num() < 5)
{
Engine_Oil_Num_Cup = Common_Get_Can_Engine_Oil_Num();
Engine_Oil_Num_Cup++;
Common_Set_Can_Engine_Oil_Num(Engine_Oil_Num_Cup);
CopyData[0] = 0x01;
CopyData[1] = 0x30;
CopyData[2] = 0x00;
CopyData[3] = 0x00;
CopyData[4] = 0x00;
CopyData[5] = 0x00;
CopyData[6] = 0xFF;
CopyData[7] = 0xFF;
}
/*正常状态发送数据*/
else
{
/*增加发送5次机制*/
......
......@@ -89,6 +89,7 @@ static uint32_t Menu_FacDea_Time;
static uint32_t OIL_PRESSURE_Time;
uint32_t UdsCanIDSta;
uint32_t Can_Engine_Oil_Num ;
#pragma ghs section bss=".myNonInitArea"
static uint32_t Menu_Off_Time;
......@@ -140,6 +141,7 @@ void Common_DataInit(void)
Set_18EF1718_Msg_Sta = COMMON_InValid;
//Menu_Off_Time = 0x00u;
UdsCanIDSta = 0x00u;
Can_Engine_Oil_Num = 0u;
}
/*以下由各个处理模块按需调用*/
......@@ -934,4 +936,13 @@ uint32_t Common_Get_UdsCanIDSta(void)
uint32_t Common_Get_OIL_PRESSURE_Time(void)
{
return OIL_PRESSURE_Time;
}
void Common_Set_Can_Engine_Oil_Num(uint32_t Val)
{
Can_Engine_Oil_Num = Val;
}
uint32_t Common_Get_Can_Engine_Oil_Num(void)
{
return Can_Engine_Oil_Num;
}
\ No newline at end of file
......@@ -66,4 +66,7 @@ void Common_Set_UdsCanIDSta(uint32_t Val);
uint32_t Common_Get_UdsCanIDSta(void);
uint32_t Common_Get_OIL_PRESSURE_Time(void);
void Common_Set_Can_Engine_Oil_Num(uint32_t Val);
uint32_t Common_Get_Can_Engine_Oil_Num(void);
#endif
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