Commit 42a45ac3 authored by 王雅楠's avatar 王雅楠

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

parents 42b35632 5efc6363
......@@ -275,7 +275,7 @@
</OCR_RVCT3>
<OCR_RVCT4>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<StartAddress>0xc400</StartAddress>
<Size>0x73c00</Size>
</OCR_RVCT4>
<OCR_RVCT5>
......@@ -979,9 +979,9 @@
<FilePath>..\..\..\..\Source\Component\AMT630H\PicBin.h</FilePath>
</File>
<File>
<FileName>kei_S1.0.4_20240818.lib</FileName>
<FileName>kei_S1.0.5_20240822.lib</FileName>
<FileType>4</FileType>
<FilePath>..\..\..\..\Source\Component\AMT630H\kei_S1.0.4_20240818.lib</FilePath>
<FilePath>..\..\..\..\Source\Component\AMT630H\kei_S1.0.5_20240822.lib</FilePath>
</File>
<File>
<FileName>UartProtocol.h</FileName>
......
......@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x00000000 0x00073C00 { ; load region size_region
ER_IROM1 0x00000000 0x00073C00 { ; load address = execution address
LR_IROM1 0x0000C400 0x00073C00 { ; load region size_region
ER_IROM1 0x0000C400 0x00073C00 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
......
......@@ -20,7 +20,7 @@ User definitions
typedef unsigned short MD_STATUS;
#define HAS_BOOTLOADER (0u) // 仅仿真App时设置为0
#define HAS_BOOTLOADER (1u) // 仅仿真App时设置为0
#define APP_BASE (0x0000C400ul)
/* Status list definition */
......
#include "Backlight.h"
#include "Components.h"
#define BACK_LIGHT_Val_1 100
#define BACK_LIGHT_Val_2 300
#define BACK_LIGHT_Val_3 500
#define BACK_LIGHT_Val_4 700
#define BACK_LIGHT_Val_5 900
typedef void (*SetPwm)(Light_uint16_t Pwm);
typedef Light_uint8_t (*SetPwmEnable)(void);
typedef Light_uint8_t (*SetPwmLevel)(void);
typedef Light_uint16_t (*NtcRes)(void);
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk; /* 获取电阻值回调函数 */
} BackLightExtPara;
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk;
Light_uint8_t BacklightEn; /* 背光使能 */
Light_uint16_t BacklightPwm; /* 背光PWM */
Light_uint16_t BacklightLevel; /* 背光等级 */
} _Backlight_Op;
_Backlight_Op Backlight_Operate;
#define BACK_LIGHT_Val_1 (( 100 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_2 (( 200 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_3 (( 400 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_4 (( 600 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_5 (( 800 * Backlight_Operate.BacklightPwm ) / 100 )
#define LIGHT_DATA_TIME 10u /*这里填写多长时间采集一个数据,单位ms*/
#define LIGHT_DATA_NUM 20u /*燃油电阻采集数据总数 最大255*/
......@@ -112,6 +138,8 @@ void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并
}
}
timeCount += deltaTime;
if(SYS_OPR_STAT_IGN_ON)
{
if(Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO))
{
if(LightADCompleteFlg)
......@@ -136,11 +164,11 @@ void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并
}
if(LightR_Status == 0)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 200);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_2);
}
else
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 800);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_5);
}
}
}
......@@ -148,29 +176,34 @@ void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并
{
if(Backlight_SetPwmLevel() == 1U)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 100);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_1);
}
else if(Backlight_SetPwmLevel() == 2U)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 200);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_2);
}
else if(Backlight_SetPwmLevel() == 3U)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 400);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_3);
}
else if(Backlight_SetPwmLevel() == 4U)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 600);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_4);
}
else if(Backlight_SetPwmLevel() == 5U)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 800);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_5);
}
}
else
{
BackLight_Process();
}
}
else
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
}
}
......@@ -187,31 +220,8 @@ Light_uint16_t GetBacklightDutyByLevel(Light_uint16_t level)
return 0;
}
typedef void (*SetPwm)(Light_uint16_t Pwm);
typedef Light_uint8_t (*SetPwmEnable)(void);
typedef Light_uint8_t (*SetPwmLevel)(void);
typedef Light_uint16_t (*NtcRes)(void);
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk; /* 获取电阻值回调函数 */
} BackLightExtPara;
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk;
Light_uint8_t BacklightEn; /* 背光使能 */
Light_uint16_t BacklightPwm; /* 背光PWM */
Light_uint16_t BacklightLevel; /* 背光等级 */
} _Backlight_Op;
_Backlight_Op Backlight_Operate;
/* 设置PWM回调函数 */
......@@ -494,7 +504,7 @@ void BackLight_Service(void)
BacklightFactorCtrl.curFactor = BacklightFactorCtrl.destFactor;
}
BacklightFactorCtrl.u16DialdestDuty = BacklightFactorCtrl.curFactor * BacklightFactorCtrl.curFactor / 100;
BacklightFactorCtrl.u16DialdestDuty = Backlight_Operate.BacklightPwm * BacklightFactorCtrl.curFactor / 100;
if (BacklightFactorCtrl.u16DialdestDuty < 50)
{
......@@ -518,17 +528,19 @@ void BackLight_Service(void)
}
Backlight_Operate.BacklightPwm = BacklightFactorCtrl.u16DialcurDuty;
Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm);
// Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm);
}
else
{
/* 无NTC策略 直接根据当前背光等级调整PWM */
Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm);
Backlight_Operate.BacklightPwm = 100U;
// Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm);
}
}
else
{
Backlight_Operate.SetPwmCbk(0);
Backlight_Operate.BacklightPwm = 100U;
// Backlight_Operate.SetPwmCbk(0);
}
}
......@@ -538,7 +550,7 @@ void BackLight_Process(void)
{
if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_5) == 1)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_5);
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, (BACK_LIGHT_Val_5));
}
else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_4) == 1)
{
......
......@@ -25,7 +25,7 @@ extern Light_uint16_t LightR_Status ;
void Backlight_KL30_Wakeup_Init(void);
void BackLight_Process(void);
Light_uint8_t Backlight_SetPwmLevel(void);
extern void BackLight_Service(void);
......
#include "Components.h"
uint8_t OTA_Update_Count = 0;
const uint8_t HJBlueToothName[9]= {"HJ_750TFT"};
uint8_t OTA_Update_Count_Open = 0;
uint8_t OTA_Update_Count_Close = 0;
uint8_t Update_Graphic_Count = 0;
uint8_t GetBlueToothVaild = 0;
uint8_t GetPhoneBookVaild = 0;
uint8_t TextInit = 0;
uint8_t SetUUIDTimes = 0;
_PICID_Struct PicObj;
_QRCODE_RECT QRCode_Rect;
const uint8_t HJBlueToothName[9]= {"HJ750"};
uint8_t UUIDConfigBuf[22] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00};
// uint8_t sjhja[20] = {0};
// uint8_t PhoneName[100] = {0};
// uint8_t BlueConnectStatus;
// ee_uint16_t juasfha;
void TextService(void);
void BlueToothService()
{
// SetUUIDTimes++;
if(Get_Dis_Bluetooth_Open_Close() == 0)
{
if(GetBlueToothVaild == 0)
{
SetBluetoothTurnXX(1);
GetBlueToothVaild = 1;
}
}
else
{
if(GetBlueToothVaild == 1)
{
SetBluetoothTurnXX(0);
GetBlueToothVaild = 0;
}
}
if ((BlueToothPhoneData.BlueToothSignalSate == BlueTooth_Connection)&&(GetPhoneBookVaild == 0))
{
PackedTransfer_GetPhoneBookCmd();
GetPhoneBookVaild = 1;
}
else if (BlueToothPhoneData.BlueToothSignalSate == BlueTooth_DisConnect)
{
GetPhoneBookVaild = 0;
}
if((BlueToothPhoneData.BlueToothPhoneSate == Phone_Outgoing) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Incoming) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Talking))
{
Menu_Change_Branch_To_Item(MENU_BRANCH_ANIMATION,MENU_ITEM_MAIN_ITEM);
}
TextService();
// SetBlueToothName((uint8_t *)HJBlueToothName, sizeof(HJBlueToothName));
// SetUUIDData((char *)UUIDConfigBuf, 22);
// BlueConnectStatus = GetBlueToothPowerSTATE();
// juasfha = BlueToothPhoneData.BlueToothPhoneSate;
// juasfha = BlueToothPhoneData.PhoneBookTotalCount;
// for(i=0;i<20;i++)
// {
// sjhja[i] = BlueToothPhoneData.PhoneNumber[i];
// }
// for(i=0;i<100;i++)
// {
// PhoneName[i] = BlueToothPhoneData.BlueToothPhoneName[i];
// }
SetBlueToothName((uint8_t *)HJBlueToothName, sizeof(HJBlueToothName));
SetUUIDData((char *)UUIDConfigBuf, 22);
// _QRCODE_RECT QRCode_Rect;
// QRCode_Rect.x = QRCode_X;
// QRCode_Rect.y = QRCode_Y;
......@@ -16,35 +79,90 @@ void BlueToothService()
// SetScreenType(QRCode_TYPE, QRCode_Rect);
}
void UpdateGraphics(void)
TEXT_STRUCT TextPara[TEXT_NUM_TOTAL] =
{
_PICID_Struct PicObj;
PicObj.qr_logo_id = 0;
PicObj.main_pic_id = Pic_0382;
PicObj.qr_pic_id = Pic_0316;
PicObj.update_pic_id = Pic_0193;
PicObj.second_menu = 0;
PicObj.navigation_task_id = 0;
PackedTransfer_DisplayPhoneMirrorQRcode(0, PicObj);
{TEXT_NUM_BLUETOOTH_NAME, 0x4005, 0},
{TEXT_NUM_BLUETOOTH_PHONENAME, 0x4007, 0},
{TEXT_NUM_PHONE_NUMBER, 0x4009, 0},
{TEXT_NUM_PHONE_NUMBER_TOTAL, 0x4011, 0},
{TEXT_NUM_INFORMATION_MCUVER, 0x4012, 0},
{TEXT_NUM_INFORMATION_SWVERSION, 0x4013, 0},
{TEXT_NUM_INFORMATION_HW, 0x4014, 0}, //23F 23E
{TEXT_NUM_INFORMATION_OS, 0x4015, 0},
{TEXT_NUM_INFORMATION_HMI, 0x4016, 0},
{TEXT_NUM_ROAD_NAME, 0x4022, 0},
};
uint8_t PhoneNumber[40];
uint8_t LastPhoneNumber[20];
uint8_t LastBlueToothPhoneName[100];
uint8_t CurBlueToothPhoneName[100];
void TextService(void)
{
if(TextInit == 0)
{
TextInit = 1;
memset(PhoneNumber, 0, sizeof(PhoneNumber));
memset(LastPhoneNumber, 0, sizeof(LastPhoneNumber));
memset(LastBlueToothPhoneName, 0, sizeof(LastBlueToothPhoneName));
memset(CurBlueToothPhoneName, 0, sizeof(CurBlueToothPhoneName));
}
if (BlueToothPhoneData.BlueToothSignalSate == BlueTooth_Connection)
{
if ((BlueToothPhoneData.BlueToothPhoneSate == Phone_Outgoing) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Incoming) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Talking)) {
if ((memcmp(LastBlueToothPhoneName, BlueToothPhoneData.BlueToothPhoneName, sizeof(LastBlueToothPhoneName))) != 0)
{
for (uint8_t i = 0; i < (sizeof(BlueToothPhoneData.BlueToothPhoneName) / 2); i++)
{
CurBlueToothPhoneName[i * 2] = BlueToothPhoneData.BlueToothPhoneName[(i * 2) + 1];
CurBlueToothPhoneName[(i * 2) + 1] = BlueToothPhoneData.BlueToothPhoneName[i * 2];
}
memcpy(LastBlueToothPhoneName, BlueToothPhoneData.BlueToothPhoneName, (sizeof(BlueToothPhoneData.BlueToothPhoneName) / sizeof(BlueToothPhoneData.BlueToothPhoneName[0])));
TextPara[TEXT_NUM_BLUETOOTH_PHONENAME].Vaild = 0X01;
}
if ((memcmp(LastPhoneNumber, BlueToothPhoneData.PhoneNumber, sizeof(LastPhoneNumber))) != 0)
{
for (uint8_t i = 0; i < sizeof(BlueToothPhoneData.PhoneNumber); i++)
{
PhoneNumber[i * 2] = (uint8_t)(BlueToothPhoneData.PhoneNumber[i]);
PhoneNumber[(i * 2) + 1] = 0X00;
}
memcpy(LastPhoneNumber, BlueToothPhoneData.PhoneNumber, (sizeof(BlueToothPhoneData.PhoneNumber) / sizeof(BlueToothPhoneData.PhoneNumber[0])));
TextPara[TEXT_NUM_PHONE_NUMBER].Vaild = 0X01;
}
}
}
}
void OTAUpdateService(void)
{
_QRCODE_RECT QRCode_Rect;
QRCode_Rect.x = 457;
QRCode_Rect.y = 137;
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)
{
OTA_Update_Count++;
if(OTA_Update_Count < 5)
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=0;
OTA_Update_Count_Close++;
}
OTA_Update_Count_Open=0;
}
}
#ifndef _BLUETOOTH_H
#define _BLUETOOTH_H
typedef enum {
TEXT_NUM_BLUETOOTH_NAME,
TEXT_NUM_BLUETOOTH_PHONENAME,
TEXT_NUM_PHONE_NUMBER,
TEXT_NUM_PHONE_NUMBER_TOTAL,
TEXT_NUM_INFORMATION_MCUVER,
TEXT_NUM_INFORMATION_SWVERSION,
TEXT_NUM_INFORMATION_HW,
TEXT_NUM_INFORMATION_OS,
TEXT_NUM_INFORMATION_HMI,
TEXT_NUM_ROAD_NAME,
TEXT_NUM_TOTAL,
} TEXT_NUM_ENUM;
typedef struct {
TEXT_NUM_ENUM TextNum;
uint16_t LableNum;
uint16_t Vaild;
}TEXT_STRUCT;
/*QRCode X Y height Width*/
#define QRCode_X 457
#define QRCode_Y 134
......@@ -11,6 +33,7 @@
extern void BlueToothService(void);
extern void OTAUpdateService(void);
void UpdateGraphics(void);
extern void OTAUpdateInit(void);
extern _PICID_Struct PicObj;
#endif
\ No newline at end of file
......@@ -41,7 +41,8 @@ uint8_t Common_Get_IG_Sts(void)
uint16_t Common_Get_Act_V_Speed(void)
{
return Act_V_Speed;
uint32_t Act_V_Speed_ODO = Act_V_Speed;
return Act_V_Speed_ODO * 1005 / 1000;//需要跑大计测试
}
uint16_t Common_Get_Disp_V_Speed(void)
{
......
......@@ -11,10 +11,10 @@
#define DATA_ENGINE_RUNNING_THRESHOLD 400 //发动机运转阈值
#define DATA_ENGINE_STOP_THRESHOLD 300 //发动机停止阈值
#define DATA_ESPEED_DAMPING_FACTOR 1 //阻尼系数
#define DATA_ESPEED_INC_STEP 10 //速度增加时慢加速速度变化步长
#define DATA_ESPEED_DAMPING_FACTOR 3 //阻尼系数
#define DATA_ESPEED_INC_STEP 30 //速度增加时慢加速速度变化步长
#define DATA_ESPEED_DEC_STEP 20 //方向改变时急减速速度变化步长
#define DATA_ESPEED_APPR_SPEED_MIN 10 //最小逼近速度
#define DATA_ESPEED_APPR_SPEED_MIN 20 //最小逼近速度
#define DATA_ESPEED_HYSTERESIS 80 //回差
/*** 控制结构 ***/
......
......@@ -7,8 +7,8 @@
#define DATA_VEHICLE_RUNNING_THRESHOLD 25 //汽车行进阈值
#define DATA_VEHICLE_STOP_THRESHOLD 20 //汽车停止阈值
#define DATA_VSPEED_DAMPING_FACTOR 1 //阻尼系数
#define DATA_VSPEED_INC_STEP 2 //速度增加时慢加速速度变化步长
#define DATA_VSPEED_DAMPING_FACTOR 3 //阻尼系数
#define DATA_VSPEED_INC_STEP 4 //速度增加时慢加速速度变化步长
#define DATA_VSPEED_DEC_STEP 6 //方向改变时急减速速度变化步长
#define DATA_VSPEED_APPR_SPEED_MIN 2 //最小逼近速度
#define DATA_VSPEED_HYSTERESIS 10 //回差
......
......@@ -1480,15 +1480,15 @@ void AMT630H_GUI_Display_Mode_Setting(Menu_Item_en_t display_mode) /*图 显示
SetPagePic(GRAPHICS_PAGE_0, Pic_0073_456_257);
SetPagePic(GRAPHICS_PAGE_0, Pic_0074_422_103);
}
if(Menu_Item_Select_Get(MENU_ITEM_SELECT_DAYTIME) == 1)
{
g_u8Display_Mode = ModeDAY;
g_u8Display_Mode_select = ModeDAY;
}
else
{
;
}
// if(Menu_Item_Select_Get(MENU_ITEM_SELECT_DAYTIME) == 1)
// {
// g_u8Display_Mode = ModeDAY;
// g_u8Display_Mode_select = ModeDAY;
// }
// else
// {
// ;
// }
break;
case MENU_ITEM_SELECT_NIGHTTIME:
if(g_u8Language == CH)/*处于日间模式 进入显示模式设置 :中文 光标选中夜间模式*/
......@@ -1511,15 +1511,15 @@ void AMT630H_GUI_Display_Mode_Setting(Menu_Item_en_t display_mode) /*图 显示
SetPagePic(GRAPHICS_PAGE_0, Pic_0077_414_234);
SetPagePic(GRAPHICS_PAGE_0, Pic_0076_461_118);
}
if(Menu_Item_Select_Get(MENU_ITEM_SELECT_NIGHTTIME) == 1)
{
g_u8Display_Mode = ModeNIGHT;
g_u8Display_Mode_select = ModeNIGHT;
}
else
{
;
}
// if(Menu_Item_Select_Get(MENU_ITEM_SELECT_NIGHTTIME) == 1)
// {
// g_u8Display_Mode = ModeNIGHT;
// g_u8Display_Mode_select = ModeNIGHT;
// }
// else
// {
// ;
// }
break;
case MENU_ITEM_SELECT_AUTO:
if(g_u8Language == CH)/*处于日间模式 进入显示模式设置 :中文 光标选中自动模式*/
......@@ -1543,7 +1543,7 @@ void AMT630H_GUI_Display_Mode_Setting(Menu_Item_en_t display_mode) /*图 显示
}
if(Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO) == 1)
{
g_u8Display_Mode_select = ModeATUO;
// g_u8Display_Mode_select = ModeATUO;
if(LightR_Status == 0)
{
g_u8Display_Mode = ModeNIGHT;
......@@ -3906,7 +3906,7 @@ void AMT630H_GUI_BACKGRAND()
{
AMT630H_GUI_Trip(Get_Trip_Value(), Get_Dis_Unit());
}
if(VechileSpeed_time < 4)
if(0)
{
VechileSpeed_time++;
}
......@@ -3918,7 +3918,7 @@ void AMT630H_GUI_BACKGRAND()
}
if (Get_VechileSpeedValid() == 1)
{
AMT630H_GUI_VSpeed(Get_DispVechileSpeed() / 10, Get_Dis_Unit());
AMT630H_GUI_VSpeed(VechileSpeed, Get_Dis_Unit());
}
else
{
......@@ -4254,8 +4254,16 @@ void AMT630H_GUI_ReadPosittion_Display(void)
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0653_54_499);
PicObj.qr_logo_id = 0;
PicObj.main_pic_id = Pic_0382;
PicObj.qr_pic_id = Pic_0316;
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);
PackedTransfer_DisplayPhoneMirrorQRcode(0, PicObj);
}
break;
case MENU_ITEM_PHONE_CONNECT: /*28 手机互联*/
......
......@@ -57,7 +57,8 @@ extern uint8_t GET_Backlight(void);
extern uint8_t g_u8Display_Mode;
extern uint8_t g_u8Display_Mode_select;
......
......@@ -18,7 +18,7 @@ uint8_t *GetUartRecvData(uint32_t *UartRecvBufLen, uint32_t *UartRecvPos)
void UartSendData(uint8_t *data, uint32_t len)
{
UART_Ch2_Send_Multiple_Byte(data, len);
mwAmt630hUartSendData(data, len);
}
void DisplayNum(uint8_t page, DISPLAY_NUM_ST *pNumData, int32_t NumVal)
......
......@@ -36,6 +36,7 @@
#include "Telltales\Telltales_user.h"
#include "Telltales\Telltales_Lib.h"
#include "Application\BlueTooth.h"
#include "cgc.h"
#endif
......@@ -50,6 +50,18 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
switch (enKeyEvent)
{
case KEY_EVENT_SHORT_PRESS_1:
/* 在数字闪烁界面的时候,按确认键保存时间 */
if ((Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_TENB_SET) ||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_BIT_SET ) ||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_TENB_SET ) ||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_BIT_SET ) )
{
// Menu_Logic_Operation_Clock_Hour_Tenb_Set(MENU_KEY_CONFIRM_SHORT);
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
counter_val.time.RTC_Seconds = 0U;
RTC_SetTime(&counter_val.time);
}
Key_Event_Short_Press_Right();
break;
case KEY_EVENT_SHORT_PRESS_2:
......@@ -235,6 +247,10 @@ void Key_Event_Short_Press_Left(void)//选择
Menu_Service(MENU_KEY_DOWN_SHORT);
}
}
if ((BlueToothPhoneData.BlueToothPhoneSate == Phone_Outgoing) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Incoming) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Talking))
{
PackedTransfer_BlueTooth_DataSet(Phone_Pick_Up);
}
}
void Key_Event_Short_Press_Right(void)//确认
......@@ -279,6 +295,10 @@ void Key_Event_Short_Press_Right(void)//确认
{
Menu_Service(MENU_KEY_CONFIRM_SHORT);
}
if ((BlueToothPhoneData.BlueToothPhoneSate == Phone_Outgoing) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Incoming) || (BlueToothPhoneData.BlueToothPhoneSate == Phone_Talking))
{
PackedTransfer_BlueTooth_DataSet(Phone_Hangup_Out);
}
}
uint8_t OTA_Update_Flag = 0;
......@@ -347,23 +367,32 @@ void TYW_RESET_ODO(void)
void Get_DisTime_Service(void)
{
if(1)
if ((Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_TENB_SET) ||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_HOUR_BIT_SET ) ||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_TENB_SET ) ||
(Menu_Get_Current_Cursor_Information() == MENU_ITEM_CLOCK_MIN_BIT_SET ) )
{
}
else
{
/* 由于需要不保存时间,需要另外一套计时的方式 */
RTE_RTC_Get_CounterValue(&counter_val);
counter_val.time.RTC_Hours = RTC_Bcd2ToByte(counter_val.time.RTC_Hours);
MenuData.u8Dis_Hour = counter_val.time.RTC_Hours;
counter_val.time.RTC_Minutes = RTC_Bcd2ToByte(counter_val.time.RTC_Minutes);
MenuData.u8Dis_Minute = counter_val.time.RTC_Minutes;
}
}
uint8_t Get_Dis_Hour_Time(void)
{
return counter_val.time.RTC_Hours;
return MenuData.u8Dis_Hour;
}
uint8_t Get_Dis_Minute_Time(void)
{
return counter_val.time.RTC_Minutes;
return MenuData.u8Dis_Minute;
}
uint8_t Get_Dis_Unit(void)
......
......@@ -45,6 +45,8 @@ typedef struct
uint8_t OdoAndTrip;
uint8_t Bluetooth_Open_Close;
uint8_t Clock_Flash;
uint8_t u8Dis_Hour;
uint8_t u8Dis_Minute;
}_Menu_Data;
extern uint8_t OTA_Update_Flag;
......
......@@ -202,6 +202,8 @@ void Menu_Logic_Operation_Select_Daytime(Menu_Key_en_t enKeyType)
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
g_u8Display_Mode = ModeDAY;
g_u8Display_Mode_select = ModeDAY;
}
}
......@@ -212,6 +214,8 @@ void Menu_Logic_Operation_Select_Nighttime(Menu_Key_en_t enKeyType)
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
g_u8Display_Mode = ModeNIGHT;
g_u8Display_Mode_select = ModeNIGHT;
}
}
......@@ -222,6 +226,7 @@ void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType)
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 1);
g_u8Display_Mode_select = ModeATUO;
}
}
......@@ -390,13 +395,15 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType)
datmax = 2u;
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Tenb));
MenuData.u8Dis_Hour = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
MenuData.u8Dis_Minute = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
}
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
// counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
// RTC_SetTime(&counter_val.time);
}
}
void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType)
......@@ -407,16 +414,25 @@ void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType)
if(enKeyType == MENU_KEY_DOWN_SHORT)
{
updataDir = 1;
if(MenuData.Dis_Hour_Tenb == 2)
{
datmax = 3u;
}
else
{
datmax = 9u;
}
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Bit));
MenuData.u8Dis_Hour = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
MenuData.u8Dis_Minute = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
}
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
// MenuData.Dis_Hour = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
// MenuData.Dis_Minute = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
//RTC_SetTime(&counter_val.time);
}
}
......@@ -431,13 +447,15 @@ void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType)
datmax = 5u;
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Tenb));
MenuData.u8Dis_Hour = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
MenuData.u8Dis_Minute = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
}
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
// counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
// RTC_SetTime(&counter_val.time);
}
}
......@@ -452,13 +470,15 @@ void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType)
datmax = 9u;
datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Bit));
MenuData.u8Dis_Hour = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
MenuData.u8Dis_Minute = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
}
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
// counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
// RTC_SetTime(&counter_val.time);
}
}
......
......@@ -44,6 +44,7 @@ static void Power_KL30_Init(void)
loc_config.u32UARTbps = 115200U;
loc_config.pfnUARTConfirmCallBack = NULL;
loc_config.pfnUARTReadMsgCallBack = Amt630hUartRecvData;
UART_DeInit(UART2);
RTE_UART_Init(UART_CH2, &loc_config);
Common_DataInit();
Analog_Signal_Conv_Init();
......@@ -76,12 +77,14 @@ static void Power_KL30_Init(void)
static void Power_Wakeup_Init(void)
{
UART_Channel_Config_st_t loc_config;
Common_DataInit();
Gpio_Init(Gpio_WakeUp_Init);
eeprom_StoreInfo_Init();
Analog_Signal_Conv_Init();
Data_User_Mileage_WakeupInit();
Sys_WakeUp_Init();
RTE_CLOCK_Select_Start(); /* 由于休眠的时候时钟关闭,唤醒的时候打开时钟,才能进行下一步 */
Data_Vehicle_Speed_KL30_Wakeup_Init();
Data_Engine_Speed_KL30_Wakeup_Init();
LINE_IN_Init();
......@@ -89,6 +92,13 @@ static void Power_Wakeup_Init(void)
Line_In_KL15_ON_Init();
Fuel_KL30_Init();
Backlight_KL30_Wakeup_Init();
RTE_UART_Sleep_Init(UART_CH2);
loc_config.u32UARTChEn = 1U;
loc_config.u32UARTbps = 115200U;
loc_config.pfnUARTConfirmCallBack = NULL;
loc_config.pfnUARTReadMsgCallBack = Amt630hUartRecvData;
UART_DeInit(UART2);
RTE_UART_Init(UART_CH2, &loc_config); /* 配置串口,630H上电发送0x0D,但是底板没回复 */
Amt630hInit();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
......@@ -124,8 +134,6 @@ static void Power_IG_ON_Init(void)
Fuel_KL15_Init();
//RTE_GPIO_Set_Level(Blacklight_PWM, 1);
FaultCode_Init();
Amt630hInit();
ResetInitedState();
}
static void Power_Sleep_Init(void)
......@@ -139,10 +147,11 @@ static void Power_Sleep_Init(void)
Gpio_Init(Gpio_Sleep_Init);
AMT630H_Sleep();
Analog_Signal_Conv_Stop();
if (RTE_GPIO_Get_Level(KL15_AD_IN) == 0)/* KL15 */
{
RTE_UART_Sleep_Init(UART_CH2);
CGC_HSI_CFG_AS_FCLK(); /* 配置时钟生成控制器(cgc)以将内部高速振荡器(HSI)作为CPU系统时钟(FCLK)以及可能的其他硬件电路的时钟源。 */
//SystemCoreClockUpdate(); /* 更新时钟频率,暂时用不上,先注释 */
RTE_DEEPSLEEP_Enable();
}
// RTE_CLOCK_Select_Sleep(); /* 这边代码是开启时钟,暂时用不上,先注释 */
}
static Power_Status_em Power_Stay_ON(void)
......@@ -209,6 +218,7 @@ static Power_Status_em Power_Stay_Protect(void)
if ( SYS_OPR_STAT_RUN )
{
Amt630hInit();
//CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
return u8PowerSts;
}
......
......@@ -68,6 +68,7 @@ void UART_DeInit(SCIAFSelect_TypeDef UARTx)
CGC_PER0PeriphClockCmd(UARTx >> 10, DISABLE);
SCIChannel_Free(UARTx, UART_Mode_Rx | UART_Mode_Tx);
}
SCIChannel_Free(UARTx, UART_Mode_Rx | UART_Mode_Tx);
}
/**
......
......@@ -5,5 +5,6 @@
extern void RTE_CLOCK_Select_Start(void);
extern void RTE_CLOCK_Select_Stop(void);
extern void RTE_CLOCK_Select_Sleep(void);
#endif
......@@ -15,8 +15,8 @@ void RTE_CLOCK_Select_Start(void)
#ifdef USED_FX_FCLK
CGC_Osc_Setting(OSC_OSCILLATOR,OSC_UNDER_10M,OSC_OSCILLATOR,OSC_NORMAL_POWER);
CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16);
CGC_PLL_CFG_AS_FCLK();
CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16);/* CGC_PLL_Setting 用于配置PLL(相位锁定环)作为系统时钟以及可能的外设硬件电路的时钟源。 */
CGC_PLL_CFG_AS_FCLK(); /* PLL的输出频率配置为CPU系统时钟以及外设硬件电路的时钟源。 */
delay_init(64000000);
SystemCoreClock = 64000000UL;
#endif
......@@ -40,3 +40,20 @@ uint32_t RTE_CLOCK_Sys_Get(void)
}
void RTE_CLOCK_Select_Sleep(void)
{
uint8_t u8tempstabset1 = 0U;
uint8_t u8tempstabwait1 = 0U;
u8tempstabset1 = _FF_CGC_OSCSTAB_STA18;
do
{
u8tempstabwait1 = CGC->OSTC;
u8tempstabwait1 &= u8tempstabset1;
}
while (u8tempstabwait1 != u8tempstabset1);
CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16);
CGC_PLL_CFG_AS_FCLK();//SRAM区运行
SystemCoreClock = 64000000UL;
}
......@@ -280,6 +280,42 @@ uint8_t UART_Ch3_Get_TX_Busy_Flag(void)
// }
return u8Status;
}
/* 一部代买码,暂时未使用,纯借鉴 */
#define MAX_SERIAL_BUFF_SIZE 4096
uint8_t mwAmt630hSerialSendBuffer[MAX_SERIAL_BUFF_SIZE] = {0};
uint16_t mwAmt630hSerialDataIndex = 0;
uint16_t mwAmt630hSerialSendCnts = 0;
uint16_t mwAmt630hSerialSendFillCnts = 0;
uint8_t mwAmt630hSerialSendValid = 0;
void mwAmt630hUartSendData(uint8_t *data, uint32_t length)
{
uint16_t StartIndex = mwAmt630hSerialDataIndex;
for (uint16_t i = 0; i < length; i++) {
mwAmt630hSerialSendBuffer[mwAmt630hSerialDataIndex++] = data[i];
if (mwAmt630hSerialDataIndex >= MAX_SERIAL_BUFF_SIZE) {
mwAmt630hSerialDataIndex = 0;
}
}
mwAmt630hSerialSendFillCnts += length;
if (mwAmt630hSerialSendValid == 0) {
UART_Ch2_Send_Multiple_Byte(&mwAmt630hSerialSendBuffer[StartIndex] ,sizeof(mwAmt630hSerialSendBuffer[StartIndex]));
mwAmt630hSerialSendCnts = StartIndex + 1;
mwAmt630hSerialSendValid = 1;
}
}
void mwAmt630hUartSendIsr(void)
{
if (mwAmt630hSerialSendFillCnts > 0) {
mwAmt630hSerialSendFillCnts --;
UART_Ch2_Send_Multiple_Byte(&mwAmt630hSerialSendBuffer[mwAmt630hSerialSendCnts ++],sizeof(mwAmt630hSerialSendBuffer[mwAmt630hSerialSendCnts]));
if (mwAmt630hSerialSendCnts == MAX_SERIAL_BUFF_SIZE) {
mwAmt630hSerialSendCnts = 0;
}
} else {
mwAmt630hSerialSendValid = 0;
}
}
/*
Data:要发送数据的指针,
请确认是全局变量的指针,且指向的数据在发送完成之前不会被改变。
......@@ -463,6 +499,7 @@ void UART_CH2_TX_ISR(void)
stUARTCh2Cfg.pfnUARTConfirmCallBack( );
}
}
mwAmt630hUartSendIsr();
}
void UART_CH3_TX_ISR(void)
{
......
......@@ -57,5 +57,7 @@ void UART_Ch2_Send_Multiple_Byte(uint8_t *Data, uint8_t Len);
extern uint32_t RTE_UART_Init(UART_Channel_en_t enUARTCh, UART_Channel_Config_st_t *penUARTCfg);
/*休眠时调用*/
extern void RTE_UART_Sleep_Init(UART_Channel_en_t enUARTCh);
extern void mwAmt630hUartSendData(uint8_t *data, uint32_t length);
extern void mwAmt630hUartSendIsr(void);
#endif
......@@ -20,7 +20,7 @@ void Sys_2ms_Tasks(void)
Sys_Status_Update_Service();
Analog_Signal_Conv_Service();
AMT630H_Main();
/* Check_MCU_Info_in_630H(); */
Check_MCU_Info_in_630H();
DoCAN_Timer_Update(2000u);
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发
CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp, 2u);
......@@ -52,8 +52,7 @@ void Sys_20ms_Tasks(void)
void Sys_50ms_Tasks(void)
{
// BlueToothService();
UpdateGraphics();
BackLight_Service();
Telltales_Management();
g_u8Cursor_Posittion = Menu_Get_Current_Cursor_Information();
......@@ -61,7 +60,7 @@ void Sys_50ms_Tasks(void)
if((MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit) > 23)
{
MenuData.Dis_Hour_Tenb = 2;
MenuData.Dis_Hour_Bit = 3;
MenuData.Dis_Hour_Bit = 0;
}
if((MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit) > 59)
......@@ -77,6 +76,7 @@ uint32_t aaa = 0;
void Sys_100ms_Tasks(void)
{
BlueToothService();
S3_ServerCNTT();
Get_DisTime_Service();
Fuel_Cal_Sevice(100u);
......
# 2024.08.21
使用中微官方推荐的添加函数到SRAM方式(#pragma多个函数添加到section)
L1: 修改block计算公式, 新Boot的CRC等信息使用全局变量存储, 减少函数调用
二级Boot地址改为0x1000
内部版本信息更新(1.04_20240821)
# 2024.08.16 (2)
中微厂家提供了新的cgc.c文件
内部版本信息更新(1.03_20240816)
......
#new Option
#Sun Aug 18 15:35:55 CST 2024
#Wed Aug 21 20:04:42 CST 2024
IsSort=true
MergeFlashIsCompression=false
ChangeAppFilePath=
......@@ -7,7 +7,7 @@ MergeCanXLSPath=
RH850_D1M1AGPIOJSONpath=
DBFFilePath=
MergeCrcTtpe=29
MergeBootFilePath=D\:\\git\\haojin750tft\\Firmware\\utility\\Boot_Release\\HaoJin_750TFT_HJYB-7500TFT_BV1.03_20240816.hex
MergeBootFilePath=D\:\\git\\haojin750tft\\Firmware\\utility\\Boot_Release\\HaoJin_750TFT_HJYB-7500TFT_BV1.04_20240821.hex
IsMergeChangeAddress=false
MergeFlashOutPutFilePath=
GPIOOutPutPath=
......@@ -56,7 +56,7 @@ IsHexDisplay=true
MergeLineInXLSPath=
MergeFlashInPutFilePath=
MergeFlashIsInternal=false
MergeOutPutFilePath=D\:\\\u9879\u76EE\\\u8C6A\u8FDB\\haojin750TFT\\srec-8.18
MergeOutPutFilePath=D\:\\\u9879\u76EE\\\u8C6A\u8FDB\\haojin750TFT\\srec-8.21
MergeAppFilePath=D\:\\git\\haojin750tft\\Firmware\\Project\\Cmsemicon\\BAT32A279\\MDK_ARM\\Objects\\HaoJin750TFT.hex
MergeTelltalesXLSPath=
FillingByte=-86
......
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