Commit 194cb60d authored by hu's avatar hu

按键移植完成,好使。

parent 367b6d72
...@@ -98,8 +98,9 @@ ...@@ -98,8 +98,9 @@
.\APP\GaugesMode\GaugesInterface.c .\APP\GaugesMode\GaugesInterface.c
.\APP\GaugesMode\GaugesInterface.h .\APP\GaugesMode\GaugesInterface.h
.\APP\Key\Key.h .\APP\Key\Key.h
.\APP\Key\Key.c
.\APP\Key\Key_user.c .\APP\Key\Key_user.c
.\APP\Key\Key_user.h
.\APP\Key\Key_V1.3_1441.a
.\APP\LINE_IN\Line_In.c .\APP\LINE_IN\Line_In.c
.\APP\LINE_IN\Line_In.h .\APP\LINE_IN\Line_In.h
.\APP\LINE_IN\Line_In_user.h .\APP\LINE_IN\Line_In_user.h
......
This diff is collapsed.
#ifndef KEY_H__ #ifndef KEY_H__
#define KEY_H__ #define KEY_H__
//#define KEY_PLATFORM_16BIT
#include "TYW_stdint.h" #ifdef KEY_PLATFORM_16BIT
typedef unsigned char Key_uint8_t;
/* typedef unsigned int Key_uint16_t;
说明: typedef unsigned long Key_uint32_t;
1、按键类型分为两类: #else
1)CAN按键。 typedef unsigned char Key_uint8_t;
2)单纯硬线按键,AD按键。 typedef unsigned short Key_uint16_t;
2、按键触发时间: typedef unsigned int Key_uint32_t;
1)短按动作在抬手时触发、 typedef unsigned long long Key_uint64_t;
2)长按动作(或超长按)在时间达到,按住时就可触发。 #endif
3)OFF到ON(或ON到OFF)在各个电源状态时按键按下时间满足后即可触发,不必抬手。 /*所有按键枚举*/
/*默认所有按键在任意电源状态下均可被触发*/
*/ typedef enum
/*所有按键枚举,目前最多支持8个按键*/ {
typedef enum KEY_UP = 0U,
{ KEY_DOWN,
KEY_UP = 0U, KEY_ENTER,
KEY_DOWN, KEY_RETURN,
KEY_ENTER, KEY_MENU,
KEY_RETURN, KEY_ODOTRIP,
KEY_MENU, KEY_NUM_MAX,
KEY_ODOTRIP, } Key_Num_en_t;
KEY_NUM_MAX, /*--------------------------Do not modify the following--------------------------------*/
/*--------------------------Do not modify the following--------------------------------*/
} Key_Num_en_t; /*--------------------------Do not modify the following--------------------------------*/
#define KEY_RAM_DATA_LEN (KEY_NUM_MAX * 16U + 24U)
/*--------------------------Do not modify the following--------------------------------*/ typedef enum
/*--------------------------Do not modify the following--------------------------------*/ {
/*--------------------------Do not modify the following--------------------------------*/ /*按键检测方式选择*/
typedef enum /*按键不需要消抖,并且在无效状态切换到有效状态的上升沿触发按键动作。
{ 一般用于CAN发送按键处理后状态时*/
// KEY_TYPE_CAN = 0U, /*CAN按键。按键不需要消抖*/ KEY_NO_DEBOUNCE_RISE = 0U,
// KEY_TYPE_LINE, /*硬线按键,包含AD按键。按键需要消抖*/ /*按键不需要消抖,并且在有效状态切换到无效状态的下降沿触发按键动作。
一般用于CAN发送按键处理后状态时*/
/*按键检测方式选择*/ KEY_NO_DEBOUNCE_FALL,
KEY_NO_DEBOUNCE_RISE = 0U, /*按键不需要消抖,并且在无效状态切换到有效状态的上升沿触发按键动作*/ /*按键需要消抖,短按松手触发,长按按住即可触发。
KEY_NO_DEBOUNCE_FALL, /*按键不需要消抖,并且在有效状态切换到无效状态的下降沿触发按键动作*/ 一般用于硬线按键,AD按键,CAN发送按键实时状态时*/
KEY_NEED_DEBOUNCE_NORMAL,
KEY_NEED_DEBOUNCE_NORMAL, /*按键需要消抖,短按松手触发,长按,超超按,按住即可触发*/ KEY_TYPE_MAX,
} Key_Type_en_t;
KEY_TYPE_MAX, /*按键相关设置返回状态*/
} Key_Type_en_t; typedef enum
{
/*按键相关设置返回状态*/ KEY_SET_OK = 0U,
typedef enum KEY_SET_ERROR,
{ KEY_SET_MAX,
KEY_SET_OK = 0U, } Key_Set_en_t;
KEY_SET_ERROR, /*-----传入的按键状态--------*/
typedef enum
KEY_SET_MAX, {
} Key_Set_en_t; /*当按键检测方式选择需要消抖时使用*/
/*按键IG状态*/ KEY_REALTIME_LOOSEN = 0U, /*按键松开*/
typedef enum KEY_REALTIME_PRESS, /*按键按下*/
{ /*当按键检测方式选择不需要消抖时使用*/
KEY_IG_INVALID = 0U, KEY_STATUS_IDLE,
KEY_IG_OFF, KEY_STATUS_SHORT_PRESS_1,
KEY_IG_ON, KEY_STATUS_SHORT_PRESS_2,
KEY_STATUS_LONG_PRESS_1,
} Key_IGN_en_t; KEY_STATUS_LONG_PRESS_2,
/*-----实时传入的键值--------*/ KEY_STATUS_LONG_PRESS_3,
typedef enum KEY_STATUS_LONG_PRESS_4,
{ KEY_STATUS_MAX,
} Key_Status_en_t;
KEY_CAN_NONE = 0U, /*CAN按键时,按键无动作*/ /*按键支持的具体动作*/
KEY_CAN_SHORT_PRESS, /*CAN按键时,按键短按动作*/ typedef enum
KEY_CAN_LONG_PRESS, /*CAN按键时,按键长按动作*/ {
KEY_CAN_LONG_PRESS_NOT_RELEASE, /*CAN按键时,按键长按不松手动作,触发动作超长按*/ KEY_EVENT_NONE = 0U, /***超时动作可在这个按键动作下自行计时触发**/
/*以下按键动作都是单次触发,只有松手后才能再次触发*/
KEY_LINE_PRESS, /*硬线按键时,按键按下*/ KEY_EVENT_SHORT_PRESS_1,
KEY_LINE_LOOSEN, /*硬线按键时,按键松开*/ KEY_EVENT_SHORT_PRESS_2,
KEY_EVENT_LONG_PRESS_1,
KEY_REAL_STATUS_MAX, KEY_EVENT_LONG_PRESS_2,
KEY_EVENT_LONG_PRESS_3,
} Key_Real_Status_en_t; KEY_EVENT_LONG_PRESS_4,
/*按键支持的具体动作*/ /*OFF时才首先按下按键,然后不松手,之后切换到ON并持续一定时间后触发动作。*/
typedef enum KEY_EVENT_OFF_TO_ON,
{ KEY_EVENT_ON_TO_OFF,
KEY_EVENT_NONE = 0U, KEY_EVENT_MAX,
KEY_EVENT_SHORT_PRESS, } Key_Event_en_t;
KEY_EVENT_LONG_PRESS, /*按键IG状态*/
KEY_EVENT_SUPER_LONG_PRESS, typedef enum
KEY_EVENT_OFF_TO_ON, {
KEY_EVENT_ON_TO_OFF, KEY_IG_INVALID = 0U,/***无效的电源状态**/
KEY_IG_OFF,
KEY_EVENT_MAX, KEY_IG_ON,
} Key_IGN_en_t;
} Key_Event_en_t; typedef Key_Status_en_t (*Key_Status_Read)(void);
typedef void (*Key_Operation)(Key_Event_en_t enKeyEvent);
typedef struct /*每个按键的属性*/
{ typedef struct
uint32_t u32KeyRAMAddr; /* 数据缓冲地址 */ {
uint16_t u16KeyRAMLen; /* 数据缓冲大小:以uint32_t为单位*/ /*按键检测方式选择*/
} Key_RAM_Attribute_st_t; Key_Type_en_t enKeyType;
/*获取按键传入状态的回调函数*/
typedef Key_Real_Status_en_t (*Key_Real_Status_Read)(void); Key_Status_Read pfnKeyReadStatusCallBack;
typedef void (*Key_Operation)(Key_Event_en_t enKeyEvent); /*按键触发动作的回调函数*/
Key_Operation pfnKeyOperationCallBack;
/*每个按键的属性*/ } Key_Attribute_st_t;
typedef struct typedef struct
{ {
/*按键类型,是CAN的还是硬线的*/ /*当前IG状态*/
Key_Type_en_t enKeyType; Key_IGN_en_t enKeyIGNRealStatus;
/*获取按键实时状态的回调函数*/ /*按键数量,也就是KEY_NUM_MAX*/
Key_Real_Status_Read pfnKeyReadStatusCallBack; Key_uint8_t u8KeyNum;
/*按键触发动作的回调函数*/ } Key_Init_st_t;
Key_Operation pfnKeyOperationCallBack; /*--------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------*/
} Key_Attribute_st_t; /*10ms调用一次*/
extern void Key_Service(void);
/*--------------------------------------------------------------------------------------------*/ /*首次上电时调用.
extern const Key_Attribute_st_t stKeyAttribute[KEY_NUM_MAX]; 默认短按1时间100ms~~1000ms,
默认短按2时间1100ms~~2000ms,
/*------------------------------------------------------------------------------------*/ 长按1时间2000ms,
长按2时间10000ms,
/*10ms调用一次*/ 长按3时间30000ms,
extern void Key_Service(void); 长按4时间60000ms,
/*首次上电时调用一次即可*/ OFF下时间500ms,ON下时间500ms*/
extern void Key_Init(void); extern void Key_KL30_Init(Key_uint8_t *pu8KyeRamData, const Key_Attribute_st_t *pstKeyAttribute, Key_Init_st_t *pstKeyInit);
/*对于硬线按键而言,判断短按的时间参数*/ /***确保传入的内存指针在休眠唤醒后不会丢失,那么可正常使用唤醒初始化函数。否是使用上述KL30初始化**/
extern Key_Set_en_t Key_Parameter_Set_Short_Press_Time(uint16_t u16Time); extern void Key_Wakeup_Init(Key_uint8_t *pu8KyeRamData, const Key_Attribute_st_t *pstKeyAttribute, Key_Init_st_t *pstKeyInit);
/*对于硬线按键而言,判断长按的时间参数*/ /*对于消抖按键而言,判断短按的时间参数。
extern Key_Set_en_t Key_Parameter_Set_Long_Press_Time(uint16_t u16Time); u16TimeMin :最小识别的时间 u16TimeMax:最大识别的时间 (不可大于短按2的最小识别时间)*/
/*对于硬线按键而言,判断超长按的时间参数*/ extern Key_Set_en_t Key_Parameter_Set_Short_Press_1_Time(Key_uint16_t u16TimeMin, Key_uint16_t u16TimeMax);
extern Key_Set_en_t Key_Parameter_Set_Super_Long_Press_Time(uint16_t u16Time); /*对于消抖按键而言,判断短按2的时间参数。
/*获取IG状态*/ u16TimeMin :最小识别的时间(不可小于短按1的最大识别时间) u16TimeMax:最大识别的时间*/
extern Key_IGN_en_t Key_Get_IGN_Status(void); extern Key_Set_en_t Key_Parameter_Set_Short_Press_2_Time(Key_uint16_t u16TimeMin, Key_uint16_t u16TimeMax);
/*对于消抖按键而言,判断长按1的时间参数。不可大于长按2的时间*/
extern uint8_t Common_Get_RetMenu_Flag(void); extern Key_Set_en_t Key_Parameter_Set_Long_Press_1_Time(Key_uint16_t u16Time);
/*对于消抖按键而言,判断长按2的时间参数。不可小于长按1的时间,不可大于长按3的时间*/
extern Key_Set_en_t Key_Parameter_Set_Long_Press_2_Time(Key_uint16_t u16Time);
/*对于消抖按键而言,判断长按3的时间参数。不可小于长按2的时间,不可大于长按4的时间*/
extern Key_Set_en_t Key_Parameter_Set_Long_Press_3_Time(Key_uint16_t u16Time);
/*对于消抖按键而言,判断长按4的时间参数。不可小于长按3的时间*/
extern Key_Set_en_t Key_Parameter_Set_Long_Press_4_Time(Key_uint16_t u16Time);
/*设置电源状态给按键,单次调用或者多次调用均可*/
extern void Key_Set_IG_Status(Key_IGN_en_t enIGStatus);
#endif #endif
\ No newline at end of file
This diff is collapsed.
#ifndef KEY_USER_H__
#define KEY_USER_H__
extern void Key_KL30_Init_EXample(void);
extern void Key_Wakeup_Init_EXample(void);
#endif
\ No newline at end of file
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include "Door.h" #include "Door.h"
#include "Data_AirPressure.h" #include "Data_AirPressure.h"
#include "Key.h" #include "Key.h"
#include "Key_user.h"
#include "Menu.h" #include "Menu.h"
#include "Services_ODO_User.h" #include "Services_ODO_User.h"
#include "AvgSpeed.h" #include "AvgSpeed.h"
...@@ -96,7 +97,9 @@ Power_Status_t Power_KL30_Init ( void ) ...@@ -96,7 +97,9 @@ Power_Status_t Power_KL30_Init ( void )
SeatbeltInit(); SeatbeltInit();
Door_WakeUpInit(); Door_WakeUpInit();
Key_Init(); Key_KL30_Init_EXample();
Key_Parameter_Set_Short_Press_1_Time(40, 800);
Key_Parameter_Set_Long_Press_2_Time(4000);
LED_Driver_Init(); LED_Driver_Init();
Sound_Scheduler_Init(); Sound_Scheduler_Init();
...@@ -209,6 +212,7 @@ Power_Status_t Power_Wakeup_Init ( void ) ...@@ -209,6 +212,7 @@ Power_Status_t Power_Wakeup_Init ( void )
Door_WakeUpInit(); Door_WakeUpInit();
RTE_PWM_Init(); RTE_PWM_Init();
Key_Wakeup_Init_EXample();
/*燃油新增 ----20220503----*/ /*燃油新增 ----20220503----*/
Fuel_User_Wakeup_Init(); Fuel_User_Wakeup_Init();
...@@ -243,6 +247,7 @@ void Power_IG_OFF_Init(void) ...@@ -243,6 +247,7 @@ void Power_IG_OFF_Init(void)
/*关闭所有断码*/ /*关闭所有断码*/
Seg_Display_OFF(); Seg_Display_OFF();
Key_Set_IG_Status(KEY_IG_OFF);
} }
void Power_IG_ON_Init(void) void Power_IG_ON_Init(void)
{ {
...@@ -263,6 +268,7 @@ void Power_IG_ON_Init(void) ...@@ -263,6 +268,7 @@ void Power_IG_ON_Init(void)
UserGaugeK15Init() ;/*仪表IGON调用*/ UserGaugeK15Init() ;/*仪表IGON调用*/
/*end*/ /*end*/
CD4051B_KL15Init(); CD4051B_KL15Init();
Key_Set_IG_Status(KEY_IG_ON);
/*5s不按按键计时清零*/ /*5s不按按键计时清零*/
//LongTimeNoKey_Operation_TimeRest(); //LongTimeNoKey_Operation_TimeRest();
......
...@@ -1207,7 +1207,7 @@ void Seg_Display_OFF(void) ...@@ -1207,7 +1207,7 @@ void Seg_Display_OFF(void)
uint8_t Flash_time = 0; uint8_t Flash_time = 0;
uint16_t Color_Time = 0;// 20 更换一次颜色 uint16_t Color_Time = 0;// 20 更换一次颜色
extern uint8_t BackOdoFlagSta ; uint8_t BackOdoFlagSta ;
void Gui_Display_Test(void) void Gui_Display_Test(void)
{ {
uint16_t Get_Data_Veh_value = 0u ; uint16_t Get_Data_Veh_value = 0u ;
...@@ -1283,6 +1283,7 @@ void Gui_Display_Test(void) ...@@ -1283,6 +1283,7 @@ void Gui_Display_Test(void)
Loc_Display_Red(1, 1, 1); Loc_Display_Red(1, 1, 1);
Flash_time = 0; Flash_time = 0;
Color_Time = 0; Color_Time = 0;
BackOdoFlagSta = 1 ;
break; break;
} }
} }
......
...@@ -1756,6 +1756,7 @@ void Level3_4Menu_7Enter_1(void) ...@@ -1756,6 +1756,7 @@ void Level3_4Menu_7Enter_1(void)
void Level3_4Menu_7Do_1(void) void Level3_4Menu_7Do_1(void)
{ {
GUI_OftenShow_Display(); GUI_OftenShow_Display();
GUI_BG_UserSet_Display(GUI_DISP_MODE_NORMAL);
GUI_BG_User_Light1_Display(GUI_DISP_MODE_NORMAL); GUI_BG_User_Light1_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_4Menu_7Exit_1(void) void Level3_4Menu_7Exit_1(void)
...@@ -1779,6 +1780,7 @@ void Level3_4Menu_7Enter_2(void) ...@@ -1779,6 +1780,7 @@ void Level3_4Menu_7Enter_2(void)
void Level3_4Menu_7Do_2(void) void Level3_4Menu_7Do_2(void)
{ {
GUI_OftenShow_Display(); GUI_OftenShow_Display();
GUI_BG_UserSet_Display(GUI_DISP_MODE_NORMAL);
GUI_BG_User_Light2_Display(GUI_DISP_MODE_NORMAL); GUI_BG_User_Light2_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_4Menu_7Exit_2(void) void Level3_4Menu_7Exit_2(void)
......
...@@ -6,11 +6,9 @@ ...@@ -6,11 +6,9 @@
#include "Key.h" #include "Key.h"
#include "CAN_Lib.h" #include "CAN_Lib.h"
#include "GUI.h" #include "GUI.h"
#include "Services_ODO_User.h" /*清空总计里程函数*/
#include "Menu.h" #include "Menu.h"
#include "jcua.h" #include "jcua.h"
#include "kwp2000_service.h" #include "kwp2000_service.h"
#include "SEG_DISPLAY.h"
uint32_t EnterTimer[10]; uint32_t EnterTimer[10];
uint8_t UE_EN[Display_MAX]; uint8_t UE_EN[Display_MAX];
...@@ -26,8 +24,6 @@ uint8_t BG_display_flag; ...@@ -26,8 +24,6 @@ uint8_t BG_display_flag;
uint16_t HMI_StartAnimationFrameCnt; uint16_t HMI_StartAnimationFrameCnt;
uint8_t backgroundOFFFlag; uint8_t backgroundOFFFlag;
uint8_t BackOdoFlagSta;
uint8_t BackOdoFlag;
static void switch_branch(void); static void switch_branch(void);
...@@ -154,68 +150,59 @@ void DisplayServices(void) ...@@ -154,68 +150,59 @@ void DisplayServices(void)
} }
DispSch_xxxMs_Logic(10u); DispSch_xxxMs_Logic(10u);
#if 0
/*上短*/ /*上短*/
if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_UP == KEY_EVENT_SHORT_PRESS) if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_UP == KEY_EVENT_SHORT_PRESS_1)
{ {
HMI_Clear_KEY_UP(); HMI_Clear_KEY_UP();
} }
/*上长*/ /*上长*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_UP == KEY_EVENT_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_UP == KEY_EVENT_LONG_PRESS_1)
{ {
HMI_Clear_KEY_UP(); HMI_Clear_KEY_UP();
} }
/*下短*/ /*下短*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_DOWN == KEY_EVENT_SHORT_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_DOWN == KEY_EVENT_SHORT_PRESS_1)
{ {
HMI_Clear_KEY_DOWN(); HMI_Clear_KEY_DOWN();
} }
/*下长*/ /*下长*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_DOWN == KEY_EVENT_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_DOWN == KEY_EVENT_LONG_PRESS_1)
{ {
HMI_Clear_KEY_DOWN(); HMI_Clear_KEY_DOWN();
} }
/*确认短*/ /*确认短*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_SHORT_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_SHORT_PRESS_1)
{ {
HMI_Clear_KEY_CONFIRM(); HMI_Clear_KEY_CONFIRM();
} }
/*确认长*/ /*确认长*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_LONG_PRESS_1)
{ {
HMI_Clear_KEY_CONFIRM(); HMI_Clear_KEY_CONFIRM();
} }
/*确认超长 3S*/ /*确认超长 3S*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_SUPER_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_LONG_PRESS_2)
{ {
HMI_Clear_KEY_CONFIRM(); HMI_Clear_KEY_CONFIRM();
if (BackOdoFlag == 0)
{
BackOdoFlag = 1;
HMI_Clear_KEY_CONFIRM();
BackOdoFlagSta = 1 ;
Gui_Display_Test();
/*TYW总计清零*/
TYW_Data_ODO_Clear();
}
} }
/*返回短*/ /*返回短*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CANCEL == KEY_EVENT_SHORT_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CANCEL == KEY_EVENT_SHORT_PRESS_1)
{ {
HMI_Clear_KEY_CANCEL(); HMI_Clear_KEY_CANCEL();
} }
/*返回长*/ /*返回长*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CANCEL == KEY_EVENT_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CANCEL == KEY_EVENT_LONG_PRESS_1)
{ {
HMI_Clear_KEY_CANCEL(); HMI_Clear_KEY_CANCEL();
} }
/*MENU短*/ /*MENU短*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_MENU == KEY_EVENT_SHORT_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_MENU == KEY_EVENT_SHORT_PRESS_1)
{ {
HMI_Clear_KEY_MENU(); HMI_Clear_KEY_MENU();
} }
/*MENU长*/ /*MENU长*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_MENU == KEY_EVENT_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_MENU == KEY_EVENT_LONG_PRESS_1)
{ {
HMI_Clear_KEY_MENU(); HMI_Clear_KEY_MENU();
} }
...@@ -225,12 +212,12 @@ void DisplayServices(void) ...@@ -225,12 +212,12 @@ void DisplayServices(void)
} }
/*ODOTrip短*/ /*ODOTrip短*/
if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_ODOTRIP == KEY_EVENT_SHORT_PRESS) if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_ODOTRIP == KEY_EVENT_SHORT_PRESS_1)
{ {
HMI_Clear_KEY_ODOTRIP(); HMI_Clear_KEY_ODOTRIP();
} }
/*ODOTrip长*/ /*ODOTrip长*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_ODOTRIP == KEY_EVENT_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_ODOTRIP == KEY_EVENT_LONG_PRESS_1)
{ {
HMI_Clear_KEY_ODOTRIP(); HMI_Clear_KEY_ODOTRIP();
} }
...@@ -243,6 +230,7 @@ void DisplayServices(void) ...@@ -243,6 +230,7 @@ void DisplayServices(void)
{ {
; /*do nothing*/ ; /*do nothing*/
} }
#endif
} }
/*----开机动画----*/ /*----开机动画----*/
...@@ -250,9 +238,7 @@ void Display_StartAnimationEnter(void) ...@@ -250,9 +238,7 @@ void Display_StartAnimationEnter(void)
{ {
HMI_StartAnimationFrameCnt = 0u; HMI_StartAnimationFrameCnt = 0u;
backgroundOFFFlag = 0; backgroundOFFFlag = 0;
MenuFlag.Menu_Popup_Flag= 0u ; MenuFlag.Menu_Popup_Flag = 0u ;
BackOdoFlagSta = 0;
BackOdoFlag = 0;
/*硬清空所有缓存数据*/ /*硬清空所有缓存数据*/
loc_free_mem(MENU_Sprite, MENU_Sprite); loc_free_mem(MENU_Sprite, MENU_Sprite);
......
...@@ -265,35 +265,7 @@ static void Common_Set_Act_E_Speed(uint16_t Val) ...@@ -265,35 +265,7 @@ static void Common_Set_Act_E_Speed(uint16_t Val)
} }
static void Common_Set_Disp_V_Speed(uint16_t Val) static void Common_Set_Disp_V_Speed(uint16_t Val)
{ {
static uint16_t Vspeed_ReflashTime = 0; Disp_V_Speed = Val;
static uint16_t Vspeed_Val = 0;
if ((Vspeed_ReflashTime > 0) && (Vspeed_Val != Val))
{
Vspeed_ReflashTime--;
}
if (Vspeed_ReflashTime == 0)
{
if (Vspeed_Val < Val)
{
Vspeed_ReflashTime = 50 / (Val - Vspeed_Val);
Vspeed_Val++;
}
else if (Vspeed_Val > Val)
{
Vspeed_ReflashTime = 50 / (Vspeed_Val - Val);
Vspeed_Val--;
}
else
{
Vspeed_ReflashTime = 500;
}
}
Disp_V_Speed = Vspeed_Val;
} }
static void Common_Set_Disp_E_Speed(uint16_t Val) static void Common_Set_Disp_E_Speed(uint16_t Val)
{ {
......
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