Commit 9ab282ee authored by hu's avatar hu

调整胎压匹配功能

parent f9f663b6
......@@ -218,6 +218,14 @@ void Key_Operation_Up(Key_Event_en_t enKeyEvent)
User_set_Num.User_Language--;
}
}
/*胎压匹配界面*/
else if (bCurMenuIDX == _MN_DSP_LEVEL3_4_MENU_5)
{
if (User_set_Num.User_TpmsStatus == 0)
User_set_Num.User_TpmsStatus = 1;
if ((User_set_Num.User_TpmsStatus == 1) && (User_set_Num.User_Tpms < 12))
User_set_Num.User_Tpms++;
}
/*高速路*/
else if (bCurMenuIDX == _MN_DSP_LEVEL4_4_MENU_1)
{
......@@ -517,6 +525,20 @@ void Key_Operation_Down(Key_Event_en_t enKeyEvent)
if (User_set_Num.User_Language < 1)
User_set_Num.User_Language++;
}
/*胎压匹配界面*/
else if (bCurMenuIDX == _MN_DSP_LEVEL3_4_MENU_5)
{
/*if(User_set_Num.User_TpmsStatus == 0)
{
if(User_set_Num.User_Par_Temp == 0)
User_set_Num.User_Par_Temp = 1;
else
User_set_Num.User_Par_Temp = 0;
}
else */
if ((User_set_Num.User_TpmsStatus == 1) && (User_set_Num.User_Tpms > 1))
User_set_Num.User_Tpms--;
}
/*高速路*/
else if (bCurMenuIDX == _MN_DSP_LEVEL4_4_MENU_1)
{
......@@ -673,6 +695,12 @@ void Key_Operation_Enter(Key_Event_en_t enKeyEvent)
/*轮胎匹配界面*/
else if (bCurMenuIDX == _MN_DSP_LEVEL3_4_MENU_5)
{
if (User_set_Num.User_TpmsStatus == 1)
{
User_set_Num.User_TpmsStatus = 2; /*匹配轮胎*/
User_set_Num.User_TpmsSend = 3; /*报文外发状态*/
User_set_Num.User_Temp_Return = 0; /*清空取消标记位*/
}
}
/*Go Return*/
else if (bCurMenuIDX == _MN_DSP_ENTER_MENU)
......@@ -778,7 +806,7 @@ void Key_Operation_Return(Key_Event_en_t enKeyEvent)
if (User_set_Num.User_Temp_Return == 0)
{
User_set_Num.User_Temp_Return = 1; /*取消配对标记*/
User_set_Num.User_TpmsSend = 3; /*报文外发次数*/
User_set_Num.User_TpmsSend = 3; /*报文外发状态*/
}
else
{
......
......@@ -15,8 +15,8 @@ const st_CAN_SendAttribute st_CANSendAttr[ID_SEND_TOTAL] =
{0x18FF2A17ul, 2000ul * 1000ul, 19ul, 0u, MSG_EXT, 10u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF2A17, (void *)0},
{0x18FF9D17ul, 100ul * 1000ul, 23ul, 0u, MSG_EXT, 11u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18FF9D17, (void *)0},
{0x18FFE517ul, 1000ul * 1000ul, 29ul, 0u, MSG_EXT, 12u, 8u, CAN_MSG_TX_CYCKE_EVENT, Can_Set_Buff_18FFE517, (void *)0},
{0x18EF2D17ul, 1000ul * 1000ul, 31ul, 0u, MSG_EXT, 13u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18EF2D17, (void *)0},
{0x18033317ul, 100ul * 1000ul, 34ul, 0u, MSG_EXT, 14u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18033317, (void *)0},
//{0x18EF2D17ul, 1000ul * 1000ul, 31ul, 0u, MSG_EXT, 13u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_18EF2D17, (void *)0},
{0x18033317ul, 100ul * 1000ul, 34ul, 0u, MSG_EXT, 14u, 8u, CAN_MSG_TX_CYCKE_EVENT, Can_Set_Buff_18033317, (void *)0},
{0x180433A2ul, 100ul * 1000ul, 47ul, 0u, MSG_EXT, 15u, 8u, CAN_MSG_TX_CYCLE, Can_Set_Buff_180433A2, (void *)0},
};
......@@ -419,7 +419,7 @@ const st_CANMsgAttribute CAN_MSG_CONST_ARRAY[ID_TOTAL_MAX] =
5000ul,
0x18021733ul,
(( void * )0),
(( void * )0),
(MSG_18021733_REC_COPY),
(( void * )0),
},
{
......@@ -964,11 +964,6 @@ uint32_t Get_ID_18EA0021_Sig_CruiseControl_VehicleSpeedSetup(void)
((uint32_t)((uint32_t)CAN_MSG_Read(ID_CanMsg18EA0021_Msg_Count, 0u) >> 0u) & 0xFFu));
}
uint8_t Get_ID_18021733_Sig_Setup_cmd(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg18021733_Msg_Count, 0u) >> 0u) & 0xFFu));
}
uint8_t Get_ID_0C010305_Sig_Auto_EcoPow(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(ID_CanMsg0C010305_Msg_Count, 5u) >> 2u) & 0x03u));
......
......@@ -64,7 +64,7 @@ typedef enum
MSGID_18FF2A17,
MSGID_18FF9D17,
MSGID_18FFE517,
MSGID_18EF2D17,
//MSGID_18EF2D17,
MSGID_18033317,
MSGID_180433A2,
......@@ -220,7 +220,6 @@ extern uint8_t Get_ID_18FD7C00_Sig_DPF_Lamp_Status_Amber(void);
extern uint8_t Get_ID_18FECAE8_Sig_Amber_Warning_Lamp_Status(void);
extern uint8_t Get_ID_18FEED00_Sig_Maximum_Vehicle_Speed_Limit(void);
extern uint32_t Get_ID_18EA0021_Sig_CruiseControl_VehicleSpeedSetup(void);
extern uint8_t Get_ID_18021733_Sig_Setup_cmd(void);
extern uint8_t Get_ID_0C010305_Sig_Auto_EcoPow(void);
extern uint32_t Get_ID_18FECA03_Sig_SPN(void);
extern uint8_t Get_ID_18FECA03_Sig_FMI(void);
......
......@@ -17,9 +17,13 @@
#include "Data_Fuel_User.h"
#include "Line_in.h"
#include "Menu.h"
static uint8_t User_BCM_Flag;
uint8_t TpmsMsg18033317SendFlag = 0;
uint8_t Msg_18021733[8];
/*---------------------------------------------------------------------------
使用しない Byte、bit に関しては全て 1(B)をセットして出力すること
对于不使用的Byte、bit,全部设置1(B)并输出
......@@ -135,7 +139,7 @@ void Can_Set_Buff_18FF3E17(uint8_t CopyData[])
uint8_t TURN_L_Lamp_Status = 0u;
uint8_t DstWarnVolume_Set = 0u;
CopyData[0] = (uint8_t)((Pulse_Correction_Facor)&0xFFu); /* 1 */
CopyData[0] = (uint8_t)((Pulse_Correction_Facor) & 0xFFu); /* 1 */
CopyData[1] = (uint8_t)((Pulse_Correction_Facor >> 8u) & 0xFFu); /* 2 */
CopyData[2] = (uint8_t)(((SW_PTO << 7u) & 0x80u) |
((AEBS_ON_OFF_Info << 4u) & 0x30u) |
......@@ -546,7 +550,7 @@ void Can_Set_Buff_18EF2D17(uint8_t CopyData[])
}
/*-------------------------------------------------------------------------
* Function Name : Can_Set_Buff_18033317
* Description :
* Description : 胎压匹配外发报文 事件型
* Input : None 18033317
* Output : None
* Return : None
......@@ -556,10 +560,57 @@ void Can_Set_Buff_18033317(uint8_t CopyData[])
{
uint8_t Pair_cmd = 0u;
Pair_cmd = 0u;
if (User_set_Num.User_TpmsStatus == 2)
{
CopyData[0] = 0x61u;
switch (User_set_Num.User_Tpms)
{
case 1 :
CopyData[1] = 0x12;
break;
case 2 :
CopyData[1] = 0x13;
break;
case 3 :
CopyData[1] = 0x22;
break;
case 4 :
CopyData[1] = 0x23;
break;
case 5 :
CopyData[1] = 0x31;
break;
case 6 :
CopyData[1] = 0x32;
break;
case 7 :
CopyData[1] = 0x33;
break;
case 8 :
CopyData[1] = 0x34;
break;
case 9 :
CopyData[1] = 0x41;
break;
case 10 :
CopyData[1] = 0x42;
break;
case 11 :
CopyData[1] = 0x43;
break;
case 12 :
CopyData[1] = 0x44;
break;
default :
break ;
}
}
else
{
CopyData[0] = 0x91; /* 1 */
CopyData[1] = 0u; /* 2 */
}
CopyData[0] = (uint8_t)(Pair_cmd & 0xFFu); /* 1 */
CopyData[1] = 0u; /* 2 */
CopyData[2] = 0u; /* 3 */
CopyData[3] = 0u; /* 4 */
CopyData[4] = 0u; /* 5 */
......@@ -567,6 +618,14 @@ void Can_Set_Buff_18033317(uint8_t CopyData[])
CopyData[6] = 0u; /* 7 */
CopyData[7] = 0u; /* 8 */
}
void Id18033317_Send_Service(void)
{
if (User_set_Num.User_TpmsSend == 3u)
{
Can_Msg_Tx_Overwrite(MSGID_18033317, 3u, 50 * 1000);
User_set_Num.User_TpmsSend = 0u;
}
}
/*-------------------------------------------------------------------------
* Function Name : Can_Set_Buff_180433A2
* Description :
......@@ -908,6 +967,113 @@ void Drive_Info_IC1_STATUS_Rx(void)
#endif
}
void Drive_Info_IC3_STATUS_Rx(void)
{
if (bCurMenuIDX != _MN_DSP_LEVEL3_4_MENU_5)
{
if (TPMS_Matching.FLAG == 1)
return;
TPMS_Matching.T01 = 0u;
TPMS_Matching.T02 = 0u;
TPMS_Matching.T03 = 0u;
TPMS_Matching.T04 = 0u;
TPMS_Matching.T05 = 0u;
TPMS_Matching.T06 = 0u;
TPMS_Matching.T07 = 0u;
TPMS_Matching.T08 = 0u;
TPMS_Matching.T09 = 0u;
TPMS_Matching.T10 = 0u;
TPMS_Matching.T11 = 0u;
TPMS_Matching.T12 = 0u;
TPMS_Matching.FLAG = 1u;
}
if ((Msg_18021733[0] == 0x61) && (Common_Get_TPMS_TEST_OFF_Time_Sta() == 0))
{
TPMS_Matching.FLAG = 0;
Msg_18021733[0] = 0;
if ((User_set_Num.User_TpmsStatus == 2) && (User_set_Num.User_TpmsSend == 0))
{
switch (User_set_Num.User_Tpms)
{
case 1:
TPMS_Matching.T01 = 1;
break;
case 2:
TPMS_Matching.T02 = 1;
break;
case 3:
TPMS_Matching.T03 = 1;
break;
case 4:
TPMS_Matching.T04 = 1;
break;
case 5:
TPMS_Matching.T05 = 1;
break;
case 6:
TPMS_Matching.T06 = 1;
break;
case 7:
TPMS_Matching.T07 = 1;
break;
case 8:
TPMS_Matching.T08 = 1;
break;
case 9:
TPMS_Matching.T09 = 1;
break;
case 10:
TPMS_Matching.T10 = 1;
break;
case 11:
TPMS_Matching.T11 = 1;
break;
case 12:
TPMS_Matching.T12 = 1;
break;
default:
break;
}
User_set_Num.User_Tpms ++;
if (User_set_Num.User_Tpms == 0x0d)
User_set_Num.User_TpmsStatus = 0;
else
User_set_Num.User_TpmsStatus = 1;
}
}
else if ((Msg_18021733[0] == 0xFF) && (Msg_18021733[1] == 0x06))
{
TPMS_Matching.FLAG = 0;
Msg_18021733[0] = 0;
Msg_18021733[1] = 0;
User_set_Num.User_TpmsStatus = 1;
}
else if (Common_Get_TPMS_TEST_OFF_Time_Sta() == 1u)
{
TPMS_Matching.FLAG = 0;
Msg_18021733[0] = 0;
Msg_18021733[1] = 0;
User_set_Num.User_TpmsStatus = 1;
}
}
void MSG_18021733_REC_COPY(uint8_t copy[])
{
uint8_t i = 0u;
for (i = 0u; i < 8u; i++)
{
Msg_18021733[i] = copy[i];
}
}
/*-------------------------------------------------------------------------
* Function Name : Common_Data_Get_TripA_Fuel
* Description :
......
......@@ -49,6 +49,7 @@ extern void Can_Set_Buff_18033317(uint8_t CopyData[]);
extern void Can_Set_Buff_180433A2(uint8_t CopyData[]);
void Drive_Info_IC1_STATUS_Rx(void);
void Drive_Info_IC3_STATUS_Rx(void);
uint32_t Common_Data_Get_TripA_Fuel(void);
uint32_t Common_Data_Get_TripA_Average_Speed(void);
......@@ -56,5 +57,8 @@ uint32_t Common_Data_Get_TripB_Fuel(void);
uint32_t Common_Data_Get_TripB_Average_Speed(void);
void Id18EF1817_Send_Service(void);
void Id18033317_Send_Service(void);
void MSG_18021733_REC_COPY(uint8_t copy[]);
#endif
\ No newline at end of file
......@@ -186,6 +186,8 @@ void GUI_Display_Value_Init(void)
User_set_Num.User_DLZXY = User_App.User_DLZXY ;
User_set_Num.User_LT = User_App.User_LT ;
User_set_Num.User_Tpms = 0u;
/*用户设定*/
User_set_Num.User_Language = User_App.User_Language;
User_set_Num.User_Company = User_App.User_Company ;
......
......@@ -1269,13 +1269,23 @@ void Level3_4Menu_4Do_7(void)
void Level3_4Menu_4Exit_7(void)
{}
/*----三级菜单----省油建议----系列子菜单*/
/*----三级菜单----TPMS轮胎设定----系列子菜单*/
/*TPMS 轮胎设定*/
void Level3_4Menu_5Enter(void)
{}
{
User_set_Num.User_Tpms = 0 ; /*当前是哪个轮子*/
User_set_Num.User_TpmsStatus = 0 ; /*当前胎压匹配界面状态*/
User_set_Num.User_Temp_Return = 0 ; /*取消胎压匹配*/
}
void Level3_4Menu_5Do(void)
{
GUI_BG_TPMS_PictureSet_Display(GUI_DISP_MODE_NORMAL);
/*匹配完成,调整配置界面*/
if (User_set_Num.User_Tpms == 0x0du)
{
NextMenu(MenuOptTab[bCurMenuIDX].VK_IDX_EXIT);
}
}
void Level3_4Menu_5Exit(void)
{}
......
......@@ -58,29 +58,31 @@ static void Individual_ECU_Communication(void);
_EOL_K_LINE_SET K_Line_Set;
/**/
static uint16_t User_FDJYLQQ_Time;
static uint16_t User_RYLQQ_Time;
static uint16_t User_BSXY_Time;
static uint16_t User_CSQY_Time;
static uint16_t User_LHQY_Time;
static uint16_t User_KQGZJ_Time;
static uint16_t User_DLZXY_Time;
static uint16_t User_LT_Time;
static uint16_t CRUISE_1_Time;
static uint16_t CRUISE_STUDY_Time;
static uint16_t CRUISE_SLD1_Time;
static uint16_t CRUISE_SLD2_Time;
static uint16_t VolWarning_Time;
static uint16_t LOW_VOLTAGE_TIME1;
static uint16_t LOW_VOLTAGE_TIME2;
static uint16_t HIGH_VOLTAGE_TIME1;
static uint16_t HIGH_VOLTAGE_TIME2;
static uint16_t HIGH_VOLTAGE;
static uint16_t LOW_VOLTAGE;
static uint32_t User_FDJYLQQ_Time;
static uint32_t User_RYLQQ_Time;
static uint32_t User_BSXY_Time;
static uint32_t User_CSQY_Time;
static uint32_t User_LHQY_Time;
static uint32_t User_KQGZJ_Time;
static uint32_t User_DLZXY_Time;
static uint32_t User_LT_Time;
static uint32_t CRUISE_1_Time;
static uint32_t CRUISE_STUDY_Time;
static uint32_t CRUISE_SLD1_Time;
static uint32_t CRUISE_SLD2_Time;
static uint32_t VolWarning_Time;
static uint32_t LOW_VOLTAGE_TIME1;
static uint32_t LOW_VOLTAGE_TIME2;
static uint32_t HIGH_VOLTAGE_TIME1;
static uint32_t HIGH_VOLTAGE_TIME2;
static uint32_t HIGH_VOLTAGE;
static uint32_t LOW_VOLTAGE;
static uint32_t TPMS_TEST_OFF_TIME;
/*每次唤醒调用*/
void Common_DataInit(void)
......@@ -121,6 +123,8 @@ void Common_DataInit(void)
HIGH_VOLTAGE_TIME2 = 0x00u;
HIGH_VOLTAGE = 0x0u;
LOW_VOLTAGE = 0x0u;
TPMS_TEST_OFF_TIME = 0u;
}
/*以下由各个处理模块按需调用*/
......@@ -368,6 +372,16 @@ void Common_Input_Para(void)
HIGH_VOLTAGE_TIME2 = 0;
}
/*胎压匹配3分钟有效计时*/
if ((TPMS_TEST_OFF_TIME <= 90000u) && (User_set_Num.User_TpmsStatus == 2u))
{
TPMS_TEST_OFF_TIME++;
}
else
{
TPMS_TEST_OFF_TIME = 0;
}
/**/
if ((State_Flag.User_FDJYLQQ_FLAG == 1) || (State_Flag.User_FDJYLQQ_FLAG == 2))
{
......@@ -578,7 +592,8 @@ void Common_BlockDelay(uint16_t m_MS)
Counter = 65535u - RocBackup + Counter + 1u;
}
} while (Counter < DIMCounter);
}
while (Counter < DIMCounter);
}
uint32_t Common_GetIgnOnTime(void)
......@@ -784,6 +799,22 @@ uint8_t Common_Get_LT_Sta(void)
return ValueSta;
}
uint8_t Common_Get_TPMS_TEST_OFF_Time_Sta(void)
{
uint8_t ValueSta = 0u;
if (TPMS_TEST_OFF_TIME >= 90000u)
{
ValueSta = 1u;
}
else
{
ValueSta = 0u;
}
return 0u;
}
/*EOL诊断配置数据转换为仪表配置数据*/
void ReadDTCEOLValue_Meter_K_LINE(void)
{
......
......@@ -141,6 +141,8 @@ uint8_t Common_Get_KQGZJ_Sta (void);
uint8_t Common_Get_DLZXY_Sta (void);
uint8_t Common_Get_LT_Sta (void);
uint8_t Common_Get_TPMS_TEST_OFF_Time_Sta(void);
void ReadDTCEOLValue_Meter_K_LINE(void);
void K_LINE_EOL_InitVal(void);
......
......@@ -126,6 +126,7 @@ void Sys_Run_Mode_5ms_Tasks(void)
{
COM_RX_Process();
Id18EF1817_Send_Service();
Id18033317_Send_Service();
Flash_Sync_Signal_Generation_Service();
}
......@@ -214,6 +215,7 @@ void Sys_Run_Mode_100ms_Tasks(void)
/*CAN 数据处理*/
Drive_Info_IC1_STATUS_Rx();
Drive_Info_IC3_STATUS_Rx();
/*保养通知数据计算*/
Common_EOL_User_Server();
......
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