Commit 78b956a0 authored by 张金硕's avatar 张金硕

feat:北极星展示程序

parent eb9f3b99
......@@ -18,7 +18,7 @@ typedef struct
uint8_t Result;
}s_AMT630H_FlashCheck_t;
#define AMT630H_REFRESH_TIME 50U
#define AMT630H_REFRESH_TIME 70U
#define AMT630H_ANIMATION_TIME 4000U //ms
#define AMT630H_ANIMATION_PIC_NUM 77U
......
......@@ -13,7 +13,7 @@ uint8_t g_u8SelfCheck = 0;/*自检*/
uint16_t g_u16fuelnumberup = 0;
uint16_t g_u16fuelnumberdown = 200;
uint16_t g_u16vspeednumberup = 0;
uint16_t g_u16vspeednumberdown = 200;
uint16_t g_u16vspeednumberdown = 250;
uint16_t g_u16espeednumberup = 0;
uint16_t g_u16espeednumberdown = 300;
uint16_t g_u16voltagenumberup = 0;
......@@ -22,6 +22,8 @@ uint8_t Voltage_Selfcheck = 1;
uint8_t TFT_SelfCheck = 0;
uint8_t CoolantOpenShortCirTimeCnt = 0;
uint8_t HomePageCoolShortCirTimeCnt = 0;
uint16_t Slow_Times = 0;
uint16_t Slow_Time_Times = 0;
//自检函数
void AMT630H_GUI_BACKGRAND_SelfCheck(void);
......@@ -66,50 +68,59 @@ void AMT630H_GUI_Background()
{
if (SYS_OPR_STAT_IGN_ON)
{
if(g_u8SelfCheck == 1)
{
if(ClearODO_Flag == 1)
{
TFT_SelfCheck++;
if(TFT_SelfCheck < 60)
{
AMT630H_GUI_ReadPosittion_Display();
}
else if (TFT_SelfCheck < 80)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0382_0_0);
}
else if(TFT_SelfCheck < 100)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);
}
else if(TFT_SelfCheck < 120)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0755_0_0);
}
else if(TFT_SelfCheck < 140)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0945_0_0);
}
else if(TFT_SelfCheck < 160)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0757_0_0);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0757_0_0);
TFT_SelfCheck = 60;
}
}
else
{
AMT630H_GUI_ReadPosittion_Display();
}
// if(g_u8SelfCheck == 1)
// {
// if(ClearODO_Flag == 1)
// {
// TFT_SelfCheck++;
// if(TFT_SelfCheck < 60)
// {
// AMT630H_GUI_ReadPosittion_Display();
// }
// else if (TFT_SelfCheck < 80)
// {
// SetPagePic(GRAPHICS_PAGE_0, Pic_0382_0_0);
// }
// else if(TFT_SelfCheck < 100)
// {
// SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);
// }
// else if(TFT_SelfCheck < 120)
// {
// SetPagePic(GRAPHICS_PAGE_0, Pic_0755_0_0);
// }
// else if(TFT_SelfCheck < 140)
// {
// SetPagePic(GRAPHICS_PAGE_0, Pic_0945_0_0);
// }
// else if(TFT_SelfCheck < 160)
// {
// SetPagePic(GRAPHICS_PAGE_0, Pic_0757_0_0);
// }
// else
// {
// SetPagePic(GRAPHICS_PAGE_0, Pic_0757_0_0);
// TFT_SelfCheck = 60;
// }
// }
// else
// {
// AMT630H_GUI_ReadPosittion_Display();
// }
// }
// else
// {
// AMT630H_GUI_BACKGRAND_SelfCheck();
// }
if(g_u8Cursor_Posittion == MENU_ITEM_MAIN_ITEM)
{
AMT630H_GUI_BACKGRAND_SelfCheck();
}
else
{
AMT630H_GUI_BACKGRAND_SelfCheck();
AMT630H_GUI_ReadPosittion_Display();
}
}
......@@ -5010,7 +5021,326 @@ void AMT630H_GUI_BACKGRAND()
/*转速*/
AMT630H_GUI_ESpeed(Get_DispEngineSpeed());
}
uint32_t ODO_DemoShow;
uint32_t AMT630H_GUI_ODO_Data(uint16_t odo)
{
// SetPagePic(GRAPHICS_PAGE_0, Pic_0577_48_272);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0578_55_296);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0580_211_324);
// if(odo == 0)
// {
// ODO_DemoShow = 0;
// SetPagePic(GRAPHICS_PAGE_0, Pic_0579_53_328);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0579_77_328);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0579_101_328);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0579_125_328);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0579_149_328);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0579_173_328);
// }
// else if(odo == 1)
// {
// ODO_DemoShow = 111111;
// }
// else if(odo == 2)
// {
// ODO_DemoShow = 222222;
// }
// else if(odo == 3)
// {
// ODO_DemoShow = 333333;
// }
// else if(odo == 4)
// {
// ODO_DemoShow = 444444;
// }
// else if(odo == 5)
// {
// ODO_DemoShow = 555555;
// }
// else if(odo == 6)
// {
// ODO_DemoShow = 666666;
// }
// else if(odo == 7)
// {
// ODO_DemoShow = 777777;
// }
// else if(odo == 8)
// {
// ODO_DemoShow = 888888;
// }
// else if(odo == 9)
// {
// ODO_DemoShow = 999999;
// }
// if((odo>=1) && (odo<=10))
// {
// AMT630H_GUI_ODO(ODO_DemoShow, Get_Dis_Unit());
// }
AMT630H_GUI_ODO(odo, Get_Dis_Unit());
}
uint16_t g_u16odonumberup;
uint16_t g_u16odonumberdowm;
void AMT630H_GUI_ODO_SelfCheck()
{
// if(g_u16odonumberup <= 250)
// {
// AMT630H_GUI_ODO_Data(g_u16odonumberup/25);
// g_u16odonumberup += 10;
// g_u16odonumberdowm = 250;
// }
// else
// {
// if(g_u16odonumberdowm > 0)
// {
// g_u16odonumberdowm -= 10;
// AMT630H_GUI_ODO_Data(g_u16odonumberdowm/25);/*初始化g_u16fuelnumberdown = 320*/
// }
// else
// {
// AMT630H_GUI_ODO_Data(0);
// g_u16odonumberup = 0;
// }
// }
if(g_u16odonumberup <= 20000)
{
AMT630H_GUI_ODO_Data(g_u16odonumberup);
if(Slow_Times >= AMT630H_Slow_Times)
{
g_u16odonumberup += 100;
}
g_u16odonumberdowm = 20000;
}
else
{
if(g_u16odonumberdowm > 0)
{
if(Slow_Times >= AMT630H_Slow_Times)
{
g_u16odonumberdowm -= 100;
}
AMT630H_GUI_ODO_Data(g_u16odonumberdowm);/*初始化g_u16fuelnumberdown = 320*/
}
else
{
AMT630H_GUI_ODO_Data(0);
g_u16odonumberup = 0;
}
}
}
uint16_t VSPEED_Demo_Show;
void AMT630H_GUI_VSpeed_SelfCheck(uint16_t vspeed)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0592_617_271);
SetPagePic(GRAPHICS_PAGE_0, Pic_0593_889_310);/*单位 km/h */
if(vspeed == 0)
{
VSPEED_Demo_Show = 0;
SetPagePic(GRAPHICS_PAGE_0, Pic_0594_338_256);
SetPagePic(GRAPHICS_PAGE_0, Pic_0594_456_256);
SetPagePic(GRAPHICS_PAGE_0, Pic_0594_574_256);
}
else if(vspeed == 1)
{
VSPEED_Demo_Show = 111;
}
else if(vspeed == 2)
{
VSPEED_Demo_Show = 222;
}
else if(vspeed == 3)
{
VSPEED_Demo_Show = 333;
}
else if(vspeed == 4)
{
VSPEED_Demo_Show = 444;
}
else if(vspeed == 5)
{
VSPEED_Demo_Show = 555;
}
else if(vspeed == 6)
{
VSPEED_Demo_Show = 666;
}
else if(vspeed == 7)
{
VSPEED_Demo_Show = 777;
}
else if(vspeed == 8)
{
VSPEED_Demo_Show = 888;
}
else if(vspeed == 9)
{
VSPEED_Demo_Show = 999;
}
if((vspeed>=1) && (vspeed<=10))
{
AMT630H_GUI_VSpeed(VSPEED_Demo_Show);
}
}
uint16_t Time_DemoShow;
uint16_t AMT630H_GUI_Time_Data(uint16_t time)
{
if(time == 0)
{
Time_DemoShow = 0;
AMT630H_GUI_TIME(0,0);
}
else if(time == 1)
{
Time_DemoShow = 11;
}
else if(time == 2)
{
Time_DemoShow = 22;
}
else if(time == 3)
{
Time_DemoShow = 33;
}
else if(time == 4)
{
Time_DemoShow = 44;
}
else if(time == 5)
{
Time_DemoShow = 55;
}
else if(time == 6)
{
Time_DemoShow = 66;
}
else if(time == 7)
{
Time_DemoShow = 77;
}
else if(time == 8)
{
Time_DemoShow = 88;
}
else if(time == 9)
{
Time_DemoShow = 99;
}
else
{
;
}
if((time>=1) && (time<=10))
{
AMT630H_GUI_TIME(Time_DemoShow,Time_DemoShow);
}
return Time_DemoShow;
}
uint16_t g_u16Timenumberup;
uint16_t g_u16Timenumberdown;
uint16_t g_u16LEDnumberup;
uint16_t g_u16LEDnumberdown;
uint16_t AMT630H_GUI_LED_Data(uint16_t led_num)
{
if (FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0752_28_13);/*左转向*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0736_941_13);/*右转向*/
}
switch (led_num)
{
case 0:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0750_106_26);/*TCS*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0751_111_30);/* / */
break;
}
case 1:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0748_194_26);/*E*/
break;
}
case 2:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0747_244_26);/*HEV*/
break;
}
case 3:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0745_341_21);/*自动启停灯*/
break;
}
case 4:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0744_402_21);/*远光灯*/
break;
}
case 5:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0743_476_20);/*ABS*/
break;
}
case 6:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0742_544_22);/*电喷故障指示灯*/
break;
}
case 7:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0741_616_20);/*水温灯*/
break;
}
case 8:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0740_682_21);/*蓝牙*/
break;
}
case 9:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0739_731_19);/*胎压*/
break;
}
case 10:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0738_792_25);/*机油压力灯*/
break;
}
case 11:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0737_875_23);/*WIFI*/
break;
}
case 12:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0737_875_23);/*WIFI*/
break;
}
case 13:
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0744_402_21);/*远光灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0742_544_22);/*电喷故障指示灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0743_476_20);/*ABS*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0745_341_21);/*自动启停灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0738_792_25);/*机油压力灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0750_106_26);/*TCS*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0751_111_30);/* / */
SetPagePic(GRAPHICS_PAGE_0, Pic_0747_244_26);/*HEV*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0741_616_20);/*水温灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0737_875_23);/*WIFI*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0740_682_21);/*蓝牙*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0748_194_26);/*E*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0563_923_407); /*红色电压指示灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0739_731_19);/*胎压*/
break;
}
}
}
/*自检*/
void AMT630H_GUI_BACKGRAND_SelfCheck()
......@@ -5043,82 +5373,139 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
}
}
/*指示灯显示*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0752_28_13);/*左转向*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0736_941_13);/*右转向*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0744_402_21);/*远光灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0742_544_22);/*电喷故障指示灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0743_476_20);/*ABS*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0745_341_21);/*自动启停灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0738_792_25);/*机油压力灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0750_106_26);/*TCS*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0751_111_30);/* / */
SetPagePic(GRAPHICS_PAGE_0, Pic_0747_244_26);/*HEV*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0741_616_20);/*水温灯*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0737_875_23);/*WIFI*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0740_682_21);/*蓝牙*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0748_194_26);/*E*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0563_923_407); /*红色电压指示灯*/
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
if(KL30_VOLTAGE_time < 10)
if(g_u16LEDnumberup <= 300)
{
KL30_VOLTAGE_time++;
AMT630H_GUI_LED_Data(g_u16LEDnumberup/25);
g_u16LEDnumberup += 12;
g_u16LEDnumberdown = 300;
}
else
{
KL30_VOLTAGE_time = 0;
KL30_VOLTAGE_Value = (ADC_Read_Signal(ADC_CH_KL30_VOLTAGE)) / 10;
if(g_u16LEDnumberdown > 0)
{
g_u16LEDnumberdown -= 12;
AMT630H_GUI_LED_Data(13);/*初始化g_u16fuelnumberdown = 320*/
}
else
{
AMT630H_GUI_LED_Data(0);
g_u16LEDnumberup = 0;
}
}
if(Slow_Times >= AMT630H_Slow_Times)
{
Slow_Times = 0;
}
/*里程无自检*/
if(Get_Dis_OdoAndTrip() == 0)
else
{
AMT630H_GUI_ODO(Get_ODO_Value() / 10, Get_Dis_Unit());
Slow_Times++;
}
else
if(Slow_Time_Times >= AMT630H_Slow_Time_Times)
{
AMT630H_GUI_Trip(Get_Trip_Value(), Get_Dis_Unit());
Slow_Time_Times = 0;
}
/*燃油自检*/
if(g_u16fuelnumberup <= 200)
else
{
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberup/25);
g_u16fuelnumberup += 8;
Slow_Time_Times++;
}
if(g_u16Timenumberup <= 240)
{
AMT630H_GUI_TIME(g_u16Timenumberup/10,g_u16Timenumberup/4);
if(Slow_Time_Times >= AMT630H_Slow_Time_Times)
{
g_u16Timenumberup += 10;
}
g_u16Timenumberdown = 240;
}
else
{
if(g_u16fuelnumberdown > 0)
if(g_u16Timenumberdown > 0)
{
g_u16fuelnumberdown -= 8;
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberdown/25);/*初始化g_u16fuelnumberdown = 320*/
if(Slow_Time_Times >= AMT630H_Slow_Time_Times)
{
g_u16Timenumberdown -= 10;
}
AMT630H_GUI_TIME(g_u16Timenumberdown/10,g_u16Timenumberdown/4);/*初始化g_u16fuelnumberdown = 320*/
}
else
{
;
AMT630H_GUI_TIME(0,0);
g_u16Timenumberup = 0;
}
}
}
// AMT630H_GUI_TIME(Get_Dis_Time_SelfCheck(), Get_Dis_Time_SelfCheck());
// if(KL30_VOLTAGE_time < 10)
// {
// KL30_VOLTAGE_time++;
// }
// else
// {
// KL30_VOLTAGE_time = 0;
// KL30_VOLTAGE_Value = (ADC_Read_Signal(ADC_CH_KL30_VOLTAGE)) / 10;
// }
/*里程无自检*/
AMT630H_GUI_ODO_SelfCheck();
// if(Get_Dis_OdoAndTrip() == 0)
// {
// AMT630H_GUI_ODO(Get_ODO_Value() / 10, Get_Dis_Unit());
// }
// else
// {
// AMT630H_GUI_Trip(Get_Trip_Value(), Get_Dis_Unit());
// }
/*车速自检*/
if(g_u16vspeednumberup <= 200)
if(g_u16vspeednumberup <= 240)
{
AMT630H_GUI_VSpeed(g_u16vspeednumberup);/*初始化g_u16vspeednumberup = 0*/
g_u16vspeednumberup += 8;
if(Slow_Times >= AMT630H_Slow_Times)
{
g_u16vspeednumberup += 1;
}
g_u16vspeednumberdown = 240;
}
else
{
if(g_u16vspeednumberdown >0)
{
g_u16vspeednumberdown -= 8;/*初始化g_u16vspeednumberup=200*/
if(Slow_Times >= AMT630H_Slow_Times)
{
g_u16vspeednumberdown -= 1;/*初始化g_u16vspeednumberup=200*/
}
AMT630H_GUI_VSpeed(g_u16vspeednumberdown);/*if g_u16vspeednumberup=0 车速自检结束*/
}
else
{
;
AMT630H_GUI_VSpeed(0);
g_u16vspeednumberup = 0;
}
}
/*燃油自检*/
if(g_u16fuelnumberup <= 200)
{
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberup/25);
g_u16fuelnumberup += 8;
g_u16fuelnumberdown = 200;
}
else
{
if(g_u16fuelnumberdown > 0)
{
g_u16fuelnumberdown -= 8;
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberdown/25);/*初始化g_u16fuelnumberdown = 320*/
}
else
{
g_u16fuelnumberup = 0;
}
}
/*转速自检*/
if(g_u16espeednumberup <= 300)
{
AMT630H_GUI_ESpeed(g_u16espeednumberup*40);/*初始化g_u16espeednumberup = 0*/
g_u16espeednumberup += 12;
g_u16espeednumberdown = 300;
}
else
{
......@@ -5127,6 +5514,10 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
AMT630H_GUI_ESpeed(g_u16espeednumberdown*40);/*初始化g_u16espeednumberdown = 300*/
g_u16espeednumberdown -= 12;/*g_u16espeednumberdown = 0 转速自检结束*/
}
else
{
g_u16espeednumberup = 0;
}
}
// /*
// *电压值自检
......@@ -5156,7 +5547,7 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
}
if(g_u16vspeednumberdown == 0)
{
AMT630H_GUI_VSpeed(g_u16vspeednumberdown);
// AMT630H_GUI_VSpeed(g_u16vspeednumberdown);
}
if(g_u16espeednumberdown == 0)
{
......@@ -5167,15 +5558,15 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
// AMT630H_GUI_Voltage(0);
// }
/*结束自检*/
if((g_u16fuelnumberdown == 0)&&(g_u16vspeednumberdown == 0)&&(g_u16espeednumberdown == 0))
{
g_u8SelfCheck = 1;/*自检结束标志*/
Voltage_Selfcheck = 0;
}
else
{
;
}
// if((g_u16fuelnumberdown == 0)&&(g_u16vspeednumberdown == 0)&&(g_u16espeednumberdown == 0))
// {
// g_u8SelfCheck = 1;/*自检结束标志*/
// Voltage_Selfcheck = 0;
// }
// else
// {
// ;
// }
}
void AMT630H_GUI_SELFCHECK_STS_INIT(void)
{
......
......@@ -49,7 +49,8 @@ typedef enum
}_g_u8UnitSetting;
#define AMT630H_Slow_Times 1U
#define AMT630H_Slow_Time_Times 2U
extern void AMT630H_GUI_DisplayProc(void);
extern void AMT630H_GUI_Background(void);
extern uint8_t GET_Backlight(void);
......
......@@ -505,7 +505,8 @@ void Get_DisTime_Service(void)
void My_Key_Service(void)
{
/* 自检和OTA界面时不可操作按键 */
if((g_u8SelfCheck) && (OTA_Update_Flag == 0))
// if((g_u8SelfCheck) && (OTA_Update_Flag == 0))
if(OTA_Update_Flag == 0)
{
Key_Service();
}
......
......@@ -20,7 +20,7 @@ void Sys_2ms_Tasks(void)
Sys_Status_Update_Service();
Analog_Signal_Conv_Service();
AMT630H_Main();
Check_MCU_Info_in_630H();
// Check_MCU_Info_in_630H();
DoCAN_Timer_Update(2000u);
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发
CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp, 2u);
......
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