Commit dca1a83b authored by hu's avatar hu

调整菜单逻辑

parent 31cbd497
No preview for this file type
This diff is collapsed.
project .intvect 1536
project .text 317676
project .text 319964
project .rodata 411103
project .secinfo 120
project .syscall 6
......
......@@ -26,8 +26,14 @@ typedef enum
{
EM_TRIP_A,
EM_TRIP_B,
EM_TRIP_C,
EM_TRIP_D,
EM_TRIP_JY,
EM_TRIP_RY,
EM_TRIP_BSX,
EM_TRIP_CSQ,
EM_TRIP_KQGZJ,
EM_TRIP_DLZX,
EM_TRIP_LT,
EM_TRIP_MAX,
} DataTripEnum_t;
......
......@@ -33,7 +33,7 @@ void Data_User_Mileage_KL30Init(void)
Mileage_Init_t MileInit = {0};
Mileage_Func_t Func = {0};
ODO_Init_t ODOInit = {0};
Trip_Init_t TripInit[4] = {0};
Trip_Init_t TripInit[EM_TRIP_MAX] = {0};
//以下数据从EEPROM中读取
Data_User_EEPROM_Read(EEPROM_BLOCK_ODO, TempBuf, 1);
......@@ -51,6 +51,7 @@ void Data_User_Mileage_KL30Init(void)
Data_ODO_KL30_Init(DataODOBuf, &ODOInit, Func.EEPromWrite_Cbk);
Data_User_EEPROM_Read(EEPROM_BLOCK_TRIP_STAMP, TempBuf + 3, 4);
TripInit[EM_TRIP_A].Stamp = TempBuf[3];
TripInit[EM_TRIP_A].MaxValue = 9999999u;
TripInit[EM_TRIP_A].IsRestart = 1u;
......@@ -59,13 +60,33 @@ void Data_User_Mileage_KL30Init(void)
TripInit[EM_TRIP_B].MaxValue = 9999999u;
TripInit[EM_TRIP_B].IsRestart = 1u;
TripInit[EM_TRIP_C].Stamp = TempBuf[5];
TripInit[EM_TRIP_C].MaxValue = 99999;
TripInit[EM_TRIP_C].IsRestart = 1u;
TripInit[EM_TRIP_JY].Stamp = TempBuf[5];
TripInit[EM_TRIP_JY].MaxValue = 99999;
TripInit[EM_TRIP_JY].IsRestart = 1u;
TripInit[EM_TRIP_RY].Stamp = TempBuf[6];
TripInit[EM_TRIP_RY].MaxValue = 99999;
TripInit[EM_TRIP_RY].IsRestart = 1u;
TripInit[EM_TRIP_BSX].Stamp = TempBuf[7];
TripInit[EM_TRIP_BSX].MaxValue = 99999;
TripInit[EM_TRIP_BSX].IsRestart = 1u;
TripInit[EM_TRIP_CSQ].Stamp = TempBuf[8];
TripInit[EM_TRIP_CSQ].MaxValue = 99999;
TripInit[EM_TRIP_CSQ].IsRestart = 1u;
TripInit[EM_TRIP_D].Stamp = TempBuf[6];
TripInit[EM_TRIP_D].MaxValue = 99999;
TripInit[EM_TRIP_D].IsRestart = 1u;
TripInit[EM_TRIP_KQGZJ].Stamp = TempBuf[9];
TripInit[EM_TRIP_KQGZJ].MaxValue = 99999;
TripInit[EM_TRIP_KQGZJ].IsRestart = 1u;
TripInit[EM_TRIP_DLZX].Stamp = TempBuf[10];
TripInit[EM_TRIP_DLZX].MaxValue = 99999;
TripInit[EM_TRIP_DLZX].IsRestart = 1u;
TripInit[EM_TRIP_LT].Stamp = TempBuf[11];
TripInit[EM_TRIP_LT].MaxValue = 99999;
TripInit[EM_TRIP_LT].IsRestart = 1u;
Data_Trip_KL30_Init(DataTripBuf, TripInit, EM_TRIP_MAX, Func.EEPromWrite_Cbk);
}
......@@ -263,4 +284,4 @@ void Data_User_EEPROM_Write(Data_EEPROM_Enum_t BlockID, uint32_t u32Data[], uint
WDT_Clear();
}
}
}
}
\ No newline at end of file
......@@ -3,9 +3,6 @@
#include "TYW_stdint.h"
#define K_Line_User_RYLQQ 100
#define K_Line_User_KQGZJ 100
/*
说明:
1、按键类型分为两类:
......
......@@ -207,7 +207,7 @@ void Key_Operation_Up(Key_Event_en_t enKeyEvent)
/*语言设置 ----反*/
else if (bCurMenuIDX == _MN_DSP_LEVEL3_4_MENU_3)
{
if (User_set_Num.User_Language > 1u)
if (User_set_Num.User_Language > 0u)
User_set_Num.User_Language-- ;
}
......@@ -387,7 +387,7 @@ void Key_Operation_Down(Key_Event_en_t enKeyEvent)
/*语言设置 ----反*/
else if (bCurMenuIDX == _MN_DSP_LEVEL3_4_MENU_3)
{
if (User_set_Num.User_Language < 7 )
if (User_set_Num.User_Language < 1 )
User_set_Num.User_Language++ ;
}
......@@ -692,7 +692,7 @@ Key_Real_Status_en_t Key_Real_Status_Read_Enter(void)
}
else
{
if ((Key_R >= (4700 - 400)) && (Key_R <= (4700 + 400)))
if ((Key_R >= (4800 - 400)) && (Key_R <= (5000 + 400)))
{
enKeyRealStatus = KEY_LINE_PRESS;
}
......
......@@ -32,7 +32,7 @@
uint32_t HYQ_TEST = 3;
volatile _Display_State_Flag State_Flag;
volatile _Display_State_Flag State_Flag; /*0-常态 1-小于0 2-小于1000 3-无此功能*/
_TPMS TPMS_Matching;
_UserSet User_set_Num;
_UserSet User_App;
......@@ -3740,8 +3740,8 @@ void GUI_BG_RepMenu_3_2_Display(uint8_t Mode)
if (Mode == GUI_DISP_MODE_NORMAL)
{
//User_Value = User_App.User_FDJYLQQ; /*显示数据*/
//User_FLAG = State_Flag.User_FDJYLQQ_FLAG; /*显示状态*/
User_Value = User_App.User_RYLQQ; /*显示数据*/
User_FLAG = State_Flag.User_RYLQQ_FLAG; /*显示状态*/
if (User_Value > 0u)
{
......@@ -3805,8 +3805,8 @@ void GUI_BG_RepMenu_3_3_Display(uint8_t Mode)
if (Mode == GUI_DISP_MODE_NORMAL)
{
//User_Value = User_App.User_FDJYLQQ; /*显示数据*/
//User_FLAG = State_Flag.User_FDJYLQQ_FLAG; /*显示状态*/
User_Value = User_App.User_BSXY; /*显示数据*/
User_FLAG = State_Flag.User_BSXY_FLAG; /*显示状态*/
if (User_Value > 0u)
{
......@@ -3870,8 +3870,8 @@ void GUI_BG_RepMenu_3_4_Display(uint8_t Mode)
if (Mode == GUI_DISP_MODE_NORMAL)
{
//User_Value = User_App.User_FDJYLQQ; /*显示数据*/
//User_FLAG = State_Flag.User_FDJYLQQ_FLAG; /*显示状态*/
User_Value = User_App.User_CSQY; /*显示数据*/
User_FLAG = State_Flag.User_CSQY_FLAG; /*显示状态*/
if (User_Value > 0u)
{
......@@ -4000,8 +4000,8 @@ void GUI_BG_RepMenu_3_7_Display(uint8_t Mode)
if (Mode == GUI_DISP_MODE_NORMAL)
{
//User_Value = User_App.User_FDJYLQQ; /*显示数据*/
//User_FLAG = State_Flag.User_FDJYLQQ_FLAG; /*显示状态*/
User_Value = User_App.User_DLZXY; /*显示数据*/
User_FLAG = State_Flag.User_DLZXY_FLAG; /*显示状态*/
if (User_Value > 0u)
{
......@@ -4065,8 +4065,8 @@ void GUI_BG_RepMenu_3_8_Display(uint8_t Mode)
if (Mode == GUI_DISP_MODE_NORMAL)
{
//User_Value = User_App.User_FDJYLQQ; /*显示数据*/
//User_FLAG = State_Flag.User_FDJYLQQ_FLAG; /*显示状态*/
User_Value = User_App.User_LT; /*显示数据*/
User_FLAG = State_Flag.User_LT_FLAG; /*显示状态*/
if (User_Value > 0u)
{
......@@ -4526,6 +4526,7 @@ void GUI_BG_UserSet_Language_Display(uint8_t Mode)
uint8_t Options_Val = 0u;
if (Mode == GUI_DISP_MODE_NORMAL)
{
Options_Val = User_set_Num.User_Language;
/*英语*/
if (Options_Val == Language_En)
{
......@@ -5627,3 +5628,166 @@ void GUI_BG_Enter_Return_Display(uint8_t Mode)
}
}
void Common_EOL_User_Server(void)
{
/*发动机油*/
if (User_App.User_FDJYLQQ > 0 )
{
if (User_App.User_FDJYLQQ >= (Data_Read_Trip(EM_TRIP_JY) / 10u))
{
User_App.User_FDJYLQQ = ((uint32_t)K_Line_Set.K_Line_LID4F * 1000u) - Data_Read_Trip(EM_TRIP_JY) / 10u;
}
else
{
User_App.User_FDJYLQQ = 0u;
}
if (User_App.User_FDJYLQQ <= 1000)
{
State_Flag.User_FDJYLQQ_FLAG = 2u;
}
}
else
{
State_Flag.User_FDJYLQQ_FLAG = 1;
}
/*燃油滤清器*/
if (User_App.User_RYLQQ > 0 )
{
if (User_App.User_RYLQQ >= (Data_Read_Trip(EM_TRIP_RY) / 10u))
{
User_App.User_RYLQQ = ((uint32_t)K_Line_User_RYLQQ * 1000u ) - Data_Read_Trip(EM_TRIP_RY) / 10u;
}
else
{
User_App.User_RYLQQ = 0u;
}
if (User_App.User_RYLQQ <= 1000)
{
State_Flag.User_RYLQQ_FLAG = 2;
}
}
else
{
State_Flag.User_RYLQQ_FLAG = 1;
}
/*变速箱油*/
if (User_App.User_BSXY > 0 )
{
if (User_App.User_BSXY >= (Data_Read_Trip(EM_TRIP_BSX) / 10u))
{
User_App.User_BSXY = ((uint32_t)K_Line_Set.K_Line_LID4A * 1000u) - Data_Read_Trip(EM_TRIP_BSX) / 10u;
}
else
{
User_App.User_BSXY = 0u;
}
if (User_App.User_BSXY <= 1000)
{
State_Flag.User_BSXY_FLAG = 2;
}
}
else
{
State_Flag.User_BSXY_FLAG = 1;
}
/*差速器油*/
if (User_App.User_CSQY > 0 )
{
if (User_App.User_CSQY >= (Data_Read_Trip(EM_TRIP_CSQ) / 10u))
{
User_App.User_CSQY = ((uint32_t)K_Line_Set.K_Line_LID4B * 1000u) - Data_Read_Trip(EM_TRIP_CSQ) / 10u;
}
else
{
User_App.User_CSQY = 0u;
}
if (User_App.User_CSQY <= 1000)
{
State_Flag.User_CSQY_FLAG = 2;
}
}
else
{
State_Flag.User_CSQY_FLAG = 1;
}
/*空气干燥剂*/
if (User_App.User_KQGZJ > 0 )
{
if (User_App.User_KQGZJ >= (Data_Read_Trip(EM_TRIP_KQGZJ) / 10u))
{
User_App.User_KQGZJ = ((uint32_t)K_Line_User_KQGZJ * 1000u) - Data_Read_Trip(EM_TRIP_KQGZJ) / 10u;
}
else
{
User_App.User_KQGZJ = 0u;
}
if (User_App.User_KQGZJ <= 1000)
{
State_Flag.User_KQGZJ_FLAG = 2;
}
}
else
{
State_Flag.User_KQGZJ_FLAG = 1;
}
/*动力转向油*/
if (User_App.User_DLZXY > 0 )
{
if (User_App.User_DLZXY >= (Data_Read_Trip(EM_TRIP_DLZX) / 10u))
{
User_App.User_DLZXY = ((uint32_t)K_Line_Set.K_Line_LID4D * 1000u) - Data_Read_Trip(EM_TRIP_DLZX) / 10u;
}
else
{
User_App.User_DLZXY = 0u;
}
if (User_App.User_DLZXY <= 1000)
{
State_Flag.User_DLZXY_FLAG = 2 ;
}
}
else
{
State_Flag.User_DLZXY_FLAG = 1;
}
/*轮胎*/
if (User_App.User_LT > 0 )
{
if (User_App.User_LT >= (Data_Read_Trip(EM_TRIP_LT) / 10u))
{
User_App.User_LT = ((uint32_t)K_Line_Set.K_Line_LID4E * 1000u) - Data_Read_Trip(EM_TRIP_LT) / 10u;
}
else
{
User_App.User_LT = 0u;
}
if (User_App.User_LT <= 1000)
{
State_Flag.User_LT_FLAG = 2;
}
}
else
{
State_Flag.User_LT_FLAG = 1;
}
}
\ No newline at end of file
......@@ -298,4 +298,8 @@ void GUI_BG_UserSet_SYSD_Parking_Display(uint8_t Mode); /**/
void GUI_BG_Enter_Return_Display(uint8_t Mode); /**/
void Common_EOL_User_Server(void);
#endif
\ No newline at end of file
......@@ -9,6 +9,9 @@
#define EXTERN_MEU_PROCESS extern
#endif
#define K_Line_User_RYLQQ 100
#define K_Line_User_KQGZJ 100
#define _MN_IDX_NULL 0xff
#define _MN_IDX_NULL0 0x00
#define _MN_OPR_NULL (void *)0
......@@ -111,7 +114,7 @@ typedef enum
/*特殊界面*/
_MN_DSP_ENTER_MENU, /* 75 确认*/
_MN_DSP_RETURN_MENU, /* 76 返回*/
}_MenuCode;
} _MenuCode;
typedef uint8_t _MENU_IDX;
typedef struct
......
This diff is collapsed.
......@@ -13,6 +13,7 @@
#include "Maintenance.h"
#include "Menu.h"
#include "GUI.h"
#include "Emulated_EEPROM.h"
#include "Watchdog.h"
......@@ -53,10 +54,19 @@ static uint8_t CanFirstEvent[ID_TOTAL_MAX];
static void Individual_ECU_Communication(void);
// wangboyu - end
/*TPMS界面胎温胎压切换标记*/
static uint8_t TPMS_Kpa_Temp_Flag ;
_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;
/*每次唤醒调用*/
void Common_DataInit(void)
{
......@@ -74,8 +84,15 @@ void Common_DataInit(void)
PowerIgnOnTimeLine = 0x0ul;
PowerIgnOffTimeLine = 0x0ul;
TPMS_Kpa_Temp_Flag = 0x00u;
/**/
User_FDJYLQQ_Time = 0x00u;
User_RYLQQ_Time = 0x00u;
User_BSXY_Time = 0x00u;
User_CSQY_Time = 0x00u;
User_LHQY_Time = 0x00u;
User_KQGZJ_Time = 0x00u;
User_DLZXY_Time = 0x00u;
User_LT_Time = 0x00u;
}
/*以下由各个处理模块按需调用*/
......@@ -230,6 +247,89 @@ void Common_Input_Para(void)
{
PowerIgnOnTimeLine += 2u;
}
/**/
if ((State_Flag.User_FDJYLQQ_FLAG == 1) || (State_Flag.User_FDJYLQQ_FLAG == 2))
{
if (User_FDJYLQQ_Time < 601)
User_FDJYLQQ_Time++;
}
else
{
User_FDJYLQQ_Time = 0 ;
}
if ((State_Flag.User_RYLQQ_FLAG == 1) || (State_Flag.User_RYLQQ_FLAG == 2))
{
if (User_RYLQQ_Time < 601)
User_RYLQQ_Time ++;
}
else
{
User_RYLQQ_Time = 0;
}
if ((State_Flag.User_BSXY_FLAG == 1) || (State_Flag.User_BSXY_FLAG == 2))
{
if (User_BSXY_Time < 601)
User_BSXY_Time ++;
}
else
{
User_BSXY_Time = 0;
}
if ((State_Flag.User_CSQY_FLAG == 1) || (State_Flag.User_CSQY_FLAG == 2))
{
if (User_CSQY_Time < 601)
User_CSQY_Time++;
}
else
{
User_CSQY_Time = 0;
}
if ((State_Flag.User_LHQY_FLAG == 1) || (State_Flag.User_LHQY_FLAG == 2))
{
if (User_LHQY_Time < 601)
User_LHQY_Time++;
}
else
{
User_LHQY_Time = 0;
}
if ((State_Flag.User_KQGZJ_FLAG == 1) || (State_Flag.User_KQGZJ_FLAG == 2))
{
if (User_KQGZJ_Time < 601)
User_KQGZJ_Time++;
}
else
{
User_KQGZJ_Time = 0;
}
if ((State_Flag.User_DLZXY_FLAG == 1) || (State_Flag.User_DLZXY_FLAG == 2))
{
if (User_DLZXY_Time < 601)
User_DLZXY_Time ++;
}
else
{
User_DLZXY_Time = 0;
}
if ((State_Flag.User_LT_FLAG == 1) || (State_Flag.User_LT_FLAG == 2))
{
if (User_LT_Time < 601)
User_LT_Time ++ ;
}
else
{
User_LT_Time = 0;
}
/**/
}
else
{
......@@ -247,6 +347,18 @@ void Common_Input_Para(void)
Common_Set_Act_E_Speed(0u);
Common_Set_Disp_V_Speed(0u);
Common_Set_Disp_E_Speed(0u);
/*----*/
User_FDJYLQQ_Time = 0u ;
User_RYLQQ_Time = 0u ;
User_BSXY_Time = 0u ;
User_CSQY_Time = 0u ;
User_LHQY_Time = 0u ;
User_KQGZJ_Time = 0u ;
User_DLZXY_Time = 0u ;
User_LT_Time = 0u ;
/*----*/
}
}
......@@ -384,13 +496,4 @@ void K_LINE_EOL_InitVal(void)
K_Line_Set.K_Line_LID50 = 0x00u; /* -- 预留 */
K_Line_Set.K_Line_LID51 = 0x01u; /* 01 工作模式 */
K_Line_Set.K_Line_LID52 = 0x00u; /* 00 电子部件设定 */
}
void Common_Set_TPMS_Kpa_Temp_Flag (uint8_t Val)
{
TPMS_Kpa_Temp_Flag = Val;
}
uint8_t Common_Get_TPMS_Kpa_Temp_Flag(void)
{
return TPMS_Kpa_Temp_Flag ;
}
\ No newline at end of file
......@@ -129,7 +129,4 @@ uint8_t Get_CanFirstRecv_Event(uint8_t ID);
void ReadDTCEOLValue_Meter_K_LINE(void);
void K_LINE_EOL_InitVal(void);
void Common_Set_TPMS_Kpa_Temp_Flag (uint8_t Val);
uint8_t Common_Get_TPMS_Kpa_Temp_Flag(void);
#endif
......@@ -66,7 +66,7 @@ void RTE_PWM_LCD_Start(void)
void RTE_PWM_Set_Speed_Out(uint16_t m_Cycle, uint16_t m_Duty)
{
uint32_t ActSetFreq;
uint32_t ActSetFreq = 0u;;
uint16_t Fre_8_pulse = 0 ;
Fre_8_pulse = m_Cycle ;
......
......@@ -214,6 +214,8 @@ void Sys_Run_Mode_100ms_Tasks(void)
/*CAN 数据处理*/
Drive_Info_IC1_STATUS_Rx();
/*保养通知数据计算*/
Common_EOL_User_Server();
/*加速度计算*/
Data_Acc_Speed_Processing();
/*高速路一般路报警判断*/
......
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