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 @@ ...@@ -978,6 +978,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>..\..\..\..\Source\Component\AMT630H\PicBin.h</FilePath> <FilePath>..\..\..\..\Source\Component\AMT630H\PicBin.h</FilePath>
</File> </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> <File>
<FileName>UartProtocol.h</FileName> <FileName>UartProtocol.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
......
...@@ -53,11 +53,38 @@ void BlueToothService() ...@@ -53,11 +53,38 @@ void BlueToothService()
{ {
Menu_Change_Branch_To_Item(MENU_BRANCH_ANIMATION,MENU_ITEM_MAIN_ITEM); 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(); TextService();
// SetBlueToothName((uint8_t *)HJBlueToothName, sizeof(HJBlueToothName));
// SetUUIDData((char *)UUIDConfigBuf, 22);
// BlueConnectStatus = GetBlueToothPowerSTATE(); // BlueConnectStatus = GetBlueToothPowerSTATE();
// juasfha = BlueToothPhoneData.BlueToothPhoneSate; // juasfha = BlueToothPhoneData.BlueToothPhoneSate;
...@@ -136,33 +163,3 @@ void TextService(void) ...@@ -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 { ...@@ -32,8 +32,7 @@ typedef struct {
extern void BlueToothService(void); extern void BlueToothService(void);
extern void OTAUpdateService(void);
extern void OTAUpdateInit(void);
extern _PICID_Struct PicObj; extern _PICID_Struct PicObj;
extern _QRCODE_RECT QRCode_Rect;
#endif #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] = ...@@ -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}, {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, 0x111ul,
(( void * )0), (( void * )0),
(( void * )0), (( void * )0),
......
#include "FaultCode.h" #include "FaultCode.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
static _st_Init FaultCodeInit; static _st_Init FaultCodeInit;
static uint16_t u16FaultCodeDtcCount = 0; static uint16_t u16FaultCodeDtcCount = 0;
static uint16_t u16FaultCodeDtcCountBack = 0; static uint16_t u16FaultCodeDtcCountBack = 0;
...@@ -395,3 +396,21 @@ uint8_t Get_FaultCode_Valid(void) ...@@ -395,3 +396,21 @@ uint8_t Get_FaultCode_Valid(void)
{ {
return u8FaultCodeValid; 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 ; ...@@ -11,10 +11,14 @@ uint8_t g_u8UnitSetting = Metric ;
uint8_t g_u8SelfCheck = 0;/*自检*/ uint8_t g_u8SelfCheck = 0;/*自检*/
uint16_t g_u16fuelnumberup = 0; uint16_t g_u16fuelnumberup = 0;
uint16_t g_u16fuelnumberdown = 200;
uint16_t g_u16vspeednumberup = 0; uint16_t g_u16vspeednumberup = 0;
uint16_t g_u16vspeednumberdown = 300; uint16_t g_u16vspeednumberdown = 200;
uint16_t g_u16espeednumberup = 0; uint16_t g_u16espeednumberup = 0;
uint16_t g_u16espeednumberdown = 300; 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); void AMT630H_GUI_BACKGRAND_SelfCheck(void);
...@@ -26,7 +30,7 @@ void AMT630H_GUI_SETTING(void); ...@@ -26,7 +30,7 @@ void AMT630H_GUI_SETTING(void);
void AMT630H_GUI_Quit(void); void AMT630H_GUI_Quit(void);
void AMT630H_GUI_Phone_Connect(void); void AMT630H_GUI_Phone_Connect(void);
void AMT630H_GUI_Fault_Information(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_Language_Information(void);
void AMT630H_GUI_Unit_Information(void); void AMT630H_GUI_Unit_Information(void);
void AMT630H_GUI_Display_Mode_Information(void); void AMT630H_GUI_Display_Mode_Information(void);
...@@ -42,6 +46,12 @@ void AMT630H_GUI_Unit_Setting(Menu_Interface_en_t select); ...@@ -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_Language_Setting(Menu_Interface_en_t select); /*语言设置*/
void AMT630H_GUI_Phone_Connect_Win(void); /*手机互联*/ void AMT630H_GUI_Phone_Connect_Win(void); /*手机互联*/
void AMT630H_GUI_ReadPosittion_Display(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() void AMT630H_GUI_Background()
{ {
if (SYS_OPR_STAT_IGN_ON) if (SYS_OPR_STAT_IGN_ON)
...@@ -71,7 +81,6 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -71,7 +81,6 @@ void AMT630H_GUI_Fault_Information(void)
{ {
if(g_u8Display_Mode == ModeDAY) if(g_u8Display_Mode == ModeDAY)
{ {
if(g_u8Language == CH) if(g_u8Language == CH)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0163_27_396); SetPagePic(GRAPHICS_PAGE_0, Pic_0163_27_396);
...@@ -86,7 +95,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -86,7 +95,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0168_350_290); SetPagePic(GRAPHICS_PAGE_0, Pic_0168_350_290);
SetPagePic(GRAPHICS_PAGE_0, Pic_0169_353_227);/*历史故障*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0169_353_227);/*历史故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0170_354_162);/*当前故障*/ 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) else if(g_u8Language == EN)
{ {
...@@ -103,13 +112,11 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -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_0096_338_228);/*Fault history*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0097_334_163);/*current fault*/ 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) 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) if(g_u8Language == CH)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0350_27_396); SetPagePic(GRAPHICS_PAGE_0, Pic_0350_27_396);
...@@ -125,7 +132,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -125,7 +132,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0356_353_227);/*历史故障*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0356_353_227);/*历史故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0357_354_162);/*当前故障*/ 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) else if(g_u8Language == EN)
{ {
...@@ -141,8 +148,8 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -141,8 +148,8 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0282_375_292); SetPagePic(GRAPHICS_PAGE_0, Pic_0282_375_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228); SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228);
SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163); SetPagePic(GRAPHICS_PAGE_0, Pic_0285_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());
} }
} }
} }
...@@ -173,112 +180,188 @@ static uint16_t NumbeList_FaultCode_night[]={ ...@@ -173,112 +180,188 @@ static uint16_t NumbeList_FaultCode_night[]={
Pic_0234_605_289, 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; FaultCodevalid_monitor = FaultCodevalid;
uint16_t frontnumber;
uint16_t midnumber; if(FaultCodeLost == 1)
frontnumber = FaultCode_hight;
midnumber = FaultCode_mid;
if(FaultCodevalid == 1)
{ {
if(g_u8Display_Mode == ModeDAY) if(FaultCodevalid > 0)
{ {
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 164);//当前故障码的P DISPLAY_NUM_ST DisplayNumPara;
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 229);//历史故障码的P uint16_t frontnumber;
/*当前故障码前两位显示*/ uint16_t midnumber;
DisplayNumPara.NumList = NumbeList_FaultCode_day; frontnumber = FaultCode_hight;
DisplayNumPara.x = 639; midnumber = FaultCode_mid;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164; if(g_u8Display_Mode == ModeDAY)
DisplayNumPara.DecimalNum = 0; {
DisplayNumPara.MinDigits = 2; SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 164);//当前故障码的P
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber); SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 229);//历史故障码的P
/*当前故障码后两位显示*/ /*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day; DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667; DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164; DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0; DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2; DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber); DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*历史故障码前两位显示*/ /*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day; DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639; DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229; DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0; DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2; DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber); DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*历史故障码后两位显示*/ /*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day; DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667; DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229; DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0; DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2; DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber); 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 /*显示P0000*/
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0912_639_293, 610, 240);//历史故障码的P if(g_u8Display_Mode == ModeDAY)
/*当前故障码前两位显示*/ {
DisplayNumPara.NumList = NumbeList_FaultCode_night; SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 164);//当前故障码的P
DisplayNumPara.x = 639; SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 229);//历史故障码的P
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; DISPLAY_NUM_ST DisplayNumPara;
DisplayNumPara.y = 164; /*当前故障码前两位显示*/
DisplayNumPara.DecimalNum = 0; DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.MinDigits = 2; DisplayNumPara.x = 639;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber); DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
/*当前故障码后两位显示*/ DisplayNumPara.y = 164;
DisplayNumPara.NumList = NumbeList_FaultCode_night; DisplayNumPara.DecimalNum = 0;
DisplayNumPara.x = 667; DisplayNumPara.MinDigits = 2;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, 0);
DisplayNumPara.y = 164; /*当前故障码后两位显示*/
DisplayNumPara.DecimalNum = 0; DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.MinDigits = 2; DisplayNumPara.x = 667;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber); DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
/*历史故障码前两位显示*/ DisplayNumPara.y = 164;
DisplayNumPara.NumList = NumbeList_FaultCode_night; DisplayNumPara.DecimalNum = 0;
DisplayNumPara.x = 639; DisplayNumPara.MinDigits = 2;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, 0);
DisplayNumPara.y = 229; /*历史故障码前两位显示*/
DisplayNumPara.DecimalNum = 0; DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.MinDigits = 2; DisplayNumPara.x = 639;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber); DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
/*历史故障码后两位显示*/ DisplayNumPara.y = 229;
DisplayNumPara.NumList = NumbeList_FaultCode_night; DisplayNumPara.DecimalNum = 0;
DisplayNumPara.x = 667; DisplayNumPara.MinDigits = 2;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14; DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, 0);
DisplayNumPara.y = 229; /*历史故障码后两位显示*/
DisplayNumPara.DecimalNum = 0; DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.MinDigits = 2; DisplayNumPara.x = 667;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber); 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) if(g_u8Display_Mode == ModeDAY)
{ {
/* ----- */ /* ----- */
SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_240); SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_175); SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_175);
} }
else if(g_u8Display_Mode == ModeNIGHT) else if(g_u8Display_Mode == ModeNIGHT)
{ {
/* ----- */ /* ----- */
SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_240); SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0931_612_175); SetPagePic(GRAPHICS_PAGE_0, Pic_0930_612_175);
} }
else else
{ {
; ;
} }
} }
else
{
;
}
} }
/** /**
* @brief 显示模式信息 一级菜单 * @brief 显示模式信息 一级菜单
...@@ -2640,6 +2723,18 @@ static const uint16_t NumbeList_TIME_NIGHT[] = { ...@@ -2640,6 +2723,18 @@ static const uint16_t NumbeList_TIME_NIGHT[] = {
Pic_0645_959_511, Pic_0645_959_511,
Pic_0646_953_501, 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[] = { static const uint16_t NumbeList_Telephone[] = {
Pic_0536_54_499, Pic_0536_54_499,
Pic_0537_55_499, Pic_0537_55_499,
...@@ -2724,6 +2819,18 @@ static const uint16_t NumbeList_VSpeed_DAY[] = { ...@@ -2724,6 +2819,18 @@ static const uint16_t NumbeList_VSpeed_DAY[] = {
Pic_0604_500_361, Pic_0604_500_361,
Pic_0605_470_308, 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[] = { static const uint16_t NumbeList_VSpeed_NIGHT[] = {
Pic_0702_456_256, Pic_0702_456_256,
Pic_0703_492_255, Pic_0703_492_255,
...@@ -2787,7 +2894,7 @@ static const uint16_t PICList_Fuel[] = { ...@@ -2787,7 +2894,7 @@ static const uint16_t PICList_Fuel[] = {
// Pic_0561_623_473, // Pic_0561_623_473,
// }; // };
static const uint16_t PICList_Fuel_SelfCheck[] ={ static const uint16_t PICList_Fuel_SelfCheck[] ={
Pic_0554_315_473, Pic_0554_315_473,/*黑*/
Pic_0555_366_473, Pic_0555_366_473,
Pic_0556_426_473, Pic_0556_426_473,
Pic_0557_469_473, Pic_0557_469_473,
...@@ -2797,7 +2904,12 @@ static const uint16_t PICList_Fuel_SelfCheck[] ={ ...@@ -2797,7 +2904,12 @@ static const uint16_t PICList_Fuel_SelfCheck[] ={
Pic_0561_623_473, Pic_0561_623_473,
}; };
/*指示灯*/ /*
*NAME : AMT630H_GUI_Light()
*FUNCTION : 指示灯点亮函数
*PARAMETER : NULL
*RETURN : NULL
**/
static void AMT630H_GUI_Light() static void AMT630H_GUI_Light()
{ {
if(Get_TelltalesLedSts(em_LED_Turn_Left)) if(Get_TelltalesLedSts(em_LED_Turn_Left))
...@@ -2877,9 +2989,55 @@ static void AMT630H_GUI_Light() ...@@ -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) static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute)
{ {
if (g_u8Display_Mode == ModeDAY) if (g_u8Display_Mode == ModeDAY)
...@@ -2941,27 +3099,83 @@ static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute) ...@@ -2941,27 +3099,83 @@ static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute)
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, MinuteNumber); 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
{
;
}
/*手机号显示函数*/ uint8_t *BLUETOOTH_PHONENAME = (uint8_t *)TEXT_NUM_BLUETOOTH_PHONENAME;
// uint16_t Telephone[] = {1,2,3,4,5,6,7,8,9,1,1}; uint8_t *PHONE_NUMBER = (uint8_t *)TEXT_NUM_PHONE_NUMBER;
// static void AMT630H_GUI_Telephone(uint16_t Telephone[]) /*联系人*/
// { PackedTransfer_LabelsList( 0x4007, BLUETOOTH_PHONENAME , 22);
// DISPLAY_NUM_ST DisplayNumPara; SetPageText(GRAPHICS_PAGE_0, 0x4007, 200, 200, 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
// SetPagePic(GRAPHICS_PAGE_0, Pic_0548_62_401); /*电话图标*/ /*手机号码*/
// /*预留来电人显示*/ PackedTransfer_LabelsList(0x4009, PHONE_NUMBER, 22);
// for(int i=0;i<11;i++) SetPageText(GRAPHICS_PAGE_0, 0x4009, 200, 200, 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
// { }
// DisplayNumPara.NumList = NumbeList_Telephone;
// DisplayNumPara.x = XList_Telephone[i]; /*
// DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |0; *NAME : AMT630H_GUI_Fuel
// DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS; *FUNCTION : 燃油显示函数
// DisplayNumPara.DecimalNum = 0; *PARAMETER : uint8_t Fuel- 燃油格数
// DisplayNumPara.MinDigits = 1; *RETURN : NULL
// DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,Telephone[i]); */
// }
// }
/*燃油显示函数*/
uint8_t g_u16_GUI_PerFuelLevel = 1; uint8_t g_u16_GUI_PerFuelLevel = 1;
static void AMT630H_GUI_Fuel(uint8_t Fuel) static void AMT630H_GUI_Fuel(uint8_t Fuel)
{ {
...@@ -3082,7 +3296,7 @@ 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) static void AMT630H_GUI_Fuel_SelfCheck(uint8_t Fuel)
{ {
...@@ -3114,30 +3328,30 @@ 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 > 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]); 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 else
{ {
; ;
} }
} }
if (FuelLevel == g_u16_GUI_PerFuelLevel) if (FuelLevel == g_u16PerFuel_SelfCheck)
{ {
g_u16_GUI_PerFuelLevel = FuelLevel; g_u16PerFuel_SelfCheck = FuelLevel;
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]); SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel_SelfCheck[i]);
} }
...@@ -3151,8 +3365,6 @@ static void AMT630H_GUI_Fuel_SelfCheck(uint8_t Fuel) ...@@ -3151,8 +3365,6 @@ static void AMT630H_GUI_Fuel_SelfCheck(uint8_t Fuel)
} }
/*电压显示函数*/ /*电压显示函数*/
static void AMT630H_GUI_Voltage(uint16_t Voltage) static void AMT630H_GUI_Voltage(uint16_t Voltage)
{ {
...@@ -3169,13 +3381,20 @@ 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_Ten;
uint16_t Voltage_Unit; uint16_t Voltage_Unit;
uint16_t Front; uint16_t Front;
if ((VoltageNumber <= 120) || (VoltageNumber > 150)) if(Voltage_Selfcheck == 1)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0563_923_407); /*红色电压图标*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0563_923_407); /*红色电压图标*/
} }
else 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; Voltage_Hundred = VoltageNumber / 100;
...@@ -3574,7 +3793,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint) ...@@ -3574,7 +3793,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
DisplayNumPara.MinDigits = 4; DisplayNumPara.MinDigits = 4;
if(Uint == 0) if(Uint == 0)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_187_324);/*单位km*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0688_187_324);/*单位km*/
} }
else else
{ {
...@@ -3587,7 +3806,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint) ...@@ -3587,7 +3806,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
DisplayNumPara.MinDigits = 3; DisplayNumPara.MinDigits = 3;
if(Uint == 0) if(Uint == 0)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_163_324);/*KM*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0688_163_324);/*KM*/
} }
else else
{ {
...@@ -3600,20 +3819,20 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint) ...@@ -3600,20 +3819,20 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
DisplayNumPara.MinDigits = 2; DisplayNumPara.MinDigits = 2;
if(Uint == 0) if(Uint == 0)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_139_324);/*KM*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0688_139_324);/*KM*/
} }
else else
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_139_324);/*单位mile*/ 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.x = 93;
DisplayNumPara.MinDigits = 2; DisplayNumPara.MinDigits = 2;
if(Uint == 0) if(Uint == 0)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_139_324);/*单位KM*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0688_139_324);/*单位KM*/
} }
else else
{ {
...@@ -3624,19 +3843,28 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint) ...@@ -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) if (g_u8Display_Mode == ModeDAY)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0592_617_271); 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 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) ...@@ -3689,13 +3917,17 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed,uint8_t Unit)
else if (g_u8Display_Mode == ModeNIGHT) else if (g_u8Display_Mode == ModeNIGHT)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0700_617_271); 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 */ 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 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) ...@@ -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) static void AMT630H_GUI_ESpeed(uint16_t ESpeed)
{ {
...@@ -3874,10 +4175,10 @@ void AMT630H_GUI_BACKGRAND() ...@@ -3874,10 +4175,10 @@ void AMT630H_GUI_BACKGRAND()
} }
} }
/*主界面函数*/
AMT630H_GUI_Light(); AMT630H_GUI_Light();
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time()); AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
// AMT630H_GUI_Telephone(Telephone); AMT630H_GUI_Telephone();
/*燃油*/ /*燃油*/
if (Get_Fuel_Sensor_State() == FuelSensorNormal) if (Get_Fuel_Sensor_State() == FuelSensorNormal)
{ {
...@@ -3918,11 +4219,11 @@ void AMT630H_GUI_BACKGRAND() ...@@ -3918,11 +4219,11 @@ void AMT630H_GUI_BACKGRAND()
} }
if (Get_VechileSpeedValid() == 1) if (Get_VechileSpeedValid() == 1)
{ {
AMT630H_GUI_VSpeed(VechileSpeed, Get_Dis_Unit()); AMT630H_GUI_VSpeed(VechileSpeed);
} }
else else
{ {
AMT630H_GUI_VSpeed(0,0); AMT630H_GUI_VSpeed(0);
} }
/*转速*/ /*转速*/
if (Get_EngineValid() == 1) if (Get_EngineValid() == 1)
...@@ -3982,8 +4283,7 @@ void AMT630H_GUI_BACKGRAND_SelfCheck() ...@@ -3982,8 +4283,7 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
SetPagePic(GRAPHICS_PAGE_0, Pic_0740_682_21);/*蓝牙*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0740_682_21);/*蓝牙*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0748_194_26);/*E*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0748_194_26);/*E*/
// AMT630H_GUI_Telephone(Telephone); AMT630H_GUI_Telephone();
AMT630H_GUI_Voltage(KL30_VOLTAGE_Value);
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time()); AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
if(KL30_VOLTAGE_time < 10) if(KL30_VOLTAGE_time < 10)
{ {
...@@ -4004,27 +4304,35 @@ void AMT630H_GUI_BACKGRAND_SelfCheck() ...@@ -4004,27 +4304,35 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
AMT630H_GUI_Trip(Get_Trip_Value(), Get_Dis_Unit()); 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/25);
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberup/75);/*初始化g_u16fuelnumberup = 0*/ g_u16fuelnumberup += 8;
} }
else 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*/ AMT630H_GUI_VSpeed(g_u16vspeednumberup);/*初始化g_u16vspeednumberup = 0*/
g_u16vspeednumberup += 6; g_u16vspeednumberup += 8;
} }
else else
{ {
if(g_u16vspeednumberdown >0) if(g_u16vspeednumberdown >0)
{ {
g_u16vspeednumberdown -= 6;/*初始化g_u16vspeednumberup=1200*/ g_u16vspeednumberdown -= 8;/*初始化g_u16vspeednumberup=200*/
AMT630H_GUI_VSpeed(g_u16vspeednumberdown,Get_Dis_Unit());/*if g_u16vspeednumberup=0 车速自检结束*/ AMT630H_GUI_VSpeed(g_u16vspeednumberdown);/*if g_u16vspeednumberup=0 车速自检结束*/
} }
else else
{ {
...@@ -4035,33 +4343,59 @@ void AMT630H_GUI_BACKGRAND_SelfCheck() ...@@ -4035,33 +4343,59 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
if(g_u16espeednumberup <= 300) if(g_u16espeednumberup <= 300)
{ {
AMT630H_GUI_ESpeed(g_u16espeednumberup*40);/*初始化g_u16espeednumberup = 0*/ AMT630H_GUI_ESpeed(g_u16espeednumberup*40);/*初始化g_u16espeednumberup = 0*/
g_u16espeednumberup += 6; g_u16espeednumberup += 12;
} }
else else
{ {
if(g_u16espeednumberdown > 0) if(g_u16espeednumberdown > 0)
{ {
AMT630H_GUI_ESpeed(g_u16espeednumberdown*40);/*初始化g_u16espeednumberdown = 600*/ AMT630H_GUI_ESpeed(g_u16espeednumberdown*40);/*初始化g_u16espeednumberdown = 300*/
g_u16espeednumberdown -= 6;/*g_u16espeednumberdown = 0 转速自检结束*/ 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) if(g_u16vspeednumberdown == 0)
{ {
AMT630H_GUI_VSpeed(g_u16vspeednumberdown, Get_Dis_Unit()); AMT630H_GUI_VSpeed(g_u16vspeednumberdown);
} }
if(g_u16espeednumberdown == 0) if(g_u16espeednumberdown == 0)
{ {
AMT630H_GUI_ESpeed(g_u16espeednumberdown); 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;/*自检结束标志*/ g_u8SelfCheck = 1;/*自检结束标志*/
Voltage_Selfcheck = 0;
} }
else else
{ {
...@@ -4070,12 +4404,15 @@ void AMT630H_GUI_BACKGRAND_SelfCheck() ...@@ -4070,12 +4404,15 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
} }
void AMT630H_GUI_SELFCHECK_STS_INIT(void) void AMT630H_GUI_SELFCHECK_STS_INIT(void)
{ {
g_u8SelfCheck = 0U; g_u8SelfCheck = 0U;
g_u16fuelnumberup = 0U; g_u16fuelnumberup = 0U;
g_u16vspeednumberup = 0U; g_u16fuelnumberdown = 200U;
g_u16espeednumberup = 0U; g_u16vspeednumberup = 0U;
g_u16vspeednumberdown = 300U; g_u16vspeednumberdown = 200U;
g_u16espeednumberdown = 300U; g_u16espeednumberup = 0U;
g_u16espeednumberdown = 300U;
g_u16voltagenumberup = 0U;
g_u16voltagenumberdown = 160U;
} }
...@@ -4269,9 +4606,13 @@ void AMT630H_GUI_ReadPosittion_Display(void) ...@@ -4269,9 +4606,13 @@ void AMT630H_GUI_ReadPosittion_Display(void)
PicObj.update_pic_id = Pic_0233; PicObj.update_pic_id = Pic_0233;
PicObj.second_menu = 0; PicObj.second_menu = 0;
PicObj.navigation_task_id = 0; PicObj.navigation_task_id = 0;
SetPagePic(GRAPHICS_PAGE_0, Pic_0233_605_289); SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);/*图层*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0193_0_0); SetPagePic(GRAPHICS_PAGE_0, Pic_0932_124_85);/*\豪进750TFT(371000 - 7500 - 02TY0000)OTA升级*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0477_178_130); 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); PackedTransfer_DisplayPhoneMirrorQRcode(0, PicObj);
} }
break; break;
...@@ -4283,12 +4624,28 @@ void AMT630H_GUI_ReadPosittion_Display(void) ...@@ -4283,12 +4624,28 @@ void AMT630H_GUI_ReadPosittion_Display(void)
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
AMT630H_GUI_Quit(); AMT630H_GUI_Quit();
break; break;
case MENU_ITEM_PHONE_CONNECT_SET:/*28 手机互联成功*/ case MENU_ITEM_PHONE_CONNECT_SET:/*30 手机互联成功*/
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
AMT630H_GUI_Phone_Connect_Win(); AMT630H_GUI_Phone_Connect_Win();
break; break;
case MENU_ITEM_PHONE_CONNECT_APP: 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; break;
default: default:
break; break;
......
...@@ -117,7 +117,8 @@ static const uint16_t PicIndexData[] = { ...@@ -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_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_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_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 #define PicIndexData_LEN 14888
//uint32_t PicIndexDataLEN = 0; //uint32_t PicIndexDataLEN = 0;
......
#ifndef PICBIN_H #ifndef PICBIN_H
#define 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_0001 1
#define Pic_0002 2 #define Pic_0002 2
#define Pic_0003 3 #define Pic_0003 3
...@@ -933,6 +933,12 @@ ...@@ -933,6 +933,12 @@
#define Pic_0929 929 #define Pic_0929 929
#define Pic_0930 930 #define Pic_0930 930
#define Pic_0931 931 #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 { enum {
Pic_0001_0_0 = 0, Pic_0001_0_0 = 0,
...@@ -2109,9 +2115,15 @@ enum { ...@@ -2109,9 +2115,15 @@ enum {
Pic_0930_612_175, Pic_0930_612_175,
Pic_0931_612_240, Pic_0931_612_240,
Pic_0931_612_175, 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); extern void User_PicIndexDataInit(void);
#endif #endif
...@@ -31,6 +31,9 @@ extern uint8_t GetAliveCounter(ALIVE_COUNTER_TYPE n); /* 0:ALIVE_COUNTER_COMM, 1 ...@@ -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 GetCrcErrCnts(void);
extern uint32_t GetRecvLenErrCnts(void); extern uint32_t GetRecvLenErrCnts(void);
extern uint8_t GetLcdInitSt(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 GetLcdInitStB(void);
extern uint8_t *GetUartRecvData(uint32_t *UartRecvBufLen, uint32_t *UartRecvPos); extern uint8_t *GetUartRecvData(uint32_t *UartRecvBufLen, uint32_t *UartRecvPos);
extern void UartSendData(uint8_t *data, uint32_t len); extern void UartSendData(uint8_t *data, uint32_t len);
...@@ -190,6 +193,11 @@ extern void PackedTransfer_InitPointer(POINTER_ENUM PointerN, uint8_t *data, uin ...@@ -190,6 +193,11 @@ extern void PackedTransfer_InitPointer(POINTER_ENUM PointerN, uint8_t *data, uin
extern uint8_t GetPointerInitSt(POINTER_ENUM PointerN); 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 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 */ 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 */ /* Pointer end */
/* Page Data */ /* Page Data */
...@@ -227,21 +235,26 @@ typedef enum { ...@@ -227,21 +235,26 @@ typedef enum {
TFT_ROT_270, TFT_ROT_270,
} TFT_ROT_TYPE; } 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_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_LEFT 0x0
#define GROUP_ALIGN_CENTER 0x40 #define GROUP_ALIGN_CENTER 0x40
extern void SetPageGuid(GRAPHICS_PAGE_ENUM page, uint8_t h, uint8_t m, uint8_t l); 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 SetPageBackground(GRAPHICS_PAGE_ENUM page, uint16_t PicIndex);
extern void SetPagePic(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 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 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 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 SetPagePointerPic(GRAPHICS_PAGE_ENUM page, POINTER_ENUM PointN, uint16_t PicIndex);
extern void SetPagePointerSePic(GRAPHICS_PAGE_ENUM page, POINTER_ENUM PointN); 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 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_BgJpg(uint32_t PicIndex);
extern void PackedTransfer_Page(void); extern void PackedTransfer_Page(void);
...@@ -255,9 +268,6 @@ extern void PackedTransfer_ComposeData(uint8_t *data, uint8_t len); ...@@ -255,9 +268,6 @@ extern void PackedTransfer_ComposeData(uint8_t *data, uint8_t len);
/* Label List */ /* Label List */
extern uint8_t GetLanguageInitSt(void); 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_InitLanguageFont(uint8_t Language, uint8_t Font);
extern void PackedTransfer_LabelsList(uint16_t LabelNum, uint8_t *LabelBuf, uint32_t LabelLen); extern void PackedTransfer_LabelsList(uint16_t LabelNum, uint8_t *LabelBuf, uint32_t LabelLen);
/* Label List end */ /* Label List end */
...@@ -274,15 +284,16 @@ extern void PackedTransfer_CheckFlashForceDisplay(FLASH_CHECK_FORCE_DISPLAY_TYPE ...@@ -274,15 +284,16 @@ extern void PackedTransfer_CheckFlashForceDisplay(FLASH_CHECK_FORCE_DISPLAY_TYPE
/* Flash Check end */ /* Flash Check end */
/* Video Input */ /* 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_VedioInputOff(void);
extern void PackedTransfer_VedioInputArk7116OutputOff(void);
extern void PackedTransfer_VedioInputArk7116OutputOn(void);
/* Video Input end */ /* Video Input end */
/* Get Mcu or Backup Data */ /* Get Mcu or Backup Data */
typedef enum { typedef enum {
REQ_DATA, REQ_DATA,
GET_STATUS, GET_STATUS,
GET_OFFSET,
GET_APP_DATA_OFFSET, GET_APP_DATA_OFFSET,
GET_BACKUP_DATA_OFFSET, GET_BACKUP_DATA_OFFSET,
GET_BACKUP_DATA_CRC, GET_BACKUP_DATA_CRC,
...@@ -303,6 +314,15 @@ extern void PackedTransfer_GetBackupDataCrc(uint32_t addr, uint32_t len); ...@@ -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); extern void PackedTransfer_WriteBackupData(uint32_t addr, uint8_t *data, uint16_t len);
/* Get Mcu or Backup Data end */ /* 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}; 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 { typedef struct {
const uint16_t *NumList; const uint16_t *NumList;
...@@ -349,7 +369,7 @@ enum BlueToothStatus ...@@ -349,7 +369,7 @@ enum BlueToothStatus
{ {
BlueTooth_Undefine = 0u, BlueTooth_Undefine = 0u,
BlueTooth_DisConnect, BlueTooth_DisConnect,
BlueTooth_Connection, BlueTooth_Connection
}; };
enum ECNaviIcon enum ECNaviIcon
...@@ -510,5 +530,6 @@ extern void SetUpdateCtrl(uint8_t cmddata,_QRCODE_RECT qrcode_obj); ...@@ -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 SetBlueToothName(uint8_t *data,uint8_t len);
extern void SetTaskbarHeight(uint16_t height); extern void SetTaskbarHeight(uint16_t height);
extern void Set_Pro_Unique_Identifier(uint8_t *data,uint8_t len); extern void Set_Pro_Unique_Identifier(uint8_t *data,uint8_t len);
extern uint8_t GetUpdate(void);
#endif #endif
...@@ -336,14 +336,13 @@ static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status) ...@@ -336,14 +336,13 @@ static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status)
} }
// uint16_t ECU_Engine_Temperature_R =0; // 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>硬线*/ /*信号来源:ECU_101 +硬线-P11 阻值 CAN>硬线*/
static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void) static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void)
{ {
Tellib_uint16_t LED_STATE = 0u; Tellib_uint16_t LED_STATE = 0u;
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST) 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) if(ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R) <= 20)
{ {
ECU_Engine_Temperature_flag = 1; ECU_Engine_Temperature_flag = 1;
...@@ -372,7 +371,7 @@ static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void) ...@@ -372,7 +371,7 @@ static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void)
} }
else 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 ) if(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature() >= 120 )
{ {
ECU_Engine_Temperature_flag = 1; ECU_Engine_Temperature_flag = 1;
......
...@@ -84,7 +84,6 @@ void Sys_100ms_Tasks(void) ...@@ -84,7 +84,6 @@ void Sys_100ms_Tasks(void)
Coolant_Cal_Sevice(100u); Coolant_Cal_Sevice(100u);
Services_Mileage_Callback(); Services_Mileage_Callback();
// Data_Mileage_Clear(); // Data_Mileage_Clear();
OTAUpdateService();
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_High); RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_High);
//BackLight_Process(); //BackLight_Process();
//TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 100); //TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 100);
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
/****************************************************************************** /******************************************************************************
program version 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 HWV 0x100 // 0x100 = 1.00 hardware version 硬件版本号
#define BTV 0x100 // 0x100 = 1.00 bootloader version boot程序版本号 #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