Commit 931e591b authored by 王金亮's avatar 王金亮

Merge branch 'dev' of http://tyw-server.synology.me:12345/shihao/haojin750tft into wjl_devlop

parents 1cff1900 1f470d3a
......@@ -978,6 +978,11 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Component\AMT630H\PicBin.h</FilePath>
</File>
<File>
<FileName>kei_S1.0.6_20240827.lib</FileName>
<FileType>4</FileType>
<FilePath>..\..\..\..\Source\Component\AMT630H\kei_S1.0.6_20240827.lib</FilePath>
</File>
<File>
<FileName>UartProtocol.h</FileName>
<FileType>5</FileType>
......
......@@ -53,11 +53,38 @@ void BlueToothService()
{
Menu_Change_Branch_To_Item(MENU_BRANCH_ANIMATION,MENU_ITEM_MAIN_ITEM);
}
SetUUIDData((char *)UUIDConfigBuf, 22);
QRCode_Rect.x = 650;
QRCode_Rect.y = 210;
QRCode_Rect.height = 240;
QRCode_Rect.width = 240;
SetScreenType(QRCode_TYPE, QRCode_Rect);
if(Menu_Get_Current_Cursor_Information() != MENU_ITEM_FAULT_INFORMATION)
{
OTA_Update_Flag = 0;
}
if(OTA_Update_Flag == 1)
{
if(OTA_Update_Count_Open < 5)
{
SetUpdateCtrl(1,QRCode_Rect);
OTA_Update_Count_Open++;
}
OTA_Update_Count_Close = 0;
}
else
{
if(OTA_Update_Count_Close < 5)
{
SetUpdateCtrl(0,QRCode_Rect);
OTA_Update_Count_Close++;
}
OTA_Update_Count_Open=0;
}
// SetTaskbarHeight(150);
SetBlueToothName((uint8_t *)HJBlueToothName, sizeof(HJBlueToothName));
TextService();
// SetBlueToothName((uint8_t *)HJBlueToothName, sizeof(HJBlueToothName));
// SetUUIDData((char *)UUIDConfigBuf, 22);
// BlueConnectStatus = GetBlueToothPowerSTATE();
// juasfha = BlueToothPhoneData.BlueToothPhoneSate;
......@@ -136,33 +163,3 @@ void TextService(void)
}
}
void OTAUpdateService(void)
{
QRCode_Rect.x = 178;
QRCode_Rect.y = 130;
QRCode_Rect.height = 240;
QRCode_Rect.width = 240;
SetScreenType(QRCode_TYPE, QRCode_Rect);
if(Menu_Get_Current_Cursor_Information() != MENU_ITEM_FAULT_INFORMATION)
{
OTA_Update_Flag = 0;
}
if(OTA_Update_Flag == 1)
{
if(OTA_Update_Count_Open < 5)
{
SetUpdateCtrl(1,QRCode_Rect);
OTA_Update_Count_Open++;
}
OTA_Update_Count_Close = 0;
}
else
{
if(OTA_Update_Count_Close < 5)
{
SetUpdateCtrl(0,QRCode_Rect);
OTA_Update_Count_Close++;
}
OTA_Update_Count_Open=0;
}
}
......@@ -32,8 +32,7 @@ typedef struct {
extern void BlueToothService(void);
extern void OTAUpdateService(void);
extern void OTAUpdateInit(void);
extern _PICID_Struct PicObj;
extern _QRCODE_RECT QRCode_Rect;
#endif
\ No newline at end of file
......@@ -25,7 +25,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
500ul,
0x111ul,
(( void * )0),
(( void * )0),
......
#include "FaultCode.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
static _st_Init FaultCodeInit;
static uint16_t u16FaultCodeDtcCount = 0;
static uint16_t u16FaultCodeDtcCountBack = 0;
......@@ -395,3 +396,21 @@ uint8_t Get_FaultCode_Valid(void)
{
return u8FaultCodeValid;
}
/*
*NAME : Get_FaultCode_Lost()
*FUNCTION : 获取发送故障码的CAN是否掉线
*RETURN : 0-LOST 1-ONLINE
*/
uint8_t Get_FaultCode_Lost(void)
{
uint8_t u8FaultCodeLost = 0;
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_402_Msg_Count) == CAN_SIG_LOST)
{
u8FaultCodeLost = 0;
}
else
{
u8FaultCodeLost = 1;
}
return u8FaultCodeLost;
}
......@@ -11,10 +11,14 @@ uint8_t g_u8UnitSetting = Metric ;
uint8_t g_u8SelfCheck = 0;/*自检*/
uint16_t g_u16fuelnumberup = 0;
uint16_t g_u16fuelnumberdown = 200;
uint16_t g_u16vspeednumberup = 0;
uint16_t g_u16vspeednumberdown = 300;
uint16_t g_u16vspeednumberdown = 200;
uint16_t g_u16espeednumberup = 0;
uint16_t g_u16espeednumberdown = 300;
uint16_t g_u16voltagenumberup = 0;
uint16_t g_u16voltagenumberdown = 160;
uint8_t Voltage_Selfcheck = 1;
//自检函数
void AMT630H_GUI_BACKGRAND_SelfCheck(void);
......@@ -26,7 +30,7 @@ void AMT630H_GUI_SETTING(void);
void AMT630H_GUI_Quit(void);
void AMT630H_GUI_Phone_Connect(void);
void AMT630H_GUI_Fault_Information(void);
void AMT630H_GUI_FaultCode(uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid);
void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost,uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid);
void AMT630H_GUI_Language_Information(void);
void AMT630H_GUI_Unit_Information(void);
void AMT630H_GUI_Display_Mode_Information(void);
......@@ -42,6 +46,12 @@ void AMT630H_GUI_Unit_Setting(Menu_Interface_en_t select);
void AMT630H_GUI_Language_Setting(Menu_Interface_en_t select); /*语言设置*/
void AMT630H_GUI_Phone_Connect_Win(void); /*手机互联*/
void AMT630H_GUI_ReadPosittion_Display(void);
/*投屏界面*/
static void AMT630H_GUI_PhoneConnect_Light();
static void AMT630H_GUI_PhoneConnect_TIME(uint16_t Hour ,uint16_t Minute);
static void AMT630H_GUI_PhoneConnect_VSpeed(uint16_t VechileSpeed);
void AMT630H_GUI_Background()
{
if (SYS_OPR_STAT_IGN_ON)
......@@ -71,7 +81,6 @@ void AMT630H_GUI_Fault_Information(void)
{
if(g_u8Display_Mode == ModeDAY)
{
if(g_u8Language == CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0163_27_396);
......@@ -86,7 +95,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0168_350_290);
SetPagePic(GRAPHICS_PAGE_0, Pic_0169_353_227);/*历史故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0170_354_162);/*当前故障*/
AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
}
else if(g_u8Language == EN)
{
......@@ -103,13 +112,11 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0096_338_228);/*Fault history*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0097_334_163);/*current fault*/
AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
}
}
else if(g_u8Display_Mode == ModeNIGHT)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0900_610_229);//夜间 历史故障P
SetPagePic(GRAPHICS_PAGE_0, Pic_0900_610_164);//夜间 当前故障P
if(g_u8Language == CH)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0350_27_396);
......@@ -125,7 +132,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0356_353_227);/*历史故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0357_354_162);/*当前故障*/
AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
}
else if(g_u8Language == EN)
{
......@@ -141,8 +148,8 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0282_375_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228);
SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163);
AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163);/*current fault*/
AMT630H_GUI_FaultCode(Get_FaultCode_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
}
}
}
......@@ -173,112 +180,188 @@ static uint16_t NumbeList_FaultCode_night[]={
Pic_0234_605_289,
};
uint8_t FaultCodevalid_monitor = 2;
/*故障码显示函数*/
static void AMT630H_GUI_FaultCode(uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid)
static void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost,uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid)
{
/*数字只有两组 历史故障和故障信息纵坐标不同*/
DISPLAY_NUM_ST DisplayNumPara;
uint16_t frontnumber;
uint16_t midnumber;
frontnumber = FaultCode_hight;
midnumber = FaultCode_mid;
if(FaultCodevalid == 1)
FaultCodevalid_monitor = FaultCodevalid;
if(FaultCodeLost == 1)
{
if(g_u8Display_Mode == ModeDAY)
if(FaultCodevalid > 0)
{
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 164);//当前故障码的P
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 229);//历史故障码的P
/*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*历史故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
DISPLAY_NUM_ST DisplayNumPara;
uint16_t frontnumber;
uint16_t midnumber;
frontnumber = FaultCode_hight;
midnumber = FaultCode_mid;
if(g_u8Display_Mode == ModeDAY)
{
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 164);//当前故障码的P
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 229);//历史故障码的P
/*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*历史故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
}
else if(g_u8Display_Mode == ModeNIGHT)
{
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0912_639_293, 610, 164);//当前故障码的P
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0912_639_293, 610, 229);//历史故障码的P
/*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*历史故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
}
}
else if(g_u8Display_Mode == ModeNIGHT)
else if(FaultCodevalid == 0)
{
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0912_639_293, 610, 175);//当前故障码的P
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0912_639_293, 610, 240);//历史故障码的P
/*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*历史故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*显示P0000*/
if(g_u8Display_Mode == ModeDAY)
{
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 164);//当前故障码的P
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 229);//历史故障码的P
DISPLAY_NUM_ST DisplayNumPara;
/*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, 0);
/*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, 0);
/*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, 0);
/*历史故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, 0);
}
else if(g_u8Display_Mode == ModeNIGHT)
{
/*显示P0000(直接贴图方式)*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0900_610_164);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_625_164);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_639_164);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_653_164);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_667_164);
SetPagePic(GRAPHICS_PAGE_0, Pic_0900_610_229);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_625_229);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_639_229);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_653_229);
SetPagePic(GRAPHICS_PAGE_0, Pic_0901_667_229);
}
else
{
;
}
}
else
{
;
}
}
else
else if(FaultCodeLost == 0)
{
if(g_u8Display_Mode == ModeDAY)
{
/* ----- */
SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_175);
SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_175);
}
else if(g_u8Display_Mode == ModeNIGHT)
{
/* ----- */
SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_175);
SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_175);
}
else
{
;
}
}
else
{
;
}
}
/**
* @brief 显示模式信息 一级菜单
......@@ -2640,6 +2723,18 @@ static const uint16_t NumbeList_TIME_NIGHT[] = {
Pic_0645_959_511,
Pic_0646_953_501,
};
static const uint16_t NumbeList_PhoneConnect_TIME[] = {
Pic_0385_357_553,
Pic_0386_367_553,
Pic_0387_358_553,
Pic_0388_359_553,
Pic_0389_356_553,
Pic_0390_358_553,
Pic_0391_358_553,
Pic_0392_357_553,
Pic_0393_357_553,
Pic_0394_358_553,
};
static const uint16_t NumbeList_Telephone[] = {
Pic_0536_54_499,
Pic_0537_55_499,
......@@ -2724,6 +2819,18 @@ static const uint16_t NumbeList_VSpeed_DAY[] = {
Pic_0604_500_361,
Pic_0605_470_308,
};
static const uint16_t NumbeList_PhoneConnect_VSpeed[] ={
Pic_0399_484_510,
Pic_0400_502_509,
Pic_0401_485_509,
Pic_0402_486_509,
Pic_0403_481_509,
Pic_0404_485_509,
Pic_0405_485_509,
Pic_0406_483_509,
Pic_0407_484_509,
Pic_0408_485_509,
};
static const uint16_t NumbeList_VSpeed_NIGHT[] = {
Pic_0702_456_256,
Pic_0703_492_255,
......@@ -2787,7 +2894,7 @@ static const uint16_t PICList_Fuel[] = {
// Pic_0561_623_473,
// };
static const uint16_t PICList_Fuel_SelfCheck[] ={
Pic_0554_315_473,
Pic_0554_315_473,/*黑*/
Pic_0555_366_473,
Pic_0556_426_473,
Pic_0557_469_473,
......@@ -2797,7 +2904,12 @@ static const uint16_t PICList_Fuel_SelfCheck[] ={
Pic_0561_623_473,
};
/*指示灯*/
/*
*NAME : AMT630H_GUI_Light()
*FUNCTION : 指示灯点亮函数
*PARAMETER : NULL
*RETURN : NULL
**/
static void AMT630H_GUI_Light()
{
if(Get_TelltalesLedSts(em_LED_Turn_Left))
......@@ -2877,9 +2989,55 @@ static void AMT630H_GUI_Light()
;
}
}
/*时间显示函数*/
static void AMT630H_GUI_PhoneConnect_Light()
{
if(Get_TelltalesLedSts(em_LED_Turn_Left))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0475_30_481);
}
if(Get_TelltalesLedSts(em_LED_Turn_Right))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0467_952_481);
}
if(Get_TelltalesLedSts(em_LED_High_Beam))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0474_101_487);
}
if(Get_TelltalesLedSts(em_LED_Efi_Fault))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0469_749_487);
}
if(Get_TelltalesLedSts(em_LED_ABS))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0471_312_486);
}
if(Get_TelltalesLedSts(em_LED_Auto_Start_Stop))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0472_251_485);
}
if(Get_TelltalesLedSts(em_LED_Oil_Pressure_Alert))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0466_874_488);
}
if(Get_TelltalesLedSts(em_LED_TCS))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0473_172_490);
}
if(Get_TelltalesLedSts(em_LED_WIFI))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0465_881_487);
}
if(Get_TelltalesLedSts(em_LED_Bluetooth))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0468_819_486);
}
}
/*
*NAME : AMT630H_GUI_TIME()
*FUNCTION : 主界面时间显示函数
*PARAMETER : uint16_t Hour-小时 uint16_t Minute-分钟
*RETURN : NULL
**/
static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute)
{
if (g_u8Display_Mode == ModeDAY)
......@@ -2941,27 +3099,83 @@ static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute)
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, MinuteNumber);
}
}
/*
*NAME : AMT630H_GUI_PhoneConnect_TIME()
*FUNCTION : 投屏界面时间显示函数
*PARAMETER : uint16_t Hour-小时 uint16_t Minute-分钟
*RETURN : NULL
**/
static void AMT630H_GUI_PhoneConnect_TIME(uint16_t Hour ,uint16_t Minute)
{
/*外部接收小时和分钟*/
if (FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0397_315_562); /*时间 : */
}
DISPLAY_NUM_ST DisplayNumPara;
uint16_t HourNumber;
uint16_t MinuteNumber;
HourNumber = Hour;
MinuteNumber = Minute;
/*小时显示*/
DisplayNumPara.NumList = NumbeList_PhoneConnect_TIME;
DisplayNumPara.x = 280;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 30;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, HourNumber);
/*分钟显示*/
DisplayNumPara.NumList = NumbeList_PhoneConnect_TIME;
DisplayNumPara.x = 357;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 30;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, MinuteNumber);
}
/*
*NAME : AMT630H_GUI_Telephone
*SCOPE : 主界面来电显示
*PARAMETER : Tele_State-手机通话状态
* Instrument_State-仪表目前状态(主界面/投屏状态)
*RETURN : NULL
*/
static void AMT630H_GUI_Telephone()
{
if(BlueToothPhoneData.BlueToothPhoneSate == Phone_Outgoing)
{
//SetPagePic(GRAPHICS_PAGE_0, );
}
else if(BlueToothPhoneData.BlueToothPhoneSate == Phone_Talking)
{
//SetPagePic(GRAPHICS_PAGE_0, );
}
else if(BlueToothPhoneData.BlueToothPhoneSate == Phone_Incoming)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0548_62_401);
}
else
{
;
}
/*手机号显示函数*/
// uint16_t Telephone[] = {1,2,3,4,5,6,7,8,9,1,1};
// static void AMT630H_GUI_Telephone(uint16_t Telephone[])
// {
// DISPLAY_NUM_ST DisplayNumPara;
// SetPagePic(GRAPHICS_PAGE_0, Pic_0548_62_401); /*电话图标*/
// /*预留来电人显示*/
// for(int i=0;i<11;i++)
// {
// DisplayNumPara.NumList = NumbeList_Telephone;
// DisplayNumPara.x = XList_Telephone[i];
// DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |0;
// DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
// DisplayNumPara.DecimalNum = 0;
// DisplayNumPara.MinDigits = 1;
// DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,Telephone[i]);
// }
// }
/*燃油显示函数*/
uint8_t *BLUETOOTH_PHONENAME = (uint8_t *)TEXT_NUM_BLUETOOTH_PHONENAME;
uint8_t *PHONE_NUMBER = (uint8_t *)TEXT_NUM_PHONE_NUMBER;
/*联系人*/
PackedTransfer_LabelsList( 0x4007, BLUETOOTH_PHONENAME , 22);
SetPageText(GRAPHICS_PAGE_0, 0x4007, 200, 200, 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
/*手机号码*/
PackedTransfer_LabelsList(0x4009, PHONE_NUMBER, 22);
SetPageText(GRAPHICS_PAGE_0, 0x4009, 200, 200, 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
}
/*
*NAME : AMT630H_GUI_Fuel
*FUNCTION : 燃油显示函数
*PARAMETER : uint8_t Fuel- 燃油格数
*RETURN : NULL
*/
uint8_t g_u16_GUI_PerFuelLevel = 1;
static void AMT630H_GUI_Fuel(uint8_t Fuel)
{
......@@ -3082,7 +3296,7 @@ static void AMT630H_GUI_Fuel(uint8_t Fuel)
}
}
uint16_t g_u16PerFuel_SelfCheck = 0;
uint16_t g_u16PerFuel_SelfCheck = 1;
/*燃油自检函数*/
static void AMT630H_GUI_Fuel_SelfCheck(uint8_t Fuel)
{
......@@ -3114,30 +3328,30 @@ static void AMT630H_GUI_Fuel_SelfCheck(uint8_t Fuel)
if (FuelLevel > 0)
{
if (FuelLevel != g_u16_GUI_PerFuelLevel)
if (FuelLevel != g_u16PerFuel_SelfCheck)
{
for (uint8_t i = 0; i < g_u16_GUI_PerFuelLevel; i++)
for (uint8_t i = 0; i < g_u16PerFuel_SelfCheck; i++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel_SelfCheck[i]);
}
if (FuelLevel > g_u16_GUI_PerFuelLevel)
if (FuelLevel > g_u16PerFuel_SelfCheck)
{
g_u16_GUI_PerFuelLevel++;
g_u16PerFuel_SelfCheck++;
}
else if ((FuelLevel < g_u16_GUI_PerFuelLevel) && (g_u16_GUI_PerFuelLevel != 0))
else if ((FuelLevel < g_u16PerFuel_SelfCheck) && (g_u16PerFuel_SelfCheck != 0))
{
g_u16_GUI_PerFuelLevel--;
g_u16PerFuel_SelfCheck--;/*fuellevel = 8 */
}
else
{
;
}
}
if (FuelLevel == g_u16_GUI_PerFuelLevel)
if (FuelLevel == g_u16PerFuel_SelfCheck)
{
g_u16_GUI_PerFuelLevel = FuelLevel;
for (uint8_t i = 0; i < g_u16_GUI_PerFuelLevel; i++)
g_u16PerFuel_SelfCheck = FuelLevel;
for (uint8_t i = 0; i < g_u16PerFuel_SelfCheck; i++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel_SelfCheck[i]);
}
......@@ -3151,8 +3365,6 @@ static void AMT630H_GUI_Fuel_SelfCheck(uint8_t Fuel)
}
/*电压显示函数*/
static void AMT630H_GUI_Voltage(uint16_t Voltage)
{
......@@ -3169,13 +3381,20 @@ static void AMT630H_GUI_Voltage(uint16_t Voltage)
uint16_t Voltage_Ten;
uint16_t Voltage_Unit;
uint16_t Front;
if ((VoltageNumber <= 120) || (VoltageNumber > 150))
if(Voltage_Selfcheck == 1)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0563_923_407); /*红色电压图标*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0865_923_407);/*绿色电压图标显示*/
if ((VoltageNumber <= 120) || (VoltageNumber > 150))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0563_923_407); /*红色电压图标*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0865_923_407);/*绿色电压图标显示*/
}
}
/*数据处理*/
Voltage_Hundred = VoltageNumber / 100;
......@@ -3574,7 +3793,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_187_324);/*单位km*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_187_324);/*单位km*/
}
else
{
......@@ -3587,7 +3806,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
DisplayNumPara.MinDigits = 3;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_163_324);/*KM*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_163_324);/*KM*/
}
else
{
......@@ -3600,20 +3819,20 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
DisplayNumPara.MinDigits = 2;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_139_324);/*KM*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_139_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_139_324);/*单位mile*/
}
}
else if((Tripnumber<10)&&(Tripnumber>=0))
else if((Tripnumber < 10)&&(Tripnumber >= 0))
{
DisplayNumPara.x = 93;
DisplayNumPara.MinDigits = 2;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_139_324);/*单位KM*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_139_324);/*单位KM*/
}
else
{
......@@ -3624,19 +3843,28 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
}
}
/*车速显示函数*/
static void AMT630H_GUI_VSpeed(uint16_t VSpeed,uint8_t Unit)
/*
*NAME : AMT630H_GUI_VSpeed
*FUNCTION : 主界面车速显示
*PARAMETER : uint16_t VSpeed-车速
*RETURN : NULL
*/
static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
{
if (g_u8Display_Mode == ModeDAY)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0592_617_271);
if(Unit == 0)
if(g_u8UnitSetting == Metric)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0593_889_310);/*单位 km/h */
}
else if(g_u8UnitSetting == Imperial)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0593_889_310);/*单位 km*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0928_894_310);/*单位 mph/h */
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0928_894_310);/*单位 mph */
;
}
/*数据处理*/
......@@ -3689,13 +3917,17 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed,uint8_t Unit)
else if (g_u8Display_Mode == ModeNIGHT)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0700_617_271);
if(Unit == 0)
if(g_u8UnitSetting == Metric)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0701_889_310);/*单位 km/h */
}
else if(g_u8UnitSetting == Imperial)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0929_894_310);/*单位 mph/h */
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0929_894_310);/*单位 mile/h */
;
}
/*数据处理*/
......@@ -3752,6 +3984,75 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed,uint8_t Unit)
}
}
/*
*NAME : AMT630H_GUI_PhoneConnect_VSpeed
*FUNCTION : 投屏界面车速显示
*PARAMETER : uint16_t VSpeed-车速
*RETURN : NULL
*/
static void AMT630H_GUI_PhoneConnect_VSpeed(uint16_t VSpeed)
{
if(g_u8UnitSetting == Metric)
{
//SetPagePic(GRAPHICS_PAGE_0, );/*单位 km/h */
}
else if(g_u8UnitSetting == Imperial)
{
//SetPagePic(GRAPHICS_PAGE_0, );/*单位 mph/h */
}
else
{
;
}
/*数据处理*/
DISPLAY_NUM_ST DisplayNumPara;
uint16_t VSpeedNumber;
VSpeedNumber = VSpeed;
DisplayNumPara.NumList = NumbeList_PhoneConnect_VSpeed;
if (100 <= VSpeedNumber)
{
DisplayNumPara.x = 544;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 60;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 3;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else if ((10 <= VSpeedNumber))
{
DisplayNumPara.x = 514;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 60;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else if (0 <= VSpeedNumber)
{
if (VSpeedNumber == 1)
{
DisplayNumPara.x = 484; // 1的宽度与其他数字不同 坐标没给
}
else
{
DisplayNumPara.x = 484;
}
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 60;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else
{
;
}
}
/*转速显示函数*/
static void AMT630H_GUI_ESpeed(uint16_t ESpeed)
{
......@@ -3874,10 +4175,10 @@ void AMT630H_GUI_BACKGRAND()
}
}
/*主界面函数*/
AMT630H_GUI_Light();
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
// AMT630H_GUI_Telephone(Telephone);
AMT630H_GUI_Telephone();
/*燃油*/
if (Get_Fuel_Sensor_State() == FuelSensorNormal)
{
......@@ -3918,11 +4219,11 @@ void AMT630H_GUI_BACKGRAND()
}
if (Get_VechileSpeedValid() == 1)
{
AMT630H_GUI_VSpeed(VechileSpeed, Get_Dis_Unit());
AMT630H_GUI_VSpeed(VechileSpeed);
}
else
{
AMT630H_GUI_VSpeed(0,0);
AMT630H_GUI_VSpeed(0);
}
/*转速*/
if (Get_EngineValid() == 1)
......@@ -3982,8 +4283,7 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
SetPagePic(GRAPHICS_PAGE_0, Pic_0740_682_21);/*蓝牙*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0748_194_26);/*E*/
// AMT630H_GUI_Telephone(Telephone);
AMT630H_GUI_Voltage(KL30_VOLTAGE_Value);
AMT630H_GUI_Telephone();
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
if(KL30_VOLTAGE_time < 10)
{
......@@ -4004,27 +4304,35 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
AMT630H_GUI_Trip(Get_Trip_Value(), Get_Dis_Unit());
}
/*燃油自检*/
if(g_u16fuelnumberup < 600)
if(g_u16fuelnumberup <= 200)
{
g_u16fuelnumberup += 6;
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberup/75);/*初始化g_u16fuelnumberup = 0*/
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberup/25);
g_u16fuelnumberup += 8;
}
else
{
;
if(g_u16fuelnumberdown > 0)
{
g_u16fuelnumberdown -= 8;
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberdown/25);/*初始化g_u16fuelnumberdown = 320*/
}
else
{
;
}
}
/*车速自检*/
if(g_u16vspeednumberup < 300)
if(g_u16vspeednumberup <= 200)
{
AMT630H_GUI_VSpeed(g_u16vspeednumberup,Get_Dis_Unit());/*初始化g_u16vspeednumberup = 0*/
g_u16vspeednumberup += 6;
AMT630H_GUI_VSpeed(g_u16vspeednumberup);/*初始化g_u16vspeednumberup = 0*/
g_u16vspeednumberup += 8;
}
else
{
if(g_u16vspeednumberdown >0)
{
g_u16vspeednumberdown -= 6;/*初始化g_u16vspeednumberup=1200*/
AMT630H_GUI_VSpeed(g_u16vspeednumberdown,Get_Dis_Unit());/*if g_u16vspeednumberup=0 车速自检结束*/
g_u16vspeednumberdown -= 8;/*初始化g_u16vspeednumberup=200*/
AMT630H_GUI_VSpeed(g_u16vspeednumberdown);/*if g_u16vspeednumberup=0 车速自检结束*/
}
else
{
......@@ -4035,33 +4343,59 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
if(g_u16espeednumberup <= 300)
{
AMT630H_GUI_ESpeed(g_u16espeednumberup*40);/*初始化g_u16espeednumberup = 0*/
g_u16espeednumberup += 6;
g_u16espeednumberup += 12;
}
else
{
if(g_u16espeednumberdown > 0)
{
AMT630H_GUI_ESpeed(g_u16espeednumberdown*40);/*初始化g_u16espeednumberdown = 600*/
g_u16espeednumberdown -= 6;/*g_u16espeednumberdown = 0 转速自检结束*/
AMT630H_GUI_ESpeed(g_u16espeednumberdown*40);/*初始化g_u16espeednumberdown = 300*/
g_u16espeednumberdown -= 12;/*g_u16espeednumberdown = 0 转速自检结束*/
}
}
/*
*电压值自检
*电压自检范围:0V~16V
*/
if(g_u16voltagenumberup <= 160)
{
AMT630H_GUI_Voltage(g_u16voltagenumberup*10);
g_u16voltagenumberup += 5;
}
else
{
if(g_u16voltagenumberdown > 0)
{
AMT630H_GUI_Voltage(g_u16voltagenumberdown*10);
g_u16voltagenumberdown -= 5;
}
else
{
;
}
}
/*结束状态*/
if(g_u16fuelnumberup == 600)
if(g_u16fuelnumberdown == 0)
{
AMT630H_GUI_Fuel_SelfCheck(8);
AMT630H_GUI_Fuel_SelfCheck(0);
}
if(g_u16vspeednumberdown == 0)
{
AMT630H_GUI_VSpeed(g_u16vspeednumberdown, Get_Dis_Unit());
AMT630H_GUI_VSpeed(g_u16vspeednumberdown);
}
if(g_u16espeednumberdown == 0)
{
AMT630H_GUI_ESpeed(g_u16espeednumberdown);
}
if(g_u16voltagenumberdown == 0)
{
AMT630H_GUI_Voltage(0);
}
/*结束自检*/
if((g_u16fuelnumberup == 600)&&(g_u16vspeednumberdown == 0)&&(g_u16espeednumberdown == 0))
if((g_u16fuelnumberdown == 0)&&(g_u16vspeednumberdown == 0)&&(g_u16espeednumberdown == 0)&&(g_u16voltagenumberdown == 0))
{
g_u8SelfCheck = 1;/*自检结束标志*/
Voltage_Selfcheck = 0;
}
else
{
......@@ -4070,12 +4404,15 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
}
void AMT630H_GUI_SELFCHECK_STS_INIT(void)
{
g_u8SelfCheck = 0U;
g_u16fuelnumberup = 0U;
g_u16vspeednumberup = 0U;
g_u16espeednumberup = 0U;
g_u16vspeednumberdown = 300U;
g_u16espeednumberdown = 300U;
g_u8SelfCheck = 0U;
g_u16fuelnumberup = 0U;
g_u16fuelnumberdown = 200U;
g_u16vspeednumberup = 0U;
g_u16vspeednumberdown = 200U;
g_u16espeednumberup = 0U;
g_u16espeednumberdown = 300U;
g_u16voltagenumberup = 0U;
g_u16voltagenumberdown = 160U;
}
......@@ -4269,9 +4606,13 @@ void AMT630H_GUI_ReadPosittion_Display(void)
PicObj.update_pic_id = Pic_0233;
PicObj.second_menu = 0;
PicObj.navigation_task_id = 0;
SetPagePic(GRAPHICS_PAGE_0, Pic_0233_605_289);
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0);
SetPagePic(GRAPHICS_PAGE_0, Pic_0477_178_130);
SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);/*图层*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0932_124_85);/*\豪进750TFT(371000 - 7500 - 02TY0000)OTA升级*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0933_101_210);/*\SSID: TYW_DASHBOARD*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0934_102_260);/*\PASS: 88888888*/
//SetPagePic(GRAPHICS_PAGE_0, Pic_0935_36_367);/*\热点已连接到TYW_DASHBOARD*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0936_92_367);/*\请根据提示设置手机热点*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0937_564_521);/*\*请保持移动设备与仪表距离在半米内*/
PackedTransfer_DisplayPhoneMirrorQRcode(0, PicObj);
}
break;
......@@ -4283,12 +4624,28 @@ void AMT630H_GUI_ReadPosittion_Display(void)
AMT630H_GUI_SETTING();
AMT630H_GUI_Quit();
break;
case MENU_ITEM_PHONE_CONNECT_SET:/*28 手机互联成功*/
case MENU_ITEM_PHONE_CONNECT_SET:/*30 手机互联成功*/
AMT630H_GUI_SETTING();
AMT630H_GUI_Phone_Connect_Win();
break;
case MENU_ITEM_PHONE_CONNECT_APP:
// PicObj.qr_logo_id = Pic_0234;//小数字9
// PicObj.main_pic_id = Pic_0382; //大白背景图
// PicObj.qr_pic_id = Pic_0479;//小数字0
// PicObj.update_pic_id = Pic_0233;//小数字8
// PicObj.second_menu = 0;
// PicObj.navigation_task_id = Pic_0411;//红色小e
// PackedTransfer_DisplayPhoneMirrorQRcode(1, PicObj);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0476_0_0);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0477_178_130);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0234_605_289);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0479_242_313);
// SetPagePic(GRAPHICS_PAGE_0, Pic_0411_56_533);
SetPagePic(GRAPHICS_PAGE_0, Pic_0382_0_0);/*背景图*/
AMT630H_GUI_PhoneConnect_Light();
AMT630H_GUI_PhoneConnect_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
AMT630H_GUI_PhoneConnect_VSpeed(VechileSpeed);
break;
default:
break;
......
......@@ -117,7 +117,8 @@ static const uint16_t PicIndexData[] = {
Pic_0901, 12, 653, 164, Pic_0901, 12, 667, 164, Pic_0902, 13, 638, 293, Pic_0903, 15, 637, 293, Pic_0904, 15, 637, 293, Pic_0905, 21, 634, 293, Pic_0906, 15, 637, 293, Pic_0907, 14, 637, 293, Pic_0908, 15, 637, 293, Pic_0909, 13, 638, 292,
Pic_0910, 13, 639, 293, Pic_0911, 17, 636, 292, Pic_0912, 13, 639, 293, Pic_0913, 17, 636, 292, Pic_0914, 13, 638, 293, Pic_0915, 16, 636, 293, Pic_0916, 11, 640, 293, Pic_0917, 14, 639, 293, Pic_0899, 11, 638, 293, Pic_0918, 3, 643, 293,
Pic_0898, 14, 637, 293, Pic_0897, 15, 637, 292, Pic_0919, 11, 640, 293, Pic_0920, 12, 639, 293, Pic_0921, 14, 638, 293, Pic_0922, 14, 638, 292, Pic_0923, 14, 638, 293, Pic_0924, 15, 637, 293, Pic_0925, 221, 501, 160, Pic_0926, 50, 619, 240,
Pic_0926, 50, 619, 175, Pic_0927, 50, 619, 240, Pic_0927, 50, 619, 175, Pic_0928, 75, 894, 310, Pic_0929, 75, 894, 310, Pic_0930, 64, 612, 240, Pic_0930, 64, 612, 175, Pic_0931, 64, 612, 240, Pic_0931, 64, 612, 175,
Pic_0926, 50, 619, 175, Pic_0927, 50, 619, 240, Pic_0927, 50, 619, 175, Pic_0928, 75, 894, 310, Pic_0929, 75, 894, 310, Pic_0930, 64, 612, 240, Pic_0930, 64, 612, 175, Pic_0931, 64, 612, 240, Pic_0931, 64, 612, 175, Pic_0932, 777, 124, 85,
Pic_0933, 317, 101, 210, Pic_0934, 209, 102, 260, Pic_0935, 461, 36, 367, Pic_0936, 350, 92, 367, Pic_0937, 323, 564, 521,
};
#define PicIndexData_LEN 14888
//uint32_t PicIndexDataLEN = 0;
......
#ifndef PICBIN_H
#define PICBIN_H
/* Flash Bin Version:20240826 2024-08-26 19:25:18 Compression ratio:70.00% */
/* Flash Bin Version:20240828 2024-08-28 15:55:32 Compression ratio:70.00% */
#define Pic_0001 1
#define Pic_0002 2
#define Pic_0003 3
......@@ -933,6 +933,12 @@
#define Pic_0929 929
#define Pic_0930 930
#define Pic_0931 931
#define Pic_0932 932
#define Pic_0933 933
#define Pic_0934 934
#define Pic_0935 935
#define Pic_0936 936
#define Pic_0937 937
enum {
Pic_0001_0_0 = 0,
......@@ -2109,9 +2115,15 @@ enum {
Pic_0930_612_175,
Pic_0931_612_240,
Pic_0931_612_175,
Pic_0932_124_85,
Pic_0933_101_210,
Pic_0934_102_260,
Pic_0935_36_367,
Pic_0936_92_367,
Pic_0937_564_521,
};
#define PIC_INDEX_DATA_CRC 0xC89CDFB5
#define PIC_INDEX_DATA_CRC 0xD0B47BE6
extern void User_PicIndexDataInit(void);
#endif
......@@ -31,6 +31,9 @@ extern uint8_t GetAliveCounter(ALIVE_COUNTER_TYPE n); /* 0:ALIVE_COUNTER_COMM, 1
extern uint32_t GetCrcErrCnts(void);
extern uint32_t GetRecvLenErrCnts(void);
extern uint8_t GetLcdInitSt(void);
extern uint8_t GetCameraSignalSt(void);
extern uint8_t GetVideoCaptureSt(void);
extern uint8_t GetAmt630InBoot(void);
extern uint8_t GetLcdInitStB(void);
extern uint8_t *GetUartRecvData(uint32_t *UartRecvBufLen, uint32_t *UartRecvPos);
extern void UartSendData(uint8_t *data, uint32_t len);
......@@ -190,6 +193,11 @@ extern void PackedTransfer_InitPointer(POINTER_ENUM PointerN, uint8_t *data, uin
extern uint8_t GetPointerInitSt(POINTER_ENUM PointerN);
extern void PackedTransfer_SetPointerDestVal(POINTER_ENUM PointerN, uint16_t DestVal, uint8_t NoDamping); /* DestVal:0~1000, NoDamping: 0-have damping, 1:no damping */
extern uint16_t GetPointerCurVal(POINTER_ENUM PointerN); /* CurVal:0~1000 */
#define POINTER_NUM_LIST_MAX 20
extern void SetPointerNumPic(POINTER_ENUM PointerN, uint8_t n, uint16_t PicIndex, uint16_t PointerVal);
extern void SetPointerNumZoomPara(POINTER_ENUM PointerN, uint16_t ZoomRange, float ZoomMax);
extern void PackedTransfer_PointerNumData(POINTER_ENUM PointerN);
/* Pointer end */
/* Page Data */
......@@ -227,21 +235,26 @@ typedef enum {
TFT_ROT_270,
} TFT_ROT_TYPE;
#define TEXT_ROT_SCALE (r, s) ((((r) & 0xffff) << 16) | (s) & 0xffff)
#define TEXT_ROT_SCALE (r, s) ((((r) & 0xffff) << 16) | ((s) & 0xffff))
#define TEXT_COLOR(r, g, b, a) ((((r) & 0xff) << 24) | (((g) & 0xff) << 16) | (((b) & 0xff) << 8) | ((a) & 0xff))
#define TEXT_LINE_OFFSET(x, y) ((((x) & 0xffff) << 16) | ((y) & 0xffff))
#define GROUP_ALIGN_LEFT 0x0
#define GROUP_ALIGN_CENTER 0x40
extern void SetPageGuid(GRAPHICS_PAGE_ENUM page, uint8_t h, uint8_t m, uint8_t l);
extern void SetPageBackground(GRAPHICS_PAGE_ENUM page, uint16_t PicIndex);
extern void SetPagePic(GRAPHICS_PAGE_ENUM page, uint16_t PicIndex);
extern void SetPagePicPointerNum(GRAPHICS_PAGE_ENUM page, POINTER_ENUM PointN, uint16_t PicIndex);
extern void SetPagePicFree(GRAPHICS_PAGE_ENUM page, uint16_t PicIndex, int16_t PosX, int16_t PosY);
extern void SetPagePicFreeAppend(GRAPHICS_PAGE_ENUM page, uint16_t pic, int16_t PosX, int16_t PosY);
extern void SetPagePicGroupExtParaOriCoor(GRAPHICS_PAGE_ENUM page, uint8_t PicNum, uint16_t NumZeroPic);
extern void SetPagePicGroup(GRAPHICS_PAGE_ENUM page, int16_t Interval, int16_t PosX, int16_t PosY, uint16_t *PicList, uint32_t Align_Num, uint16_t Dot_Itv, TFT_ROT_TYPE TftRot);
extern void SetPageText(GRAPHICS_PAGE_ENUM page, uint16_t LabelNum, int16_t PosX, int16_t PosY, int16_t MaxX, TEXT_ALIGN_TYPE AlginType, uint32_t RotScale, uint32_t Color); /* TEXT_ROT_SCALE:use TEXT_ROT_SCALE macro, (r:0~3600); (s:-1000 ~ 1000, 0:no scale, 1 ~ 1000:zoom in, -1 ~ -1000:zoom out); Color:use TEXT_COLOR macro */
extern void SetPageText(GRAPHICS_PAGE_ENUM page, uint16_t LabelNum, int16_t PosX, int16_t PosY, int16_t MaxX, TEXT_ALIGN_TYPE AlginType, uint32_t RotScale, uint32_t Color, uint32_t LineOffset); /* TEXT_ROT_SCALE:use TEXT_ROT_SCALE macro, (r:0~3600); (s:-1000 ~ 1000, 0:no scale, 1 ~ 1000:zoom in, -1 ~ -1000:zoom out); Color:use TEXT_COLOR macro; LineOffset:use TEXT_LINE_OFFSET macro */
extern void SetPagePointerPic(GRAPHICS_PAGE_ENUM page, POINTER_ENUM PointN, uint16_t PicIndex);
extern void SetPagePointerSePic(GRAPHICS_PAGE_ENUM page, POINTER_ENUM PointN);
extern void SetPagePointerTrackPic(GRAPHICS_PAGE_ENUM page, POINTER_ENUM PointN, uint16_t PicIndex);
extern void SetPageSliderNumPic(GRAPHICS_PAGE_ENUM page, uint8_t SliderNum);
extern void PackedTransfer_PicDirectDraw(uint32_t PicIndex, uint8_t Valid);
extern void PackedTransfer_BgJpg(uint32_t PicIndex);
extern void PackedTransfer_Page(void);
......@@ -255,9 +268,6 @@ extern void PackedTransfer_ComposeData(uint8_t *data, uint8_t len);
/* Label List */
extern uint8_t GetLanguageInitSt(void);
extern uint8_t GetCameraImageValid(void);
extern uint8_t GetItuTakeVideo(void);
extern uint8_t GetCarlinkLcdTack(void);
extern void PackedTransfer_InitLanguageFont(uint8_t Language, uint8_t Font);
extern void PackedTransfer_LabelsList(uint16_t LabelNum, uint8_t *LabelBuf, uint32_t LabelLen);
/* Label List end */
......@@ -274,15 +284,16 @@ extern void PackedTransfer_CheckFlashForceDisplay(FLASH_CHECK_FORCE_DISPLAY_TYPE
/* Flash Check end */
/* Video Input */
extern void PackedTransfer_VedioInputOn(void);
extern void PackedTransfer_VedioInputOn(uint32_t PosX, uint32_t PosY, uint32_t Wdith, uint32_t Height, uint32_t CutX, uint32_t CutY);
extern void PackedTransfer_VedioInputOff(void);
extern void PackedTransfer_VedioInputArk7116OutputOff(void);
extern void PackedTransfer_VedioInputArk7116OutputOn(void);
/* Video Input end */
/* Get Mcu or Backup Data */
typedef enum {
REQ_DATA,
GET_STATUS,
GET_OFFSET,
GET_APP_DATA_OFFSET,
GET_BACKUP_DATA_OFFSET,
GET_BACKUP_DATA_CRC,
......@@ -303,6 +314,15 @@ extern void PackedTransfer_GetBackupDataCrc(uint32_t addr, uint32_t len);
extern void PackedTransfer_WriteBackupData(uint32_t addr, uint8_t *data, uint16_t len);
/* Get Mcu or Backup Data end */
/* Set tft io mode */
extern void PackedTransfer_SetTftIoMode(uint8_t st); /*st 0:normal gpio, 1:TFT io*/
/* Set tft io mode end */
/* Slider Num */
extern void PackedTransfer_SliderNumData(uint8_t n, uint8_t *data, uint32_t len);
extern void PackedTransfer_SliderNumDestVal(uint8_t n, uint16_t val, uint8_t ForceUpdate, uint8_t DisplayValid);
/* Slider Num end */
enum {NUM_0, NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9, NUM_POINT, NUM_LINE};
typedef struct {
const uint16_t *NumList;
......@@ -349,7 +369,7 @@ enum BlueToothStatus
{
BlueTooth_Undefine = 0u,
BlueTooth_DisConnect,
BlueTooth_Connection,
BlueTooth_Connection
};
enum ECNaviIcon
......@@ -510,5 +530,6 @@ extern void SetUpdateCtrl(uint8_t cmddata,_QRCODE_RECT qrcode_obj);
extern void SetBlueToothName(uint8_t *data,uint8_t len);
extern void SetTaskbarHeight(uint16_t height);
extern void Set_Pro_Unique_Identifier(uint8_t *data,uint8_t len);
extern uint8_t GetUpdate(void);
#endif
......@@ -336,14 +336,13 @@ static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status)
}
// uint16_t ECU_Engine_Temperature_R =0;
// uint32_t test_ECU_Engine_Temperature =0;
uint16_t test_ECU_Engine_Temperature =0;
/*信号来源:ECU_101 +硬线-P11 阻值 CAN>硬线*/
static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void)
{
Tellib_uint16_t LED_STATE = 0u;
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST)
{
// ECU_Engine_Temperature_R = ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R);
if(ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R) <= 20)
{
ECU_Engine_Temperature_flag = 1;
......@@ -372,7 +371,7 @@ static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void)
}
else
{
// test_ECU_Engine_Temperature = Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature();
test_ECU_Engine_Temperature = Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature();
if(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature() >= 120 )
{
ECU_Engine_Temperature_flag = 1;
......
......@@ -84,7 +84,6 @@ void Sys_100ms_Tasks(void)
Coolant_Cal_Sevice(100u);
Services_Mileage_Callback();
// Data_Mileage_Clear();
OTAUpdateService();
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_High);
//BackLight_Process();
//TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 100);
......
......@@ -29,7 +29,7 @@
/******************************************************************************
program version
*******************************************************************************/
#define SWV 0x102 // 0x100 = 1.00 software version 软件版本号
#define SWV 0x104 // 0x100 = 1.00 software version 软件版本号
#define HWV 0x100 // 0x100 = 1.00 hardware version 硬件版本号
#define BTV 0x100 // 0x100 = 1.00 bootloader version boot程序版本号
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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