Commit 6453ca2a authored by hu's avatar hu

调整TYW清总计里程功能

parent 94732bc3
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
*/ */
#include "Common_Interface.h" #include "Common_Interface.h"
#define Self_time 900u #define Self_time 450u
static const uint16_t GaugesDataInInit[GaugesTotal][3][25] = static const uint16_t GaugesDataInInit[GaugesTotal][3][25] =
{ {
......
...@@ -57,6 +57,8 @@ ...@@ -57,6 +57,8 @@
#include "Analog_Signals.h" #include "Analog_Signals.h"
#include "BGLInterface.h" #include "BGLInterface.h"
#include "BU98R10.h" #include "BU98R10.h"
#include "RSCAN.h"
#include "RSCAN_Table.h"
#define POWER_NM_SLEEP 0U #define POWER_NM_SLEEP 0U
#define POWER_NM_WAKEUP 1U #define POWER_NM_WAKEUP 1U
...@@ -69,7 +71,7 @@ Power_Status_t Power_KL30_Init ( void ) ...@@ -69,7 +71,7 @@ Power_Status_t Power_KL30_Init ( void )
Power_Status_t u8PowerSts; Power_Status_t u8PowerSts;
RTE_RTC_KL30_Init(); RTE_RTC_KL30_Init();
CD4051B_KL15Init(); CD4051B_KL15Init();
/*电源 指示灯 硬线 通用信息部分 赵建智 维护开始*/
ClearNoInitArea(); ClearNoInitArea();
Common_DataInit(); Common_DataInit();
Sys_KL30_Init(); Sys_KL30_Init();
...@@ -78,43 +80,30 @@ Power_Status_t Power_KL30_Init ( void ) ...@@ -78,43 +80,30 @@ Power_Status_t Power_KL30_Init ( void )
Telltales_KL30_Init(); Telltales_KL30_Init();
SEG_BUFF_Init(); SEG_BUFF_Init();
DispSch_TotalInit(); DispSch_TotalInit();
/*电源 指示灯 硬线 通用信息部分 赵建智 维护结束*/
/*车速 转速 水温表头 初始化 田雨 维护开始*/
UserGaugeK30Init(); UserGaugeK30Init();
/*车速 转速 水温表头 初始化 田雨 维护开始*/
/*里程 大小计部分 刘明月 胡志松 辛雨 维护开始*/
Service_OFF_Timing_KL30Init(); Service_OFF_Timing_KL30Init();
Data_User_Mileage_KL30Init(); Data_User_Mileage_KL30Init();
Data_AvgSpeed_KL30_Init(); Data_AvgSpeed_KL30_Init();
Data_Maintenance_Service_KL30_Init(); Data_Maintenance_Service_KL30_Init();
/*里程 大小计部分 刘明月 胡志松 辛雨 维护结束*/
/*室外温度 胎压部分 档位 清大计 报警 对时 胡迎秋 维护开始*/
Data_AC_Temp_KL30_Init(); Data_AC_Temp_KL30_Init();
Data_TPMS_KL30_Init(); Data_TPMS_KL30_Init();
Data_Gear_KL30_Init(); Data_Gear_KL30_Init();
Data_ODO_Clear_KL30Init(); Data_ODO_Clear_KL30Init();
/*室外温度 胎压部分 档位 清大计 报警 对时 胡迎秋 维护结束*/
/*安全带 车门部分 李茂军维护开始*/
SeatbeltInit(); SeatbeltInit();
Door_WakeUpInit(); Door_WakeUpInit();
/*安全带 车门部分 李茂军维护结束*/
/*按键部分 杨真东维护开始*/
Key_Init(); Key_Init();
LED_Driver_Init(); LED_Driver_Init();
Sound_Scheduler_Init(); Sound_Scheduler_Init();
Sound_Player_Init(); Sound_Player_Init();
RTE_PWM_Init(); RTE_PWM_Init();
/*按键部分 杨真东维护结束*/
/*报警调度初始化*/
Popup_Scheduler_Init(); Popup_Scheduler_Init();
/*报警调度初始化*/
/*5s不按按键计时清零*/ /*5s不按按键计时清零*/
//LongTimeNoKey_Operation_TimeRest(); //LongTimeNoKey_Operation_TimeRest();
...@@ -148,6 +137,39 @@ void Power_Sleep_Init(void) ...@@ -148,6 +137,39 @@ void Power_Sleep_Init(void)
TimerB_PWM_Channel_Sleep(TIMERB_1_CH15); TimerB_PWM_Channel_Sleep(TIMERB_1_CH15);
TimerB_PWM_Channel_Sleep(TIMERB_0_CH7); TimerB_PWM_Channel_Sleep(TIMERB_0_CH7);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_0);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_1);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_2);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_3);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_4);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_5);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_6);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_7);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_8);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_9);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_10);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_11);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_12);
RSCAN0_CH0_Abort(RSCAN_CHANNEL_BUF_13);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_0);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_1);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_2);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_3);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_4);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_5);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_6);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_7);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_8);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_9);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_10);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_11);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_12);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_13);
RSCAN0_CH0_Sleep_Init();
RSCAN0_CH2_Sleep_Init();
VCC12V0_OUT_EN = 0u; /*12V 电源使能*/ VCC12V0_OUT_EN = 0u; /*12V 电源使能*/
VCC05V0_OUT_EN = 0u; /*外设5V 电源使能*/ VCC05V0_OUT_EN = 0u; /*外设5V 电源使能*/
D1530_EN_MCU_OUT = 0u; /*1530 使能*/ D1530_EN_MCU_OUT = 0u; /*1530 使能*/
...@@ -166,7 +188,7 @@ Power_Status_t Power_Wakeup_Init ( void ) ...@@ -166,7 +188,7 @@ Power_Status_t Power_Wakeup_Init ( void )
Kwp2000_Init(); Kwp2000_Init();
Power_Status_t u8PowerSts; Power_Status_t u8PowerSts;
/*电源 指示灯 硬线 通用信息部分 赵建智 维护开始*/
Common_DataInit(); Common_DataInit();
Sys_WakeUp_Init(); Sys_WakeUp_Init();
Line_In_KL30_Init(); Line_In_KL30_Init();
...@@ -174,18 +196,18 @@ Power_Status_t Power_Wakeup_Init ( void ) ...@@ -174,18 +196,18 @@ Power_Status_t Power_Wakeup_Init ( void )
Telltales_KL30_Init(); Telltales_KL30_Init();
SEG_BUFF_Init(); SEG_BUFF_Init();
DispSch_TotalInit(); DispSch_TotalInit();
/*电源 指示灯 硬线 通用信息部分 赵建智 维护结束*/
Telltales_Wakeup_Init(); Telltales_Wakeup_Init();
Data_Time_WakeUp_Init(); Data_Time_WakeUp_Init();
/*车速 转速 水温表头 初始化 田雨 维护开始*/
UserGaugeK30Init(); UserGaugeK30Init();
/*车速 转速 水温表头 初始化 田雨 维护开始*/
Data_User_Mileage_KL15Init(); Data_User_Mileage_KL15Init();
Maintenance_WakeUp_Init(); Maintenance_WakeUp_Init();
/*安全带 车门部分 李茂军维护开始*/
SeatbeltInit(); SeatbeltInit();
Door_WakeUpInit(); Door_WakeUpInit();
/*安全带 车门部分 李茂军维护结束*/
RTE_PWM_Init(); RTE_PWM_Init();
/*燃油新增 ----20220503----*/ /*燃油新增 ----20220503----*/
......
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
#define TACHO_SEG_NUM_MAX 27U #define TACHO_SEG_NUM_MAX 27U
#define VEH_SEG_NUM_MAX 30U #define VEH_SEG_NUM_MAX 30U
static uint8_t GaugesTimer;
static void Seg_General_Digit_Display(uint32_t Digit, uint8_t Len, uint8_t Blank, uint8_t *DigitBuf, uint8_t *Reg); static void Seg_General_Digit_Display(uint32_t Digit, uint8_t Len, uint8_t Blank, uint8_t *DigitBuf, uint8_t *Reg);
static void Seg_Digit_1_Disp(uint8_t Digit); static void Seg_Digit_1_Disp(uint8_t Digit);
static void Seg_Digit_2_Disp(uint8_t Digit); static void Seg_Digit_2_Disp(uint8_t Digit);
...@@ -1018,9 +1016,6 @@ static void Seg_General_Digit_Display(uint32_t Digit, uint8_t Len, uint8_t Blank ...@@ -1018,9 +1016,6 @@ static void Seg_General_Digit_Display(uint32_t Digit, uint8_t Len, uint8_t Blank
} }
} }
static uint8_t wbyTestSeg = 0;
static uint16_t wbyTestNum;
static uint8_t IC_TEST = 0;
/****************************************************************************** /******************************************************************************
Seg_Display_Service 在 20MS任务中 Seg_Display_Service 在 20MS任务中
信号接口: 信号接口:
...@@ -1029,6 +1024,10 @@ Seg_Display_Service 在 20MS任务中 ...@@ -1029,6 +1024,10 @@ Seg_Display_Service 在 20MS任务中
******************************************************************************/ ******************************************************************************/
void Seg_Display_Service(void) void Seg_Display_Service(void)
{ {
static uint16_t Vspeed_Val = 0u;
static uint8_t CurrencyTimer;
static uint8_t TempTimer;
static uint8_t SpeedTimer;
uint32_t Ign_Time; uint32_t Ign_Time;
uint16_t m16_FrameCnt; uint16_t m16_FrameCnt;
...@@ -1054,21 +1053,22 @@ void Seg_Display_Service(void) ...@@ -1054,21 +1053,22 @@ void Seg_Display_Service(void)
Seg_Digit_2_Disp(12); Seg_Digit_2_Disp(12);
Seg_Digit_3_Disp(12); Seg_Digit_3_Disp(12);
GaugesTimer = 4u; CurrencyTimer = 0u;
TempTimer = 0u;
SpeedTimer = 0u;
} }
else else
{ {
SEG_A25_Disp(7u); /*左侧弧线*/ SEG_A25_Disp(7u); /*左侧弧线*/
SEG_C25_Disp(7u); /*右侧弧线*/ SEG_C25_Disp(7u); /*右侧弧线*/
if (Ign_Time < StartAnimationEnd) if (Ign_Time < PopupStart)
{ {
m16_FrameCnt = Common_GetHMI_StartAnimationFrameCnt(); m16_FrameCnt = Common_GetHMI_StartAnimationFrameCnt();
m16_FrameCnt = m16_FrameCnt / 4u; m16_FrameCnt = m16_FrameCnt / 4u;
if (m16_FrameCnt >= FRAMECNTFLAG) if (m16_FrameCnt >= FRAMECNTFLAG)
{ {
SEG_PRI_Display (GetGaugesCurrentPos(PRIGasGauges), GUI_DISP_MODE_NORMAL, 7u); /*PRI气压格*/ SEG_PRI_Display (GetGaugesCurrentPos(PRIGasGauges), GUI_DISP_MODE_NORMAL, 7u); /*PRI气压格*/
SEG_SEC_Display (GetGaugesCurrentPos(SECGasGauges), GUI_DISP_MODE_NORMAL, 7u); /*SEC气压格*/ SEG_SEC_Display (GetGaugesCurrentPos(SECGasGauges), GUI_DISP_MODE_NORMAL, 7u); /*SEC气压格*/
SEG_Coolant_Display (GetGaugesCurrentPos(TempGauges), GUI_DISP_MODE_NORMAL, 7u); /*水温格*/ SEG_Coolant_Display (GetGaugesCurrentPos(TempGauges), GUI_DISP_MODE_NORMAL, 7u); /*水温格*/
...@@ -1082,11 +1082,15 @@ void Seg_Display_Service(void) ...@@ -1082,11 +1082,15 @@ void Seg_Display_Service(void)
Seg_Digit_3_Disp(12); Seg_Digit_3_Disp(12);
} }
GaugesTimer = 4u; CurrencyTimer = 0u;
TempTimer = 0u;
SpeedTimer = 0u;
} }
else if (GaugesTimer == 0u) else
{
if (CurrencyTimer == 0u)
{ {
GaugesTimer = 4u; CurrencyTimer = 5u;
if (Common_Get_Air1_Valid()) if (Common_Get_Air1_Valid())
{ {
...@@ -1106,6 +1110,21 @@ void Seg_Display_Service(void) ...@@ -1106,6 +1110,21 @@ void Seg_Display_Service(void)
SEG_SEC_Display(GetGaugesCurrentPos(SECGasGauges), GUI_DISP_MODE_INVALID, 7u); // SEC气压格 SEG_SEC_Display(GetGaugesCurrentPos(SECGasGauges), GUI_DISP_MODE_INVALID, 7u); // SEC气压格
} }
SEG_Fuel_Display(Fuel_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //燃油格
SEG_Tacho_Display(Tacho_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //转速格
SEG_VehicleSpeed_Display(Speed_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //车速格
}
else
{
CurrencyTimer--;
}
if (TempTimer == 0)
{
TempTimer = 2;
if (Coolant_Get_Valid()) if (Coolant_Get_Valid())
{ {
SEG_Coolant_Display(Coolant_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //水温格 SEG_Coolant_Display(Coolant_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //水温格
...@@ -1114,19 +1133,23 @@ void Seg_Display_Service(void) ...@@ -1114,19 +1133,23 @@ void Seg_Display_Service(void)
{ {
SEG_Coolant_Display(Coolant_Get_CurSeg(), GUI_DISP_MODE_INVALID, 7u); //水温格 SEG_Coolant_Display(Coolant_Get_CurSeg(), GUI_DISP_MODE_INVALID, 7u); //水温格
} }
}
else
{
TempTimer--;
}
SEG_Fuel_Display(Fuel_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //燃油格 if (SpeedTimer == 0)
{
SEG_Tacho_Display(Tacho_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //转速格 SpeedTimer = 10;
SEG_VehicleSpeed_Display(Speed_Get_CurSeg(), GUI_DISP_MODE_NORMAL, 7u); //车速格
wbyTestNum = Common_Get_Disp_V_Speed(); Vspeed_Val = Common_Get_Disp_V_Speed();
SEG_VehicleSpeed_Num(wbyTestNum, GUI_DISP_MODE_NORMAL); //车速值 SEG_VehicleSpeed_Num(Vspeed_Val, GUI_DISP_MODE_NORMAL); //车速值
} }
else else
{ {
GaugesTimer--; SpeedTimer --;
}
} }
} }
} }
......
...@@ -176,15 +176,8 @@ void Can_Set_Buff_18FEAE17(uint8_t CopyData[]) ...@@ -176,15 +176,8 @@ void Can_Set_Buff_18FEAE17(uint8_t CopyData[])
/*电源电压*/ /*电源电压*/
Power_Supply_Voltage = 0u; Power_Supply_Voltage = 0u;
/*驻车制动外发*/ /*驻车制动外发*//*18FEAE17 byte8 bit 8-7 要改成,悬空=00 接地=01 20230114*/
if (Line_In_Get_Status(LINE_IN_PARK_BRAKE) == 0u) Parking_Brake_Switch = Line_In_Get_Status(LINE_IN_PARK_BRAKE);
{
Parking_Brake_Switch = 1u;
}
else
{
Parking_Brake_Switch = 0u;
}
Rader_Stain_Information = 0u; Rader_Stain_Information = 0u;
SW_ECONO = 0u; SW_ECONO = 0u;
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "DisplaySch_user.h" #include "DisplaySch_user.h"
#include "DispSch.h" #include "DispSch.h"
#include "FlashCheckSum.h" #include "FlashCheckSum.h"
#include "Graphic.h"
#pragma alignvar(8) #pragma alignvar(8)
uint32_t EolNUM[10u][8u]; uint32_t EolNUM[10u][8u];
...@@ -10324,6 +10325,8 @@ void Common_Set_DTCNumTime(uint32_t Vol) ...@@ -10324,6 +10325,8 @@ void Common_Set_DTCNumTime(uint32_t Vol)
DTCDispNum = Vol; DTCDispNum = Vol;
} }
uint8_t Flash_time = 0;
uint16_t Color_Time = 0;// 20 更换一次颜色
void Gui_Display_Test(void) void Gui_Display_Test(void)
{ {
...@@ -10331,8 +10334,7 @@ void Gui_Display_Test(void) ...@@ -10331,8 +10334,7 @@ void Gui_Display_Test(void)
uint16_t Get_Data_Rev_value = 0u ; uint16_t Get_Data_Rev_value = 0u ;
uint16_t Get_Data_Veh_valueMax = 0u; uint16_t Get_Data_Veh_valueMax = 0u;
uint16_t Get_Data_Rev_valueMax = 0u; uint16_t Get_Data_Rev_valueMax = 0u;
static uint16_t Time = 0; uint32_t TmpRet = 0;
static uint16_t Flag = 0;
/*获取的是步数,与当前步数*/ /*获取的是步数,与当前步数*/
Get_Data_Veh_value = GetGaugesCurrentPos(VehGauges) ; Get_Data_Veh_value = GetGaugesCurrentPos(VehGauges) ;
...@@ -10342,65 +10344,75 @@ void Gui_Display_Test(void) ...@@ -10342,65 +10344,75 @@ void Gui_Display_Test(void)
Get_Data_Rev_valueMax = GetGaugesMaxOutVal(RevGauges) ; Get_Data_Rev_valueMax = GetGaugesMaxOutVal(RevGauges) ;
//if (( Get_Data_Veh_value >= Get_Data_Veh_valueMax ) && ( Get_Data_Rev_value >= Get_Data_Rev_valueMax )) //if (( Get_Data_Veh_value >= Get_Data_Veh_valueMax ) && ( Get_Data_Rev_value >= Get_Data_Rev_valueMax ))
{
if (CheckSpiFlashCRC() == 0)
{
GUI_General_Display(WET_Sprite, quanping_red , GUI_BLENDMODE_SRC_OVER);
}
else
{ {
while (1) while (1)
{ {
WDT_Clear(); WDT_Clear();
Time++; if (Flash_time < 30)
if (Time > 500)
{
Time = 0;
if (Flag <= 7)
{ {
Flag ++; Flash_time++;
}
} }
else
if ((Flag == 0) && (Time == 1))
{ {
loc_Del_Sprite(WET_Sprite, Calendar_Sprite); if (Color_Time >= 0 && Color_Time < 20)
loc_free_mem(WET_Sprite, Calendar_Sprite);
}
else if (Flag == 1)
{ {
GUI_General_Display(WET_Sprite, quanping_white , GUI_BLENDMODE_SRC_OVER); //蓝色
Loc_Display_Red(0, 0, 0XFF);
} }
else if (Flag == 2) else if (Color_Time >= 20 && Color_Time < 40)
{ {
GUI_General_Display(WET_Sprite, quanping_blue , GUI_BLENDMODE_SRC_OVER); //绿色
Loc_Display_Red(0, 0XFF, 0);
} }
else if (Flag == 3) else if (Color_Time >= 40 && Color_Time < 60)
{ {
GUI_General_Display(WET_Sprite, quanping_red , GUI_BLENDMODE_SRC_OVER); //黄色
Loc_Display_Red(0xFF, 0XFF, 0);
} }
else if (Flag == 4) else if (Color_Time >= 60 && Color_Time < 80)
{ {
GUI_General_Display(WET_Sprite, quanping_green , GUI_BLENDMODE_SRC_OVER); //红色
Loc_Display_Red(0XFF, 0, 0);
} }
else if (Flag == 5) else if (Color_Time >= 80 && Color_Time < 100)
{ {
GUI_General_Display(WET_Sprite, quanping_black , GUI_BLENDMODE_SRC_OVER); //黑色
Loc_Display_Red(0, 0, 0);
} }
else if (Flag == 6) else if (Color_Time >= 100 && Color_Time < 120)
{ {
GUI_General_Display(WET_Sprite, quanping_MSK , GUI_BLENDMODE_SRC_OVER); //白色
Loc_Display_Red(0xFF, 0xFF, 0XFF);
} }
else if (Flag == 7) else if (Flash_time == 30)
{ {
HMI_Clear_KEY_CONFIRM(); Flash_time = 250;
GUI_General_Display(WET_Sprite, ditu_2, GUI_BLENDMODE_CUSTOM);
loc_enable_mem(WET_Sprite, Calendar_Sprite); TmpRet = CheckSpiFlashCRC();
if (TmpRet == 0)
{
Loc_Display_Red(0XFF, 0, 0);
}
else
{
//检验正常。恢复显示正常界面
if (Color_Time == 120)
{
Loc_Display_Red(1, 1, 1);
Flash_time = 0;
Color_Time = 0;
break; break;
} }
} }
} }
if (Color_Time < 120)
{
Color_Time++;
}
}
}
} }
} }
\ No newline at end of file
...@@ -25,7 +25,7 @@ uint8_t BG_display_flag; ...@@ -25,7 +25,7 @@ uint8_t BG_display_flag;
uint16_t HMI_StartAnimationFrameCnt; uint16_t HMI_StartAnimationFrameCnt;
uint8_t backgroundOFFFlag; uint8_t backgroundOFFFlag;
uint32_t BackOdoFlagSta; uint8_t BackOdoFlagSta;
static void switch_branch(void); static void switch_branch(void);
...@@ -183,16 +183,20 @@ void DisplayServices(void) ...@@ -183,16 +183,20 @@ void DisplayServices(void)
{ {
HMI_Clear_KEY_CONFIRM(); HMI_Clear_KEY_CONFIRM();
} }
/*确认超长 5 S*/ /*确认超长 3S*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_SUPER_LONG_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CONFIRM == KEY_EVENT_SUPER_LONG_PRESS)
{ {
//HMI_Clear_KEY_CONFIRM(); HMI_Clear_KEY_CONFIRM();
if (BackOdoFlagSta == 0)
{
HMI_Clear_KEY_CONFIRM();
Gui_Display_Test();
/*TYW总计清零*/ /*TYW总计清零*/
TYW_Data_ODO_Clear();
//if (Data_ODO_Read() != 0) BackOdoFlagSta = 1 ;
BackOdoFlagSta++; TYW_Data_ODO_Clear();
//Gui_Display_Test(); }
} }
/*返回短*/ /*返回短*/
else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CANCEL == KEY_EVENT_SHORT_PRESS) else if (UE_CtrlInfo.HMI_KEYInfo.u8KEY_CANCEL == KEY_EVENT_SHORT_PRESS)
......
...@@ -265,7 +265,35 @@ static void Common_Set_Act_E_Speed(uint16_t Val) ...@@ -265,7 +265,35 @@ 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)
{ {
Disp_V_Speed = Val; static uint16_t Vspeed_ReflashTime = 0;
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)
{ {
...@@ -341,6 +369,7 @@ void Common_Input_Para(void) ...@@ -341,6 +369,7 @@ void Common_Input_Para(void)
/*车速*/ /*车速*/
wbyTest = Speed_Get_Display_Value(); wbyTest = Speed_Get_Display_Value();
Common_Set_Disp_V_Speed(wbyTest); Common_Set_Disp_V_Speed(wbyTest);
Common_Set_Act_V_Speed(Speed_Get_ActualValue()); Common_Set_Act_V_Speed(Speed_Get_ActualValue());
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "davehd_kernel_bridge.h" #include "davehd_kernel_bridge.h"
#include "davehd_os_libc.h" #include "davehd_os_libc.h"
#include "r_sys_davehd.h" #include "r_sys_davehd.h"
#include "jcua.h"
//#include "wm.h" //#include "wm.h"
...@@ -47,7 +48,7 @@ ...@@ -47,7 +48,7 @@
static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB888[] = static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB888[] =
/* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */ /* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */
{ {
/* VDCE0 Output 24bit parallel, HSync+VSync+DE */ /* VDCE0 Output 24bit parallel, HSync+VSync+DE */
{44, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 23 */ {44, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 23 */
...@@ -77,15 +78,15 @@ static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB888[] = ...@@ -77,15 +78,15 @@ static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB888[] =
{45, 12, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, {45, 12, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1},
{45, 13, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 0 */ {45, 13, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 0 */
{43, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON2 HS */ {43, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON2 HS */
/* 43, 0, 2u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1, VDCE0 Out Tcon3 DE (shared on same pin as TCON2 HS) */ /* 43, 0, 2u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1, VDCE0 Out Tcon3 DE (shared on same pin as TCON2 HS) */
{43, 1, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON0 VS */ {43, 1, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON0 VS */
/* delimiter - do not remove */ /* delimiter - do not remove */
{0u, R_DEV_PIN_LAST,0u,R_DEV_PIN_OUT,0u,R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1} {0u, R_DEV_PIN_LAST, 0u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}
}; };
static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB666[] = static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB666[] =
/* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */ /* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */
{ {
/* VDCE0 Output 18bit parallel, HSync+VSync+DE */ /* VDCE0 Output 18bit parallel, HSync+VSync+DE */
{44, 6, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 17 */ {44, 6, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 17 */
...@@ -109,15 +110,15 @@ static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB666[] = ...@@ -109,15 +110,15 @@ static const r_dev_PinConfig_t g_stGfxVoPinCfgRGB666[] =
{45, 12, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, {45, 12, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1},
{45, 13, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 0 */ {45, 13, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out Data 0 */
{43, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON2 HS */ {43, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON2 HS */
/* 43, 0, 2u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1, VDCE0 Out Tcon3 DE (shared on same pin as TCON2 HS) */ /* 43, 0, 2u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1, VDCE0 Out Tcon3 DE (shared on same pin as TCON2 HS) */
{43, 1, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON0 VS */ {43, 1, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 Out TCON0 VS */
/* delimiter - do not remove */ /* delimiter - do not remove */
{0u, R_DEV_PIN_LAST,0u,R_DEV_PIN_OUT,0u,R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1} {0u, R_DEV_PIN_LAST, 0u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}
}; };
static const r_dev_PinConfig_t g_stGfxVoPinCfgOpenLDI[] = static const r_dev_PinConfig_t g_stGfxVoPinCfgOpenLDI[] =
/* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */ /* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */
{ {
/* VDCE0 Output 24bit OpenLDI */ /* VDCE0 Output 24bit OpenLDI */
{45, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 OpenLDI ch0_p (clk_p) */ {45, 0, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 OpenLDI ch0_p (clk_p) */
...@@ -132,11 +133,11 @@ static const r_dev_PinConfig_t g_stGfxVoPinCfgOpenLDI[] = ...@@ -132,11 +133,11 @@ static const r_dev_PinConfig_t g_stGfxVoPinCfgOpenLDI[] =
{45, 9, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 OpenLDI ch4_n */ {45, 9, 1u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 1u, R_DEV_PIN_CMOS1}, /* VDCE0 OpenLDI ch4_n */
/* delimiter - do not remove */ /* delimiter - do not remove */
{0u, R_DEV_PIN_LAST,0u,R_DEV_PIN_OUT,0u,R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1} {0u, R_DEV_PIN_LAST, 0u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}
}; };
static const r_dev_PinConfig_t g_stGfxViPinCfgITU656[] = static const r_dev_PinConfig_t g_stGfxViPinCfgITU656[] =
/* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */ /* Port Pin Func Dir Feedback Pull OpenDrain HiCurr HiSpeed InputType */
{ {
/* VDCE0 Input ITU on P42_[10:0] AF2_In; BT656 from CVBS source via SAA71xx video converter */ /* VDCE0 Input ITU on P42_[10:0] AF2_In; BT656 from CVBS source via SAA71xx video converter */
{42, 0, 2u, R_DEV_PIN_IN, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}, /* VDCE1 In ITU DATA7 */ {42, 0, 2u, R_DEV_PIN_IN, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}, /* VDCE1 In ITU DATA7 */
...@@ -152,7 +153,7 @@ static const r_dev_PinConfig_t g_stGfxViPinCfgITU656[] = ...@@ -152,7 +153,7 @@ static const r_dev_PinConfig_t g_stGfxViPinCfgITU656[] =
{42, 10, 2u, R_DEV_PIN_IN, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}, /* VDCE1 In ITU VSYNC */ {42, 10, 2u, R_DEV_PIN_IN, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}, /* VDCE1 In ITU VSYNC */
/* delimiter - do not remove */ /* delimiter - do not remove */
{0u, R_DEV_PIN_LAST,0u,R_DEV_PIN_OUT,0u,R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1} {0u, R_DEV_PIN_LAST, 0u, R_DEV_PIN_OUT, 0u, R_DEV_PIN_PULLNO, 0u, 0u, 0u, R_DEV_PIN_CMOS1}
}; };
...@@ -306,10 +307,10 @@ void Gfx_Sys_Start(void) ...@@ -306,10 +307,10 @@ void Gfx_Sys_Start(void)
uint32_t u32Delay; uint32_t u32Delay;
/* Memory setup */ /* Memory setup */
#if GFX_USE_INTERNAL_VRAM #if GFX_USE_INTERNAL_VRAM
g_u32GfxVRAM0Addr = D1M1A_VRAM0; g_u32GfxVRAM0Addr = D1M1A_VRAM0;
g_u32GfxVRAM0Size = D1M1A_VRAM0_SIZE + D1M1A_VRAM1_SIZE; g_u32GfxVRAM0Size = D1M1A_VRAM0_SIZE + D1M1A_VRAM1_SIZE;
#else #else
uint32_t u32SDRAMSize; uint32_t u32SDRAMSize;
u32SDRAMSize = Mem_SDRAM_Size(); u32SDRAMSize = Mem_SDRAM_Size();
...@@ -323,9 +324,9 @@ void Gfx_Sys_Start(void) ...@@ -323,9 +324,9 @@ void Gfx_Sys_Start(void)
g_u32GfxVRAM0Addr = D1M1A_SDRAM_BASE; g_u32GfxVRAM0Addr = D1M1A_SDRAM_BASE;
g_u32GfxVRAM0Size = GFX_VRAM_SIZE_IN_SDRAM; g_u32GfxVRAM0Size = GFX_VRAM_SIZE_IN_SDRAM;
} }
#endif #endif
#if GFX_USE_VOWE #if GFX_USE_VOWE
/* 1st is VOWE display list. We reserve space for two display lists. */ /* 1st is VOWE display list. We reserve space for two display lists. */
/* Size is set to multiple of 1024 byte because VOWE image buffer has the alignment restriction. */ /* Size is set to multiple of 1024 byte because VOWE image buffer has the alignment restriction. */
if ( g_u32GfxVRAM0Size > (GFX_VOWE_DL_BUF_SIZE * 2u) ) if ( g_u32GfxVRAM0Size > (GFX_VOWE_DL_BUF_SIZE * 2u) )
...@@ -363,7 +364,7 @@ void Gfx_Sys_Start(void) ...@@ -363,7 +364,7 @@ void Gfx_Sys_Start(void)
} }
} }
#endif /* LOC_VOWE_ENABLE */ #endif /* LOC_VOWE_ENABLE */
/* 3rd is GPU2D. GPU is happy with almost any alignment, so it comes last.*/ /* 3rd is GPU2D. GPU is happy with almost any alignment, so it comes last.*/
if ( g_u32GfxVRAM0Size > GFX_DHD_MEMORY_SIZE) if ( g_u32GfxVRAM0Size > GFX_DHD_MEMORY_SIZE)
...@@ -382,7 +383,7 @@ void Gfx_Sys_Start(void) ...@@ -382,7 +383,7 @@ void Gfx_Sys_Start(void)
} }
} }
/* x = R_CDI_InitHeapManager((uint32_t)g_u8GfxlRAMheapMem, /* x = R_CDI_InitHeapManager((uint32_t)g_u8GfxlRAMheapMem,
&g_stGfxlRAMheap, &g_stGfxlRAMheap,
g_u16GfxlRAMheapIdxList, g_u16GfxlRAMheapIdxList,
GFX_CPU_HP_BLOCK_NB, GFX_CPU_HP_BLOCK_NB,
...@@ -531,7 +532,7 @@ void Gfx_Sys_Start(void) ...@@ -531,7 +532,7 @@ void Gfx_Sys_Start(void)
//LCD_BIAS_EN = 1U; //LCD_BIAS_EN = 1U;
//LCD_RSTB = 1U; //LCD_RSTB = 1U;
//LCD_STDBYB = 1U; //LCD_STDBYB = 1U;
/* /*
GPIO_Config_st_t stPinCfg; GPIO_Config_st_t stPinCfg;
stPinCfg.enGPIOPort = GPIO_PORT_GROUP_42; stPinCfg.enGPIOPort = GPIO_PORT_GROUP_42;
stPinCfg.enGPIOPIN = GPIO_PIN_11; stPinCfg.enGPIOPIN = GPIO_PIN_11;
...@@ -748,7 +749,7 @@ void Gfx_Create_Window(r_wm_WinMode_t enMode, ...@@ -748,7 +749,7 @@ void Gfx_Create_Window(r_wm_WinMode_t enMode,
pstWindow->Surface.Fb.BufNum = u32Bnumber; pstWindow->Surface.Fb.BufNum = u32Bnumber;
pstWindow->Surface.Fb.Buffer = MainScreenBuffer; pstWindow->Surface.Fb.Buffer = MainScreenBuffer;
pstWindow->Surface.Fb.BufMode = R_WM_WINBUF_ALLOC_EXTERNAL; pstWindow->Surface.Fb.BufMode = R_WM_WINBUF_ALLOC_EXTERNAL;
for(i = 0; i < u32Bnumber; i++) for (i = 0; i < u32Bnumber; i++)
{ {
//MainScreenBuffer[i].Data = R_CDI_Alloc(&g_stGfxSDRAMheap, u32Height * u32Pitch * 4); //MainScreenBuffer[i].Data = R_CDI_Alloc(&g_stGfxSDRAMheap, u32Height * u32Pitch * 4);
MainScreenBuffer[i].Data = R_CDI_Alloc(&g_stGfxVRAMheap, u32Height * u32Pitch * 4); MainScreenBuffer[i].Data = R_CDI_Alloc(&g_stGfxVRAMheap, u32Height * u32Pitch * 4);
...@@ -760,9 +761,19 @@ void Gfx_Create_Window(r_wm_WinMode_t enMode, ...@@ -760,9 +761,19 @@ void Gfx_Create_Window(r_wm_WinMode_t enMode,
R_WM_WindowEnable(GFX_WM_UNIT, pstWindow); R_WM_WindowEnable(GFX_WM_UNIT, pstWindow);
} }
void Loc_Display_Red(uint8_t ColorR, uint8_t ColorG, uint8_t ColorB)
{
if (ColorR == 1 && ColorG == 1 && ColorB == 1)
{
JCUA_Enable_window();
loc_Enable_Window_App();
}
else
{
loc_Disable_Window_App();
JCUA_Disable_window();
R_WM_ScreenBgColorSet(0, ColorR, ColorG, ColorB);
R_WM_FrameEndMark(0, 0);
R_WM_FrameWait(0, 0);
}
}
\ No newline at end of file
...@@ -165,9 +165,6 @@ extern void Gfx_Create_Window(r_wm_WinMode_t enMode, ...@@ -165,9 +165,6 @@ extern void Gfx_Create_Window(r_wm_WinMode_t enMode,
r_wm_WinColorFmt_t enColorFmt, r_wm_WinColorFmt_t enColorFmt,
r_wm_Window_t* pstWindow); r_wm_Window_t* pstWindow);
void Loc_Display_Red(uint8_t ColorR, uint8_t ColorG, uint8_t ColorB);
#endif /* GRAPHIC_H__ */ #endif /* GRAPHIC_H__ */
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