Commit ee3a95ec authored by 张金硕's avatar 张金硕

Merge branch 'jinshuo' into 'dev'

Jinshuo

See merge request !103
parents c4794fb2 944e9564
...@@ -748,6 +748,16 @@ ...@@ -748,6 +748,16 @@
<FileType>4</FileType> <FileType>4</FileType>
<FilePath>..\..\..\..\Source\Application\Hysteresis_V10_239.lib</FilePath> <FilePath>..\..\..\..\Source\Application\Hysteresis_V10_239.lib</FilePath>
</File> </File>
<File>
<FileName>Data_OilPressure.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Data_OilPressure.c</FilePath>
</File>
<File>
<FileName>Data_OilPressure.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Data_OilPressure.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
......
...@@ -64,11 +64,8 @@ typedef enum { ...@@ -64,11 +64,8 @@ typedef enum {
following is an example for different system frequencies */ following is an example for different system frequencies */
//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ //-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
#if (HAS_BOOTLOADER == 1U) #if (HAS_BOOTLOADER != 1U)
const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".ARM.__AT_0x0000C4C0"))) = const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".ARM.__AT_0x0000C4C0"))) =
#else
const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".ARM.__AT_0x000000C0"))) =
#endif
{ {
/** /**
...@@ -132,7 +129,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR ...@@ -132,7 +129,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR
// <0x72=> VLVDH = 4.06V/3.98V, VLVDL = 2.75V ( interrupt & reset mode ) // <0x72=> VLVDH = 4.06V/3.98V, VLVDL = 2.75V ( interrupt & reset mode )
// <i> Please setting the item for interrupt & reset mode // <i> Please setting the item for interrupt & reset mode
// </h> // </h>
0x72, 0x73,
/** /**
* @brief HOCO Control BYTE (FRQSEL) * @brief HOCO Control BYTE (FRQSEL)
...@@ -170,7 +167,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR ...@@ -170,7 +167,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR
0xFF 0xFF
}; };
#endif
//-------- <<< end of configuration section >>> ------------------ //-------- <<< end of configuration section >>> ------------------
/** @} */ /* End of group Configuration_of_User_Option_Byte */ /** @} */ /* End of group Configuration_of_User_Option_Byte */
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
Light_uint8_t LightADCompleteFlg = 0u; Light_uint8_t LightADCompleteFlg = 0u;
Light_uint16_t LightR = 0u; Light_uint16_t LightR = 0u;
Light_uint16_t LightR_Status = 0; Light_uint16_t LightR_Status = 0;
Light_uint16_t LightR_Status_Count = 0u; Light_uint16_t LightR_Status_NCount = 0u;
Light_uint16_t LightR_Status_DCount = 0u;
Light_uint16_t NtcDataCount; Light_uint16_t NtcDataCount;
Light_uint16_t NtcData[LIGHT_DATA_NUM] = {0}; Light_uint16_t NtcData[LIGHT_DATA_NUM] = {0};
typedef struct typedef struct
...@@ -206,22 +207,40 @@ void BackLight_Get_curDuty(void) ...@@ -206,22 +207,40 @@ void BackLight_Get_curDuty(void)
NTCresistance = ADC_Read_Signal(ADC_CH_NTC_TEMP); NTCresistance = ADC_Read_Signal(ADC_CH_NTC_TEMP);
/* 计算温度值 */ /* 计算温度值 */
NTCDegrees = NTC_Get_Degrees(NTCResBoard ,NTCDegreesBoard, sizeof(NTCResBoard)/sizeof(uint16_t), NTCresistance); NTCDegrees = NTC_Get_Degrees(NTCResBoard ,NTCDegreesBoard, sizeof(NTCResBoard)/sizeof(uint16_t), NTCresistance);
if ( NTCDegrees < 650 ) if ( NTCDegrees < 600 )
{ {
g_stBL.destFactor = 100; g_stBL.destFactor = 100;
} }
else if ( NTCDegrees <= 850 ) else if ( NTCDegrees <= 850 )
{ {
wtemp = (850 - NTCDegrees); wtemp = (850 - NTCDegrees);
wtemp *= 3; wtemp *= 1;
wtemp += 400; wtemp += 700;
wtemp /= 10; wtemp /= 10;
g_stBL.destFactor = wtemp; g_stBL.destFactor = wtemp;
/* 85°为40%占空比,65°为100%占空比, 1°大概为3% */ /* 85°为70%占空比,60°为95%占空比, 1°大概为1% */
}
else if(NTCDegrees <= 880 )
{
wtemp = (880 - NTCDegrees);
wtemp *= 16;
wtemp += 200;
wtemp /= 10;
g_stBL.destFactor = wtemp;
/* 88°为20%占空比,85°为70%占空比, 1°大概为16.6% */
}
else if(NTCDegrees <= 900 )
{
wtemp = (900 - NTCDegrees);
wtemp *= 5;
wtemp += 100;
wtemp /= 10;
g_stBL.destFactor = wtemp;
/* 90°为10%占空比,88°为20%占空比, 1°大概为5% */
} }
else else
{ {
g_stBL.destFactor = 40; g_stBL.destFactor = 10;
} }
if ( (g_stBL.curFactor < g_stBL.destFactor) && (NTCDegrees < 750) ) if ( (g_stBL.curFactor < g_stBL.destFactor) && (NTCDegrees < 750) )
...@@ -309,17 +328,17 @@ void BackLight_Get_curDuty(void) ...@@ -309,17 +328,17 @@ void BackLight_Get_curDuty(void)
g_stBL.u16TftdestDuty = 100; g_stBL.u16TftdestDuty = 100;
} }
/* 如果当前占空比小于100,那还是按照上次结果显示 */ // /* 如果当前占空比小于100,那还是按照上次结果显示 */
if(g_stBL.u16TftcurDuty < 100) // if(g_stBL.u16TftcurDuty < 100)
{ // {
// g_stBL.u16TftcurDuty = g_stBL.u16TftdestDuty;
// }
// /* 逐步逼近目标占空比 */
// else
// {
// U16_Data_Gradient((uint16_t *)&g_stBL.u16TftcurDuty, g_stBL.u16TftdestDuty, 1u, (uint16_t *)&g_stBL.u16DialDampingTimer, 1u);
// }
g_stBL.u16TftcurDuty = g_stBL.u16TftdestDuty; g_stBL.u16TftcurDuty = g_stBL.u16TftdestDuty;
}
/* 逐步逼近目标占空比 */
else
{
U16_Data_Gradient((uint16_t *)&g_stBL.u16TftcurDuty, g_stBL.u16TftdestDuty, 1u, (uint16_t *)&g_stBL.u16DialDampingTimer, 1u);
}
} }
#if 0 #if 0
...@@ -477,20 +496,24 @@ void BackLight_Process(void) ...@@ -477,20 +496,24 @@ void BackLight_Process(void)
if(LightR <= 200) if(LightR <= 200)
{ {
LightR_Status_Count++; LightR_Status_NCount++;
if(LightR_Status_Count>=150) if(LightR_Status_NCount>=150)
{ {
LightR_Status_Count = 0; LightR_Status_NCount = 150;
LightR_Status_DCount = 0;
LightR_Status = 0; LightR_Status = 0;
g_u8Display_Mode = ModeNIGHT;
} }
} }
else if(LightR > 200) else if(LightR > 200)
{ {
LightR_Status_Count++; LightR_Status_DCount++;
if(LightR_Status_Count>=150) if(LightR_Status_DCount>=150)
{ {
LightR_Status_Count = 0; LightR_Status_DCount = 150;
LightR_Status_NCount = 0;
LightR_Status = 1; LightR_Status = 1;
g_u8Display_Mode = ModeDAY;
} }
} }
/* 系统的意思是要当前背光等级基础上的80%和20%,不是直接设置背光 */ /* 系统的意思是要当前背光等级基础上的80%和20%,不是直接设置背光 */
...@@ -502,18 +525,18 @@ void BackLight_Process(void) ...@@ -502,18 +525,18 @@ void BackLight_Process(void)
{ {
BackLight_Set_Lvl(Light_Lvl_4); BackLight_Set_Lvl(Light_Lvl_4);
}*/ }*/
if(LightR_Status == 0) // if(LightR_Status == 0)
{ // {
g_u8Display_Mode = ModeNIGHT; // g_u8Display_Mode = ModeNIGHT;
} // }
else if(LightR_Status == 1) // else if(LightR_Status == 1)
{ // {
g_u8Display_Mode = ModeDAY; // g_u8Display_Mode = ModeDAY;
} // }
} }
} }
/* 根据感光判断当前应该设置什么背光等级 */ /* 根据感光判断当前应该设置什么背光等级 */
else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_AUTO)) if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_AUTO))
{ {
if(Backlight_GetPwmLevel() == 1U) if(Backlight_GetPwmLevel() == 1U)
{ {
...@@ -566,26 +589,26 @@ void BackLight_Process(void) ...@@ -566,26 +589,26 @@ void BackLight_Process(void)
} }
/* 数据处理,包括NTC功能 */ /* 数据处理,包括NTC功能 */
BackLight_Get_curDuty(); BackLight_Get_curDuty();
if(Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO))
{
uint16_t u16TftPwmBackShow = g_stBL.u16TftcurDuty ;
if(LightR_Status == 0)
{
u16TftPwmBackShow *= 20U;
u16TftPwmBackShow /= 100U;
}
else
{
u16TftPwmBackShow *= 80U;
u16TftPwmBackShow /= 100U;
}
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, u16TftPwmBackShow);
}
else
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, g_stBL.u16TftcurDuty); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, g_stBL.u16TftcurDuty);
} // if(Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO))
// {
// uint16_t u16TftPwmBackShow = g_stBL.u16TftcurDuty ;
// if(LightR_Status == 0)
// {
// u16TftPwmBackShow *= 20U;
// u16TftPwmBackShow /= 100U;
// }
// else
// {
// u16TftPwmBackShow *= 80U;
// u16TftPwmBackShow /= 100U;
// }
// TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, u16TftPwmBackShow);
// }
// else
// {
// TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, g_stBL.u16TftcurDuty);
// }
} }
else else
{ {
......
...@@ -8,6 +8,8 @@ uint8_t GetPhoneBookVaild = 0; ...@@ -8,6 +8,8 @@ uint8_t GetPhoneBookVaild = 0;
uint8_t TextInit = 0; uint8_t TextInit = 0;
uint8_t SetUUIDTimes = 0; uint8_t SetUUIDTimes = 0;
uint16_t LastPhoneBookTotalCount = 0; uint16_t LastPhoneBookTotalCount = 0;
uint8_t LastCurIgnSt = POWER_STATE_IGN_OFF;
uint8_t IOState = 0;
_PICID_Struct PicObj; _PICID_Struct PicObj;
_QRCODE_RECT QRCode_Rect; _QRCODE_RECT QRCode_Rect;
const uint8_t HJBlueToothName[9]= {"HJ750"}; const uint8_t HJBlueToothName[9]= {"HJ750"};
...@@ -47,6 +49,14 @@ uint8_t MCUVersionASCLLList[26] = ...@@ -47,6 +49,14 @@ uint8_t MCUVersionASCLLList[26] =
void TextService(void); void TextService(void);
void BlueTooth_IGOFF_INIT(void)
{
GetBlueToothVaild =0;
OTA_Update_Flag = 0;
SetBluetoothCloseCount = 0;
SetBluetoothTurnXX(0);
SetUpdateCtrl(0,QRCode_Rect);
}
void BlueToothService(void) void BlueToothService(void)
{ {
if(SYS_OPR_STAT_IGN_ON) if(SYS_OPR_STAT_IGN_ON)
...@@ -61,18 +71,30 @@ void BlueToothService(void) ...@@ -61,18 +71,30 @@ void BlueToothService(void)
} }
else else
{ {
SetBluetoothCloseCount++;
if(GetBlueToothVaild == 1) if(GetBlueToothVaild == 1)
{ {
if(SetBluetoothCloseCount < 30) // if(SetBluetoothCloseCount < 30)
{ // {
// SetBluetoothTurnXX(0);
// }
// else
// {
// GetBlueToothVaild = 0;
// SetBluetoothCloseCount = 0;
// }
// SetBluetoothCloseCount++;
SetBluetoothTurnXX(0); SetBluetoothTurnXX(0);
GetBlueToothVaild = 0;
} }
else if(SetBluetoothCloseCount >= 5)
{ {
GetBlueToothVaild = 0; SetBluetoothTurnXX(0);
SetBluetoothCloseCount = 0; SetBluetoothCloseCount = 0;
} }
SetBluetoothCloseCount++; else
{
;
} }
} }
...@@ -146,10 +168,22 @@ void BlueToothService(void) ...@@ -146,10 +168,22 @@ void BlueToothService(void)
} }
else else
{ {
GetBlueToothVaild =0; ;
OTA_Update_Flag = 0; }
SetBluetoothTurnXX(0); if (LastCurIgnSt != System_FUN_KL15_Status_Get())
SetUpdateCtrl(0,QRCode_Rect); {
if (SYS_OPR_STAT_IGN_ON)
{
IOState = IOState & 0x02;
PackedTransfer_EasyNavigation(IOState);
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);
IOState = IOState | 0x01;
PackedTransfer_EasyNavigation(IOState);
}
LastCurIgnSt = System_FUN_KL15_Status_Get();
} }
} }
......
...@@ -25,6 +25,8 @@ typedef struct { ...@@ -25,6 +25,8 @@ typedef struct {
#define INFORMATION_VERSION_DATE "20241015" #define INFORMATION_VERSION_DATE "20241015"
#define SW_EXTERNAL_VERSION "100" #define SW_EXTERNAL_VERSION "100"
#define POWER_STATE_IGN_OFF 0u
#define POWER_STATE_IGN_ON 1u
static const uint8_t DATA_Version[8] = {INFORMATION_VERSION_DATE}; static const uint8_t DATA_Version[8] = {INFORMATION_VERSION_DATE};
static const uint8_t SW_Version[3] = {SW_EXTERNAL_VERSION}; static const uint8_t SW_Version[3] = {SW_EXTERNAL_VERSION};
...@@ -41,6 +43,7 @@ static const uint8_t SW_Version[3] = {SW_EXTERNAL_VERSION}; ...@@ -41,6 +43,7 @@ static const uint8_t SW_Version[3] = {SW_EXTERNAL_VERSION};
extern void BlueToothService(void); extern void BlueToothService(void);
extern uint8_t Get_Talking_PhoneBookValid(void); extern uint8_t Get_Talking_PhoneBookValid(void);
extern uint8_t Get_UUID_UDSStatus(void); extern uint8_t Get_UUID_UDSStatus(void);
extern void BlueTooth_IGOFF_INIT(void);
extern _PICID_Struct PicObj; extern _PICID_Struct PicObj;
extern _QRCODE_RECT QRCode_Rect; extern _QRCODE_RECT QRCode_Rect;
extern uint8_t PhoneNumber[40]; extern uint8_t PhoneNumber[40];
...@@ -53,5 +56,6 @@ extern uint8_t TextFaultCodeNum[10]; ...@@ -53,5 +56,6 @@ extern uint8_t TextFaultCodeNum[10];
extern uint8_t UUIDDisplay[42]; extern uint8_t UUIDDisplay[42];
extern TEXT_STRUCT TextPara[]; extern TEXT_STRUCT TextPara[];
extern uint8_t UUIDConfigBuf[21]; extern uint8_t UUIDConfigBuf[21];
extern uint8_t IOState;
#endif #endif
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "Hysteresis.h" #include "Hysteresis.h"
#define FAST_TIME 15 //20*20 400ms变化一格 #define FAST_TIME 15 //20*20 400ms变化一格
#define NORMAL_TIME 500 //500*20 10s变化一格 #define NORMAL_TIME 500 //500*20 10s变化一格
#define Disconnected_TIME 25 //掉线时间 #define Disconnected_TIME 1 //掉线时间
#pragma ghs section bss = ".myNonInitArea" #pragma ghs section bss = ".myNonInitArea"
//_Data_Cng Data_Cng_Percent; //_Data_Cng Data_Cng_Percent;
//_Data_Cng Data_Cng_Pressure; //_Data_Cng Data_Cng_Pressure;
...@@ -19,6 +19,8 @@ DataCoolantTempSamplerStruct DataResCoolantTempSampler ; ...@@ -19,6 +19,8 @@ DataCoolantTempSamplerStruct DataResCoolantTempSampler ;
uint8_t u8SelfCheckTime_Finish; uint8_t u8SelfCheckTime_Finish;
#define SelfCheckTime 60 #define SelfCheckTime 60
uint16_t TEMP_SPEED; uint16_t TEMP_SPEED;
uint8_t Lost_Flag;
uint16_t Lost_Time;
uint16_t time_temp; uint16_t time_temp;
uint16_t time_power_on = 0; uint16_t time_power_on = 0;
uint16_t time_lost = 0; uint16_t time_lost = 0;
...@@ -114,6 +116,7 @@ void TEMP_KL30_Init ( void ) ...@@ -114,6 +116,7 @@ void TEMP_KL30_Init ( void )
DataCoolantTemp_Dis.u8_CurSeg = 0; DataCoolantTemp_Dis.u8_CurSeg = 0;
DataCoolantTemp.TEMPSetp = 0; DataCoolantTemp.TEMPSetp = 0;
DataCoolantTemp.u8_ResStatus = 0; DataCoolantTemp.u8_ResStatus = 0;
DataCoolantTemp.u8_Last_ResStatus = 0;
TEMP_SPEED = 0; TEMP_SPEED = 0;
time_power_on = 0; time_power_on = 0;
time_lost = 0; time_lost = 0;
...@@ -133,6 +136,7 @@ void TEMP_KL15_Init ( void ) ...@@ -133,6 +136,7 @@ void TEMP_KL15_Init ( void )
DataCoolantTemp.u16Res_ADValue = 0; DataCoolantTemp.u16Res_ADValue = 0;
DataCoolantTemp.u8Res_ADValid = 0; DataCoolantTemp.u8Res_ADValid = 0;
DataCoolantTemp.u8_ResStatus = 0; DataCoolantTemp.u8_ResStatus = 0;
DataCoolantTemp.u8_Last_ResStatus = 0;
DataCoolantTemp_Dis.u8_CurSeg = 0; DataCoolantTemp_Dis.u8_CurSeg = 0;
DataResCoolantTempSampler.Cnt = 0; DataResCoolantTempSampler.Cnt = 0;
DataCoolantTemp.TEMPMode = 0; DataCoolantTemp.TEMPMode = 0;
...@@ -175,7 +179,7 @@ void Data_Coolant_Temp_Processing_Service ( void ) ...@@ -175,7 +179,7 @@ void Data_Coolant_Temp_Processing_Service ( void )
else if(Coolant_Temperature <= 2430) else if(Coolant_Temperature <= 2430)
{ {
Coolant_Temperature =0; Coolant_Temperature =0;
DataCoolantTemp.u8Can_Valid = 0; DataCoolantTemp.u8Can_Valid = 1;
} }
else else
{ {
...@@ -249,7 +253,7 @@ void Data_Coolant_Temp_Processing_Service ( void ) ...@@ -249,7 +253,7 @@ void Data_Coolant_Temp_Processing_Service ( void )
} }
else else
{ {
DataCoolantTemp.u8_ResStatus = 3;//当前状态为开路 DataCoolantTemp.u8_Last_ResStatus = 3;//当前状态为开路
DataCoolantTemp.u8Res_Valid = 0 ; DataCoolantTemp.u8Res_Valid = 0 ;
DataCoolantTemp.u16Res_Actual = 0 ; DataCoolantTemp.u16Res_Actual = 0 ;
DataResCoolantTempSampler.ResOpen_InActTimer = 0; DataResCoolantTempSampler.ResOpen_InActTimer = 0;
...@@ -274,7 +278,7 @@ void Data_Coolant_Temp_Processing_Service ( void ) ...@@ -274,7 +278,7 @@ void Data_Coolant_Temp_Processing_Service ( void )
} }
if(DataCoolantTemp.u8Can_Valid || DataCoolantTemp.u8Res_Valid ) if(DataCoolantTemp.u8Can_Valid || DataCoolantTemp.u8Res_Valid )
{ {
DataCoolantTemp.u8_ResStatus = 1;//当前状态正常 DataCoolantTemp.u8_Last_ResStatus = 1;//当前状态正常
} }
if (DataCoolantTemp.u8Can_Valid == 1) if (DataCoolantTemp.u8Can_Valid == 1)
{ {
...@@ -285,20 +289,21 @@ void Data_Coolant_Temp_Processing_Service ( void ) ...@@ -285,20 +289,21 @@ void Data_Coolant_Temp_Processing_Service ( void )
DataCoolantTemp.Temp_Value = DataCoolantTemp.u16Res_Actual; DataCoolantTemp.Temp_Value = DataCoolantTemp.u16Res_Actual;
if(DataCoolantTemp.u16Res_ADValue < 40) if(DataCoolantTemp.u16Res_ADValue < 40)
{ {
DataCoolantTemp.u8_ResStatus = 2;//当前状态为短路 DataCoolantTemp.u8_Last_ResStatus = 2;//当前状态为短路
DataCoolantTemp.TEMPMode = 2;
} }
} }
else else
{ {
if(DataCoolantTemp.u8_ResStatus != 3) if(DataCoolantTemp.u8_Last_ResStatus != 3)
{ {
DataCoolantTemp.u8_ResStatus = 0; DataCoolantTemp.u8_Last_ResStatus = 0;
} }
DataCoolantTemp.Temp_Value = 0; DataCoolantTemp.Temp_Value = 0;
} }
TEMP_Gauges_Cal(); TEMP_Gauges_Cal();
time_power_on++; time_power_on++;
TEMP_SPEED = NORMAL_TIME;
if(time_power_on >= 100)//上电延时获取数据 if(time_power_on >= 100)//上电延时获取数据
{ {
time_power_on = 100; time_power_on = 100;
...@@ -306,18 +311,28 @@ void Data_Coolant_Temp_Processing_Service ( void ) ...@@ -306,18 +311,28 @@ void Data_Coolant_Temp_Processing_Service ( void )
if(DataCoolantTemp.u8Can_Valid||DataCoolantTemp.u8Res_Valid) if(DataCoolantTemp.u8Can_Valid||DataCoolantTemp.u8Res_Valid)
{ {
time_lost = 0; time_lost = 0;
if(DataCoolantTemp.TEMPMode == 3)//掉线 if(DataCoolantTemp.TEMPMode ==3)//掉线
{
if(DataCoolantTemp.u8_ResStatus != 3)
{ {
TEMP_SPEED = FAST_TIME; Lost_Flag = 1;
time_temp = 0;
} }
else if(DataCoolantTemp.TEMPMode == 0)//自检
}
else if (DataCoolantTemp.TEMPMode == 2)
{ {
DataCoolantTemp_Dis.u8_CurSeg = DataCoolantTemp.TEMPSetp; if(DataCoolantTemp.u8_ResStatus != 2)
{
Lost_Flag = 1;
time_temp = 0;
} }
if(DataCoolantTemp.TEMPMode == 3) }
else if(DataCoolantTemp.TEMPMode == 0)//自检
{ {
DataCoolantTemp.TEMP_Fastime = 100; DataCoolantTemp_Dis.u8_CurSeg = DataCoolantTemp.TEMPSetp;
} }
DataCoolantTemp.TEMPMode = 1; DataCoolantTemp.TEMPMode = 1;
} }
else else
...@@ -329,28 +344,42 @@ void Data_Coolant_Temp_Processing_Service ( void ) ...@@ -329,28 +344,42 @@ void Data_Coolant_Temp_Processing_Service ( void )
if(DataCoolantTemp.TEMPMode != 3) if(DataCoolantTemp.TEMPMode != 3)
{ {
DataCoolantTemp.TEMPMode = 3; DataCoolantTemp.TEMPMode = 3;
TEMP_SPEED = NORMAL_TIME; time_temp = 0;
Lost_Flag = 1;
} }
DataCoolantTemp.TEMPSetp = 0; DataCoolantTemp.TEMPSetp = 0;
} }
} }
} }
// if(DataCoolantTemp.u8_ResStatus==0)
time_temp ++; // {
// DataCoolantTemp.u8_ResStatus = DataCoolantTemp.u8_Last_ResStatus;
if(DataCoolantTemp.TEMP_Fastime>0) // }
{ if(DataCoolantTemp.u8_ResStatus != DataCoolantTemp.u8_Last_ResStatus)
DataCoolantTemp.TEMP_Fastime--;
}
if(DataCoolantTemp.TEMP_Fastime==0)
{ {
if(DataCoolantTemp.TEMPSetp == DataCoolantTemp_Dis.u8_CurSeg) Lost_Time++;
if(Lost_Time > 150)
{ {
TEMP_SPEED = NORMAL_TIME; DataCoolantTemp.u8_ResStatus = DataCoolantTemp.u8_Last_ResStatus;
time_temp = 0; Lost_Time = 0;
Lost_Flag = 0;
DataCoolantTemp_Dis.u8_CurSeg = DataCoolantTemp.TEMPSetp;
} }
} }
// if(Lost_Flag)
// {
// Lost_Time++;
// if(Lost_Time > 150)
// {
// DataCoolantTemp.u8_ResStatus = DataCoolantTemp.u8_Last_ResStatus;
// Lost_Time = 0;
// Lost_Flag = 0;
// DataCoolantTemp_Dis.u8_CurSeg = DataCoolantTemp.TEMPSetp;
// }
// }
time_temp ++;
if(time_temp>=TEMP_SPEED) if(time_temp>=TEMP_SPEED)
{ {
......
...@@ -31,7 +31,8 @@ typedef struct ...@@ -31,7 +31,8 @@ typedef struct
uint8_t TEMPSetp; uint8_t TEMPSetp;
uint8_t TEMPMode; uint8_t TEMPMode;
uint16_t TEMP_Fastime ; uint16_t TEMP_Fastime ;
uint8_t u8_ResStatus // uint8_t u8_ResStatus;
uint8_t u8_Last_ResStatus;
}DataCoolantTempStruct; //水温数据结构 }DataCoolantTempStruct; //水温数据结构
......
#include "Data_OilPressure.h"
#include "Components.h"
#define OIL_DATA_TIME 25u /*这里填写多长时间采集一个数据,单位ms*/
#define OIL_DATA_NUM 20u /*机油压力电阻采集数据总数 最大255*/
#define OIL_CAL_START 5u /*数据排序后取中间部分计算平均:起始*/
#define OIL_CAL_END 15u /*数据排序后取中间部分计算平均:结束*/
uint16_t g_u16OilData[OIL_DATA_NUM];
uint8_t g_u8OilDataCount = 0u;
// uint8_t g_u8OILStateInitFlag = 0u;
uint16_t OilPressureR = 0u; /*滤波后的机油压力电阻,精度0.1*/
uint8_t g_u8OilADCompleteFlg = 0u;
void Oil_Pressure_KL30_Init(void)
{
// g_u8OILStateInitFlag = 1u;
g_u8OilADCompleteFlg = 0u;
}
void Oil_Pressure_KL15_Init(void)
{
// g_u8OILStateInitFlag = 1u;
g_u8OilADCompleteFlg = 0u;
}
void Oil_R_Cal(uint8_t deltaTime)
{
uint16_t OilPressureRes = 0;
uint8_t i, j;
uint32_t temp32;
static uint16_t timeCount = 0;
// if(g_u8OILStateInitFlag)
// {
// OilPressureR = ADC_Read_Signal(ADC_CH_OIL_PRESSURE_R);
// }
if (timeCount >= OIL_DATA_TIME)
{
timeCount = 0;
if (g_u8OilDataCount < OIL_DATA_NUM)
{
/*获取机油压力电阻*/
OilPressureRes = ADC_Read_Signal(ADC_CH_OIL_PRESSURE_R);
/*四舍五入*/
if (OilPressureRes < 60000) //针对此项目机油压力采集电路补偿后的阻值
{
if (OilPressureRes % 10 >= 5)
{
OilPressureRes += 5;
}
}
else
{
OilPressureRes = 0xFFFF;
}
/*由小到大插入数据*/
for (i = 0; i < g_u8OilDataCount; i++)
{
if (OilPressureRes < g_u16OilData[i])
{
break;
}
}
for (j = g_u8OilDataCount; j > i; j--)
{
g_u16OilData[j] = g_u16OilData[j - 1];
}
g_u16OilData[i] = OilPressureRes;
g_u8OilDataCount++;
}
else
{
/*一组数据采集完毕,取中间部分计算平均值*/
temp32 = 0;
for (i = OIL_CAL_START; i < OIL_CAL_END; i++)
{
temp32 += g_u16OilData[i];
}
OilPressureR = temp32 / (OIL_CAL_END - OIL_CAL_START);
g_u8OilDataCount = 0;
g_u8OilADCompleteFlg = 1;
}
}
timeCount += deltaTime;
}
uint8_t Get_OilPressureStauts(void)
{
if(OilPressureR < 59500)
{
return 1U;
}
else
{
return 0u;
}
}
\ No newline at end of file
#ifndef DATA_OILPRESSURE_H
#define DATA_OILPRESSURE_H
#include "stdint.h"
void Oil_Pressure_KL30_Init(void);
void Oil_Pressure_KL15_Init(void);
void Oil_R_Cal(uint8_t deltaTime);
uint8_t Get_OilPressureStauts(void);
#endif
\ No newline at end of file
This diff is collapsed.
...@@ -6,55 +6,40 @@ ...@@ -6,55 +6,40 @@
#include <string.h> #include <string.h>
/*故障码类型A can报文轮询发送方式*/
#define FaultCodeType_A 1
#define FaultCodeType FaultCodeType_A #define MaxFaultCode 72
#define MaxFaultCode 40
#define FaultCodeCount 5000 #define FaultCodeCount 5000
#define DISP_TIMER 500
typedef enum
{
DTC1,
DTC2,
DTC3,
NUM_FAULT_TYPES,
} FaultCodeType_Num;
typedef uint32_t (*FaultCodeCallback)(void); /* 故障码回调函数 */
typedef uint16_t (*FaultCodeNumback)(void); /* 故障码个数回调函数 */
typedef uint16_t (*FaultCodeValidback)(void); /* 故障码有效回调函数 */
typedef struct
{
uint32_t u16FaultCode; /* 故障码 */
uint16_t u16FaultCodeCount; /* 故障码总数 */
} _st_FaultCode;
typedef uint32_t(*Get_FaultCode)(void);
typedef struct typedef uint8_t(*Get_FaultCodeNum)(void);
typedef struct __attribute__((aligned(4)))
{ {
FaultCodeCallback callbacks[NUM_FAULT_TYPES]; uint32_t *code_list; //故障码列表
FaultCodeNumback FaultCodeNumCbk; uint8_t hade; //列表头
FaultCodeValidback FaultCodeVaildCbk; uint8_t tail; //列表尾
uint8_t code_num; //获取的故障码数量
} _st_Init; uint8_t len; //故障码列表最大长度
uint8_t disp; //故障码显示下标
uint16_t TimeCount; //故障码循环显示用的定时器
uint16_t disp_timer; //故障码显示的超时时间,超时显示下一个
Get_FaultCode Get_FaultCode1_cbk; //获取故障码的回调函数1
Get_FaultCode Get_FaultCode2_cbk; //获取故障码的回调函数2
Get_FaultCodeNum Get_FaultCodeNum_cbk; //获取故障码数量的回调函数
}FaultCodeList_t;
uint8_t List_Init(FaultCodeList_t *CodeList, uint32_t Arr[], uint8_t Len);
void FaultCode_Init(void);
extern void FaultCode_Service(uint16_t Cycle); void FaultCode_Servers(void);
extern void FaultCode_Init(void);
extern uint32_t Get_Current_FaultCode(void); extern uint32_t Get_Current_FaultCode(void);
extern uint8_t Get_Current_Hight_FaultCode(void); extern uint8_t Get_Current_Hight_FaultCode(void);
extern uint8_t Get_Current_Hight_FaultCode(void); extern uint8_t Get_Current_Mid_FaultCode(void);
extern uint8_t Get_FaultCode_Valid(void); // extern uint8_t Get_FaultCode_Valid(void);
#endif #endif
\ No newline at end of file
...@@ -48,76 +48,6 @@ static uint16_t AMT630H_Animation_DispPic = 0; ...@@ -48,76 +48,6 @@ static uint16_t AMT630H_Animation_DispPic = 0;
static uint16_t AMT630H_Animation_RefreshTime = 0; static uint16_t AMT630H_Animation_RefreshTime = 0;
static uint32_t AMT630H_Animation_RefreshTime_default = 0; static uint32_t AMT630H_Animation_RefreshTime_default = 0;
static const uint16_t BootAnimationList[AMT630H_ANIMATION_PIC_NUM] = { static const uint16_t BootAnimationList[AMT630H_ANIMATION_PIC_NUM] = {
Pic_1055_0_0,
Pic_1056_0_0,
Pic_1057_0_0,
Pic_1058_0_0,
Pic_1059_0_0,
Pic_1060_0_0,
Pic_1061_0_0,
Pic_1062_0_0,
Pic_1063_0_0,
Pic_1064_0_0,
Pic_1065_0_0,
Pic_1066_0_0,
Pic_1067_0_0,
Pic_1068_0_0,
Pic_1069_0_0,
Pic_1070_0_0,
Pic_1071_0_0,
Pic_1072_0_0,
Pic_1073_0_0,
Pic_1074_0_0,
Pic_1075_0_0,
Pic_1076_0_0,
Pic_1077_0_0,
Pic_1078_0_0,
Pic_1079_0_0,
Pic_1080_0_0,
Pic_1081_0_0,
Pic_1082_0_0,
Pic_1083_0_0,
Pic_1084_0_0,
Pic_1085_0_0,
Pic_1086_0_0,
Pic_1087_0_0,
Pic_1088_0_0,
Pic_1089_0_0,
Pic_1090_0_0,
Pic_1091_0_0,
Pic_1092_0_0,
Pic_1093_0_0,
Pic_1094_0_0,
Pic_1095_0_0,
Pic_1096_0_0,
Pic_1097_0_0,
Pic_1098_0_0,
Pic_1099_0_0,
Pic_1100_0_0,
Pic_1101_0_0,
Pic_1102_0_0,
Pic_1103_0_0,
Pic_1104_0_0,
Pic_1105_0_0,
Pic_1106_0_0,
Pic_1107_0_0,
Pic_1108_0_0,
Pic_1109_0_0,
Pic_1110_0_0,
Pic_1111_0_0,
Pic_1112_0_0,
Pic_1113_0_0,
Pic_1114_0_0,
Pic_1115_0_0,
Pic_1116_0_0,
Pic_1117_0_0,
Pic_1118_0_0,
Pic_1119_0_0,
Pic_1120_0_0,
Pic_1121_0_0,
Pic_1122_0_0,
Pic_1123_0_0,
Pic_1124_0_0,
Pic_1125_0_0, Pic_1125_0_0,
Pic_1125_0_0, Pic_1125_0_0,
Pic_1125_0_0, Pic_1125_0_0,
...@@ -125,7 +55,76 @@ static const uint16_t BootAnimationList[AMT630H_ANIMATION_PIC_NUM] = { ...@@ -125,7 +55,76 @@ static const uint16_t BootAnimationList[AMT630H_ANIMATION_PIC_NUM] = {
Pic_1125_0_0, Pic_1125_0_0,
Pic_1125_0_0, Pic_1125_0_0,
Pic_1125_0_0, Pic_1125_0_0,
Pic_1124_0_0,
Pic_1123_0_0,
Pic_1122_0_0,
Pic_1121_0_0,
Pic_1120_0_0,
Pic_1119_0_0,
Pic_1118_0_0,
Pic_1117_0_0,
Pic_1116_0_0,
Pic_1115_0_0,
Pic_1114_0_0,
Pic_1113_0_0,
Pic_1112_0_0,
Pic_1111_0_0,
Pic_1110_0_0,
Pic_1109_0_0,
Pic_1108_0_0,
Pic_1107_0_0,
Pic_1106_0_0,
Pic_1105_0_0,
Pic_1104_0_0,
Pic_1103_0_0,
Pic_1102_0_0,
Pic_1101_0_0,
Pic_1100_0_0,
Pic_1099_0_0,
Pic_1098_0_0,
Pic_1097_0_0,
Pic_1096_0_0,
Pic_1095_0_0,
Pic_1094_0_0,
Pic_1093_0_0,
Pic_1092_0_0,
Pic_1091_0_0,
Pic_1090_0_0,
Pic_1089_0_0,
Pic_1088_0_0,
Pic_1087_0_0,
Pic_1086_0_0,
Pic_1085_0_0,
Pic_1084_0_0,
Pic_1083_0_0,
Pic_1082_0_0,
Pic_1081_0_0,
Pic_1080_0_0,
Pic_1079_0_0,
Pic_1078_0_0,
Pic_1077_0_0,
Pic_1076_0_0,
Pic_1075_0_0,
Pic_1074_0_0,
Pic_1073_0_0,
Pic_1072_0_0,
Pic_1071_0_0,
Pic_1070_0_0,
Pic_1069_0_0,
Pic_1068_0_0,
Pic_1067_0_0,
Pic_1066_0_0,
Pic_1065_0_0,
Pic_1064_0_0,
Pic_1063_0_0,
Pic_1062_0_0,
Pic_1061_0_0,
Pic_1060_0_0,
Pic_1059_0_0,
Pic_1058_0_0,
Pic_1057_0_0,
Pic_1056_0_0,
Pic_1055_0_0,
}; };
void AMT630H_Animation_PlayProc(uint16_t PicIndex) void AMT630H_Animation_PlayProc(uint16_t PicIndex)
{ {
...@@ -133,6 +132,16 @@ void AMT630H_Animation_PlayProc(uint16_t PicIndex) ...@@ -133,6 +132,16 @@ void AMT630H_Animation_PlayProc(uint16_t PicIndex)
uint32_t tmpLen = 0; uint32_t tmpLen = 0;
SetPageGuid(GRAPHICS_PAGE_0, 1, 0, 0); SetPageGuid(GRAPHICS_PAGE_0, 1, 0, 0);
SetPageBackground(GRAPHICS_PAGE_0, PicIndex); SetPageBackground(GRAPHICS_PAGE_0, PicIndex);
// if (AMT630H_Animation_DispPic == (AMT630H_ANIMATION_PIC_NUM - 30))
// {
// IOState = IOState | 0x02;
// PackedTransfer_EasyNavigation(IOState);
// }
// else
// {
// IOState = IOState & 0x01;
// PackedTransfer_EasyNavigation(IOState);
// }
PackedTransfer_Page(); PackedTransfer_Page();
// PackedTransfer_GetSwVer(); // PackedTransfer_GetSwVer();
...@@ -413,7 +422,7 @@ void AMT630H_Main(void) ...@@ -413,7 +422,7 @@ void AMT630H_Main(void)
{ {
AMT630H_Animation_RefreshTime = 0; AMT630H_Animation_RefreshTime = 0;
AMT630H_Animation_PlayProc(BootAnimationList[AMT630H_Animation_DispPic]); AMT630H_Animation_PlayProc(BootAnimationList[AMT630H_Animation_DispPic]);
AMT630H_Animation_DispPic--; AMT630H_Animation_DispPic++;
if(AMT630H_Animation_DispPic >= AMT630H_ANIMATION_PIC_NUM) if(AMT630H_Animation_DispPic >= AMT630H_ANIMATION_PIC_NUM)
{ {
AMT630H_Animation_Finish = 1; AMT630H_Animation_Finish = 1;
...@@ -425,12 +434,25 @@ void AMT630H_Main(void) ...@@ -425,12 +434,25 @@ void AMT630H_Main(void)
} }
else else
{ {
AMT630H_Animation_RefreshTime = 0; PicObj.qr_logo_id = 0;//Pic_0234 小数字9 EA
PicObj.main_pic_id = Pic_0001; //转速红12
PicObj.update_pic_id = Pic_0233;//小数字8 E9
PicObj.second_menu = 0;
PicObj.navigation_task_id = Pic_0411;//红色小e 19B
if(g_u8Display_Mode == ModeDAY)
{
PicObj.qr_pic_id = Pic_0494;//请使用猎变APP扫码连接
}
else
{
PicObj.qr_pic_id = Pic_1031;//请使用猎变APP扫码连接
}
if(AMT630H_RefreshTime >= AMT630H_REFRESH_TIME) if(AMT630H_RefreshTime >= AMT630H_REFRESH_TIME)
{ {
AMT630H_RefreshTime = 0; AMT630H_RefreshTime = 0;
//AMT630H_GUI_DisplayProc(); //AMT630H_GUI_DisplayProc();
SetPageGuid(GRAPHICS_PAGE_0, 1, 0, 0); SetPageGuid(GRAPHICS_PAGE_0, 1, 0, 0);
PackedTransfer_DisplayPhoneMirrorQRcode(0, PicObj);
SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0); SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);
PackedTransfer_Page(); PackedTransfer_Page();
} }
...@@ -452,7 +474,7 @@ unsigned char AMT630H_isInitFinish(void) ...@@ -452,7 +474,7 @@ unsigned char AMT630H_isInitFinish(void)
void AMT630H_Animation_IGON(void) void AMT630H_Animation_IGON(void)
{ {
AMT630H_Animation_Finish = 0; AMT630H_Animation_Finish = 0;
AMT630H_Animation_DispPic = 76; AMT630H_Animation_DispPic = 0;
} }
unsigned char AMT630H_Animation_Finish_Flage(void) unsigned char AMT630H_Animation_Finish_Flage(void)
{ {
......
...@@ -33,7 +33,7 @@ void AMT630H_GUI_SETTING(void); ...@@ -33,7 +33,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 FaultCodeLost,uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid); void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost);
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);
...@@ -142,7 +142,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -142,7 +142,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_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
...@@ -159,7 +159,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -159,7 +159,7 @@ 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_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
/*os MCU版本*/ /*os MCU版本*/
/* RGB 0 0 0 --- 黑*/ /* RGB 0 0 0 --- 黑*/
...@@ -186,7 +186,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -186,7 +186,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_Lost(),Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
...@@ -203,7 +203,7 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -203,7 +203,7 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228); SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228);
SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163);/*current fault*/ 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()); AMT630H_GUI_FaultCode(Get_FaultCode_Lost());
} }
/*os MCU版本*/ /*os MCU版本*/
/* RGB 0 0 0 --- 黑*/ /* RGB 0 0 0 --- 黑*/
...@@ -243,11 +243,9 @@ static uint16_t NumbeList_FaultCode_night[]={ ...@@ -243,11 +243,9 @@ static uint16_t NumbeList_FaultCode_night[]={
uint8_t FaultCodevalid_monitor = 2; uint8_t FaultCodevalid_monitor = 2;
/*故障码显示函数*/ /*故障码显示函数*/
static void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost,uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid) static void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost)
{ {
if(FaultCodeLost == 1) if(FaultCodeLost == 1)
{
if(FaultCodevalid == 1)
{ {
if(g_u8Display_Mode == ModeDAY) if(g_u8Display_Mode == ModeDAY)
{ {
...@@ -268,7 +266,6 @@ static void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost,uint8_t FaultCodevalid,u ...@@ -268,7 +266,6 @@ static void AMT630H_GUI_FaultCode(uint8_t FaultCodeLost,uint8_t FaultCodevalid,u
SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 164 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1)); SetPageText(GRAPHICS_PAGE_0, 0x6009, 610 , 164 , 200, ALIGN_LEFT, 0, TEXT_COLOR(0XFF,0XFF,0XFF,0XFF),TEXT_LINE_OFFSET(1,1));
} }
} }
}
else if(FaultCodeLost == 0) else if(FaultCodeLost == 0)
{ {
if(g_u8Display_Mode == ModeDAY) if(g_u8Display_Mode == ModeDAY)
...@@ -3059,11 +3056,11 @@ static void AMT630H_GUI_PhoneConnect_Light() ...@@ -3059,11 +3056,11 @@ static void AMT630H_GUI_PhoneConnect_Light()
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0472_251_485); SetPagePic(GRAPHICS_PAGE_0, Pic_0472_251_485);
} }
if(Get_TelltalesLedSts(em_LED_Oil_Pressure_Alert)) // if(Get_TelltalesLedSts(em_LED_Oil_Pressure_Alert))
{ // {
SetPagePic(GRAPHICS_PAGE_0, Pic_0466_874_488); // SetPagePic(GRAPHICS_PAGE_0, Pic_0466_874_488);
} // }
if(Get_TelltalesLedSts(em_LED_TCS) == 1) if(Get_TelltalesLedSts(em_LED_TCS))
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0473_172_490); SetPagePic(GRAPHICS_PAGE_0, Pic_0473_172_490);
} }
...@@ -4924,6 +4921,20 @@ uint8_t VechileSpeed = 0; ...@@ -4924,6 +4921,20 @@ uint8_t VechileSpeed = 0;
uint16_t KL30_VOLTAGE_Value = 0; uint16_t KL30_VOLTAGE_Value = 0;
void AMT630H_GUI_BACKGRAND() void AMT630H_GUI_BACKGRAND()
{ {
PicObj.qr_logo_id = 0;//Pic_0234 小数字9 EA
PicObj.main_pic_id = Pic_0632; //转速红12
PicObj.update_pic_id = Pic_0233;//小数字8 E9
PicObj.second_menu = 0;
PicObj.navigation_task_id = Pic_0411;//红色小e 19B
if(g_u8Display_Mode == ModeDAY)
{
PicObj.qr_pic_id = Pic_0494;//请使用猎变APP扫码连接
}
else
{
PicObj.qr_pic_id = Pic_1031;//请使用猎变APP扫码连接
}
PackedTransfer_DisplayPhoneMirrorQRcode(0, PicObj);
/*背景图*/ /*背景图*/
if(g_u8Display_Mode == ModeDAY) if(g_u8Display_Mode == ModeDAY)
{ {
...@@ -5216,12 +5227,19 @@ void AMT630H_GUI_SETTING() ...@@ -5216,12 +5227,19 @@ void AMT630H_GUI_SETTING()
/*进入OTA界面执行刷图和发送图片id*/ /*进入OTA界面执行刷图和发送图片id*/
void AMT630H_GUI_Display_OTA_Page_Information(void) void AMT630H_GUI_Display_OTA_Page_Information(void)
{ {
PicObj.qr_logo_id = 0; PicObj.qr_logo_id = 0;//Pic_0234 小数字9 EA
PicObj.main_pic_id = Pic_0382; PicObj.main_pic_id = Pic_0632; //转速红12
PicObj.qr_pic_id = Pic_0316; PicObj.update_pic_id = Pic_0233;//小数字8 E9
PicObj.update_pic_id = Pic_0233;
PicObj.second_menu = 0; PicObj.second_menu = 0;
PicObj.navigation_task_id = 0; PicObj.navigation_task_id = Pic_0411;//红色小e 19B
if(g_u8Display_Mode == ModeDAY)
{
PicObj.qr_pic_id = Pic_0494;//请使用猎变APP扫码连接
}
else
{
PicObj.qr_pic_id = Pic_1031;//请使用猎变APP扫码连接
}
SetPagePic(GRAPHICS_PAGE_0, Pic_0001_0_0);/*图层*/ 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_0932_124_85);/*\豪进750TFT(371000 - 7500 - 02TY0000)OTA升级*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0933_101_210);/*\SSID: TYW_DASHBOARD*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0933_101_210);/*\SSID: TYW_DASHBOARD*/
...@@ -5237,10 +5255,17 @@ void AMT630H_GUI_Display_Navigation_Area(void) ...@@ -5237,10 +5255,17 @@ void AMT630H_GUI_Display_Navigation_Area(void)
DISPLAY_NUM_ST DisplayNumPara; DISPLAY_NUM_ST DisplayNumPara;
PicObj.qr_logo_id = 0;//Pic_0234 小数字9 EA PicObj.qr_logo_id = 0;//Pic_0234 小数字9 EA
PicObj.main_pic_id = Pic_0632; //转速红12 PicObj.main_pic_id = Pic_0632; //转速红12
PicObj.qr_pic_id = Pic_0411;//红色小e 19B
PicObj.update_pic_id = Pic_0233;//小数字8 E9 PicObj.update_pic_id = Pic_0233;//小数字8 E9
PicObj.second_menu = 0; PicObj.second_menu = 0;
PicObj.navigation_task_id = Pic_0411;//红色小e 19B PicObj.navigation_task_id = Pic_0411;//红色小e 19B
if(g_u8Display_Mode == ModeDAY)
{
PicObj.qr_pic_id = Pic_0494;//请使用猎变APP扫码连接
}
else
{
PicObj.qr_pic_id = Pic_1031;//请使用猎变APP扫码连接
}
if (GetPhoneMirrorst() == 0) if (GetPhoneMirrorst() == 0)
{ {
//DISPLAY_NUM_ST DisplayNumPara; //DISPLAY_NUM_ST DisplayNumPara;
...@@ -5266,7 +5291,7 @@ void AMT630H_GUI_Display_Navigation_Area(void) ...@@ -5266,7 +5291,7 @@ void AMT630H_GUI_Display_Navigation_Area(void)
for (uint8_t i = 0; i < 21; i++) for (uint8_t i = 0; i < 21; i++)
{ {
DisplayNumPara.x= 786 - i*15;//x坐标 DisplayNumPara.x= 786 - i*15;//x坐标
DisplayNum(GRAPHICS_PAGE_0,&DisplayNumPara, UUIDConfigBuf[20-i]); DisplayNum(GRAPHICS_PAGE_0,&DisplayNumPara, (UUIDConfigBuf[20-i]- 0x30));
} }
} }
else else
...@@ -5292,7 +5317,7 @@ void AMT630H_GUI_Display_Navigation_Area(void) ...@@ -5292,7 +5317,7 @@ void AMT630H_GUI_Display_Navigation_Area(void)
for (uint8_t i = 0; i < 21; i++) for (uint8_t i = 0; i < 21; i++)
{ {
DisplayNumPara.x= 786 - i*15;//x坐标 DisplayNumPara.x= 786 - i*15;//x坐标
DisplayNum(GRAPHICS_PAGE_0,&DisplayNumPara, UUIDConfigBuf[20-i]); DisplayNum(GRAPHICS_PAGE_0,&DisplayNumPara, (UUIDConfigBuf[20-i]- 0x30));
} }
} }
else else
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* \attention * \attention
* *
* This file is automatically generated by analog signals configuration tool. * This file is automatically generated by analog signals configuration tool.
* Date : 2024/6/18 22:46:57 * Date : 2024/11/6 19:09:16
* Cfg Tool Ver : 1.1.0 * Cfg Tool Ver : 1.1.0
* Engineer : ShiHao * Engineer : ShiHao
* (c) Heilongjiang TYW electronics co., LTD * (c) Heilongjiang TYW electronics co., LTD
...@@ -74,7 +74,7 @@ ADC_Data_st_t stADCData[ADC_SIGNAL_CH_NUMBER]; ...@@ -74,7 +74,7 @@ ADC_Data_st_t stADCData[ADC_SIGNAL_CH_NUMBER];
const uint8_t __attribute__((aligned(4))) u8ADCChList[ADC_CONV_CH_NUMBER] = const uint8_t __attribute__((aligned(4))) u8ADCChList[ADC_CONV_CH_NUMBER] =
{ {
2U, 3U, 7U, 5U, 6U, 4U, 12U, 2U, 3U, 7U, 5U, 6U, 12U, 11U, 4U,
}; };
const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBER] = const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBER] =
...@@ -84,9 +84,9 @@ const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBE ...@@ -84,9 +84,9 @@ const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBE
{ 2U, 0U, 0U, 0U, 0U, 1U, ADC_Voltage_Calc_Circuit101,}, { 2U, 0U, 0U, 0U, 0U, 1U, ADC_Voltage_Calc_Circuit101,},
{ 3U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,}, { 3U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,},
{ 4U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,}, { 4U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,},
{ 5U, 3U, 0U, 5000U, 0U, 10U, ADC_Res_Calc_Circuit201,}, { 5U, 0U, 0U, 0U, 0U, 1U, ADC_Voltage_Calc_Circuit101,},
{ 6U, 0U, 0U, 0U, 0U, 1U, ADC_Voltage_Calc_Circuit101,}, { 6U, 3U, 0U, 5000U, 0U, 1U, ADC_Res_Calc_Circuit101,},
{ 7U, 3U, 0U, 5000U, 0U, 10U, ADC_Res_Calc_Circuit201,},
}; };
const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_NUMBER] = const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_NUMBER] =
...@@ -96,8 +96,9 @@ const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_N ...@@ -96,8 +96,9 @@ const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_N
{ 0U, 0U, 0U, 0U,}, { 0U, 0U, 0U, 0U,},
{ 0U, 0U, 500U, 300U,}, { 0U, 0U, 500U, 300U,},
{ 0U, 0U, 500U, 0U,}, { 0U, 0U, 500U, 0U,},
{ 47000U, 0U, 100000U, 0U,},
{ 0U, 100000U, 0U, 0U,}, { 0U, 100000U, 0U, 0U,},
{ 47000U, 0U, 47000U, 0U,},
{ 47000U, 0U, 100000U, 0U,},
}; };
/* Private function prototypes ----------------------------------------------*/ /* Private function prototypes ----------------------------------------------*/
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* \attention * \attention
* *
* This file is automatically generated by analog signals configuration tool. * This file is automatically generated by analog signals configuration tool.
* Date : 2024/6/18 22:46:57 * Date : 2024/11/6 19:09:16
* Cfg Tool Ver : 1.1.0 * Cfg Tool Ver : 1.1.0
* Engineer : ShiHao * Engineer : ShiHao
* (c) Heilongjiang TYW electronics co., LTD * (c) Heilongjiang TYW electronics co., LTD
...@@ -33,13 +33,14 @@ enum ADCChName ...@@ -33,13 +33,14 @@ enum ADCChName
ADC_CH_FUEL_VREF, ADC_CH_FUEL_VREF,
ADC_CH_FUEL1, ADC_CH_FUEL1,
ADC_CH_COOLANT_TEMP1_R, ADC_CH_COOLANT_TEMP1_R,
ADC_CH_NTC_TEMP,
ADC_CH_LIGHT_SENSITIVE, ADC_CH_LIGHT_SENSITIVE,
ADC_CH_OIL_PRESSURE_R,
ADC_CH_NTC_TEMP,
}; };
/* Exported macro ------------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/
#define ADC_TOTAL_CH_NUMBER (7U) #define ADC_TOTAL_CH_NUMBER (8U)
#define ADC_SIGNAL_CH_NUMBER (7U) #define ADC_SIGNAL_CH_NUMBER (8U)
#define ADC_REF_VOLTAGE u16ADCRefVoltage #define ADC_REF_VOLTAGE u16ADCRefVoltage
/* Exported variables --------------------------------------------------------*/ /* Exported variables --------------------------------------------------------*/
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "Data_VSpeed.h" #include "Data_VSpeed.h"
#include "Data_Coolant.h" #include "Data_Coolant.h"
#include "Data_Fuel.h" #include "Data_Fuel.h"
#include "Data_OilPressure.h"
#include "Hysteresis.h" #include "Hysteresis.h"
#include "Mileage\Services_Mileage_User.h" #include "Mileage\Services_Mileage_User.h"
#include "BackLight.h" #include "BackLight.h"
......
This diff is collapsed.
...@@ -62,6 +62,8 @@ Key_Status_en_t Key_Status_Read_Left(void); ...@@ -62,6 +62,8 @@ Key_Status_en_t Key_Status_Read_Left(void);
Key_Status_en_t Key_Status_Read_Right(void); Key_Status_en_t Key_Status_Read_Right(void);
void Key_Event_Short_Press_Left(void); void Key_Event_Short_Press_Left(void);
void Key_Event_Short_Press_Right(void); void Key_Event_Short_Press_Right(void);
void Key_Event_SHORT_PRESS_2_Right(void);
void Key_Event_BackLight_Press_Left(void);
void Get_Into_OTA_Update_Mode(void); void Get_Into_OTA_Update_Mode(void);
void KEY_RIGHT_EVENT_NONE_Service(void); void KEY_RIGHT_EVENT_NONE_Service(void);
void KEY_LEFT_EVENT_NONE_Service(void); void KEY_LEFT_EVENT_NONE_Service(void);
......
...@@ -9,7 +9,7 @@ const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] = ...@@ -9,7 +9,7 @@ const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] =
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Right, },/*P9*/ {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Right, },/*P9*/
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 40U, 20U, Get_LINE_IN_High_Beam, },/*P18*/ {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 40U, 20U, Get_LINE_IN_High_Beam, },/*P18*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 125U, 20U, Get_LINE_IN_Efi_Fault, },/*P15*/ {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 125U, 20U, Get_LINE_IN_Efi_Fault, },/*P15*/
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 125U, 0U, Get_LINE_IN_ABS, },/*P7*/ {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 170U, 0U, Get_LINE_IN_ABS, },/*P7*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 125U, 20U, Get_LINE_IN_Auto_Start_Stop, },/*P12*/ {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 125U, 20U, Get_LINE_IN_Auto_Start_Stop, },/*P12*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 2000U, 20U, Get_LINE_IN_Oil_Pressure_Alert, },/*P21*/ {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 2000U, 20U, Get_LINE_IN_Oil_Pressure_Alert, },/*P21*/
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 125U, 20U, Get_LINE_IN_Coolant_Temperature }, /*P11*/ {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 125U, 20U, Get_LINE_IN_Coolant_Temperature }, /*P11*/
...@@ -95,13 +95,13 @@ Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void) ...@@ -95,13 +95,13 @@ Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void)
Linelib_uint8_t Get_LINE_IN_Oil_Pressure_Alert(void) Linelib_uint8_t Get_LINE_IN_Oil_Pressure_Alert(void)
{ {
Linelib_uint8_t ret = 0U; Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(Gears_N_MCU)) if (Get_OilPressureStauts())
{ {
ret = 1u; ret = 0u;
} }
else else
{ {
ret = 0UL; ret = 1UL;
} }
return ret; return ret;
} }
......
...@@ -65,11 +65,11 @@ void Menu_User_Init(void) ...@@ -65,11 +65,11 @@ void Menu_User_Init(void)
Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX; Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX;
Menu_Init_st.uintMenuConfig = 0x0001; Menu_Init_st.uintMenuConfig = 0x0001;
Menu_Init_st.uintMenuCursorMemoryDepth = 0; Menu_Init_st.uintMenuCursorMemoryDepth = 0;
Menu_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1); Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 1); Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 1);
Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 1); Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 1);
Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 1); Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 1);
Menu_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
} }
void Menu_User_WAKEUP(void) void Menu_User_WAKEUP(void)
...@@ -80,11 +80,11 @@ void Menu_User_WAKEUP(void) ...@@ -80,11 +80,11 @@ void Menu_User_WAKEUP(void)
Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX; Menu_Init_st.enMenuItemLen = MENU_ITEM_MAX;
Menu_Init_st.uintMenuConfig = 0x0001; Menu_Init_st.uintMenuConfig = 0x0001;
Menu_Init_st.uintMenuCursorMemoryDepth = 0; Menu_Init_st.uintMenuCursorMemoryDepth = 0;
Menu_Wake_Up_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1); Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 1); Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 1);
Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 1); Menu_Item_Select_Set(MENU_ITEM_UNIT_KM, 1);
Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 1); Menu_Item_Select_Set(MENU_ITEM_LANGUAGE_CHINESE, 1);
Menu_Wake_Up_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
} }
/*---------------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------------------*/
...@@ -232,80 +232,80 @@ void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType) ...@@ -232,80 +232,80 @@ void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType)
void Menu_Logic_Operation_Backlight_5(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Backlight_5(Menu_Key_en_t enKeyType)
{ {
if(enKeyType == MENU_KEY_CONFIRM_SHORT) // if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{ // {
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 1); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
} // }
} }
void Menu_Logic_Operation_Backlight_4(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Backlight_4(Menu_Key_en_t enKeyType)
{ {
if(enKeyType == MENU_KEY_CONFIRM_SHORT) // if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{ // {
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 1); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
} // }
} }
void Menu_Logic_Operation_Backlight_3(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Backlight_3(Menu_Key_en_t enKeyType)
{ {
if(enKeyType == MENU_KEY_CONFIRM_SHORT) // if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{ // {
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 1); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
} // }
} }
void Menu_Logic_Operation_Backlight_2(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Backlight_2(Menu_Key_en_t enKeyType)
{ {
if(enKeyType == MENU_KEY_CONFIRM_SHORT) // if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{ // {
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 1); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
} // }
} }
void Menu_Logic_Operation_Backlight_1(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Backlight_1(Menu_Key_en_t enKeyType)
{ {
if(enKeyType == MENU_KEY_CONFIRM_SHORT) // if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{ // {
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 1); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 1);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 0);
} // }
} }
void Menu_Logic_Operation_Backlight_Auto(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Backlight_Auto(Menu_Key_en_t enKeyType)
{ {
if(enKeyType == MENU_KEY_CONFIRM_SHORT) // if(enKeyType == MENU_KEY_CONFIRM_SHORT)
{ // {
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_5, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_4, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_3, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_2, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_1, 0);
Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 1); // Menu_Item_Select_Set(MENU_ITEM_BACKLIGHT_AUTO, 1);
} // }
} }
void Menu_Logic_Operation_Bluetooth_Open_Close(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Bluetooth_Open_Close(Menu_Key_en_t enKeyType)
......
...@@ -17,13 +17,13 @@ uint8_t odo_readState; ...@@ -17,13 +17,13 @@ uint8_t odo_readState;
static uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], uint16_t u16Len); static uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], uint16_t u16Len);
static void Data_User_EEPROM_Write(Data_EEPROM_Enum_t BlockID, uint32_t u32Data[], uint16_t u16Len); static void Data_User_EEPROM_Write(Data_EEPROM_Enum_t BlockID, uint32_t u32Data[], uint16_t u16Len);
#define EEPROM_BLOCK_00 0 #define EEPROM_BLOCK_00 0x00
#define EEPROM_BLOCK_01 16 #define EEPROM_BLOCK_01 0x20
#define EEPROM_BLOCK_02 32 #define EEPROM_BLOCK_02 0x40
#define EEPROM_BLOCK_03 48 #define EEPROM_BLOCK_03 0x60
#define EEPROM_BLOCK_04 64 #define EEPROM_BLOCK_04 0x80
#define EEPROM_BLOCK_05 80 #define EEPROM_BLOCK_05 0xC0
#define EEPROM_BLOCK_06 96 #define EEPROM_BLOCK_06 0xE0
......
...@@ -55,6 +55,7 @@ static void Power_KL30_Init(void) ...@@ -55,6 +55,7 @@ static void Power_KL30_Init(void)
Key_KL30_Init_EXample(); Key_KL30_Init_EXample();
Data_User_Mileage_KL30Init(); Data_User_Mileage_KL30Init();
Fuel_KL30_Init(); Fuel_KL30_Init();
Oil_Pressure_KL30_Init();
BackLight_30_Init(); BackLight_30_Init();
Amt630hInit(); Amt630hInit();
Telltales_Init(); Telltales_Init();
...@@ -91,6 +92,7 @@ static void Power_Wakeup_Init(void) ...@@ -91,6 +92,7 @@ static void Power_Wakeup_Init(void)
Key_Wakeup_Init_EXample(); Key_Wakeup_Init_EXample();
Line_In_KL15_ON_Init(); Line_In_KL15_ON_Init();
Fuel_KL30_Init(); Fuel_KL30_Init();
Oil_Pressure_KL30_Init();
BackLight_WakeUp_Init(); BackLight_WakeUp_Init();
RTE_UART_Sleep_Init(UART_CH2); RTE_UART_Sleep_Init(UART_CH2);
loc_config.u32UARTChEn = 1U; loc_config.u32UARTChEn = 1U;
...@@ -123,6 +125,8 @@ static void Power_IG_OFF_Init(void) ...@@ -123,6 +125,8 @@ static void Power_IG_OFF_Init(void)
{ {
Line_In_KL15_OFF_Init(); Line_In_KL15_OFF_Init();
BackLight_15_Init(); BackLight_15_Init();
BlueTooth_IGOFF_INIT();
Menu_Change_Branch_To_Item(MENU_BRANCH_ANIMATION,MENU_ITEM_MAIN_ITEM);
} }
static void Power_IG_ON_Init(void) static void Power_IG_ON_Init(void)
...@@ -131,6 +135,7 @@ static void Power_IG_ON_Init(void) ...@@ -131,6 +135,7 @@ static void Power_IG_ON_Init(void)
Line_In_KL15_ON_Init(); Line_In_KL15_ON_Init();
Telltales_KL15_Init(); Telltales_KL15_Init();
Fuel_KL15_Init(); Fuel_KL15_Init();
Oil_Pressure_KL15_Init();
TEMP_KL15_Init(); TEMP_KL15_Init();
//RTE_GPIO_Set_Level(Blacklight_PWM, 1); //RTE_GPIO_Set_Level(Blacklight_PWM, 1);
FaultCode_Init(); FaultCode_Init();
...@@ -212,7 +217,7 @@ static Power_Status_em Power_Stay_Protect(void) ...@@ -212,7 +217,7 @@ static Power_Status_em Power_Stay_Protect(void)
/* 关闭所有外设,坪保留AD采集,电溝状思切�? */ /* 关闭所有外设,坪保留AD采集,电溝状思切�? */
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
//CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable); CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable);
} }
u8PowerSts = EM_IGN_OFF_Init; u8PowerSts = EM_IGN_OFF_Init;
/* 电溝模弝正常 */ /* 电溝模弝正常 */
...@@ -226,7 +231,7 @@ static Power_Status_em Power_Stay_Protect(void) ...@@ -226,7 +231,7 @@ static Power_Status_em Power_Stay_Protect(void)
if ( SYS_OPR_STAT_RUN ) if ( SYS_OPR_STAT_RUN )
{ {
Amt630hInit(); Amt630hInit();
//CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable); CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
return u8PowerSts; return u8PowerSts;
} }
......
...@@ -68,6 +68,7 @@ uint8_t rte_can_init(can_config_st_t *config) ...@@ -68,6 +68,7 @@ uint8_t rte_can_init(can_config_st_t *config)
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Level = GPIO_Level_HIGH; GPIO_InitStruct.GPIO_Level = GPIO_Level_HIGH;
GPIO_InitStruct.GPIO_Ctrl = GPIO_Control_DIG; GPIO_InitStruct.GPIO_Ctrl = GPIO_Control_DIG;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_Init(GPIO_PORT5, &GPIO_InitStruct); GPIO_Init(GPIO_PORT5, &GPIO_InitStruct);
/* CRXD pin init */ /* CRXD pin init */
......
...@@ -20,7 +20,7 @@ void Sys_2ms_Tasks(void) ...@@ -20,7 +20,7 @@ void Sys_2ms_Tasks(void)
Sys_Status_Update_Service(); Sys_Status_Update_Service();
Analog_Signal_Conv_Service(); Analog_Signal_Conv_Service();
AMT630H_Main(); AMT630H_Main();
Check_MCU_Info_in_630H(); // Check_MCU_Info_in_630H();
DoCAN_Timer_Update(2000u); DoCAN_Timer_Update(2000u);
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发 //Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);无外发
CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp, 2u); CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp, 2u);
...@@ -34,13 +34,14 @@ void Sys_5ms_Tasks(void) ...@@ -34,13 +34,14 @@ void Sys_5ms_Tasks(void)
void Sys_10ms_Tasks(void) void Sys_10ms_Tasks(void)
{ {
Can_BusOff_Recover(10); Can_BusOff_Recover(10);
FaultCode_Service(10u); FaultCode_Servers();
Line_In_Debounce_Service(10u); Line_In_Debounce_Service(10u);
My_Key_Service(); My_Key_Service();
Data_Mileage_Write_EEPROM(); Data_Mileage_Write_EEPROM();
Key_Clear_Time(); Key_Clear_Time();
Key_TimeOut_Service(); Key_TimeOut_Service();
Fuel_R_Cal(10u); Fuel_R_Cal(10u);
Oil_R_Cal(10u);
Data_Light_Res_service(10); Data_Light_Res_service(10);
BackLight_Process(); BackLight_Process();
} }
...@@ -73,10 +74,6 @@ void Sys_50ms_Tasks(void) ...@@ -73,10 +74,6 @@ void Sys_50ms_Tasks(void)
VechileSpeed_time++; VechileSpeed_time++;
} }
uint32_t ODOtest = 0;
uint32_t Triptest = 0;
uint32_t aaa = 0;
void Sys_100ms_Tasks(void) void Sys_100ms_Tasks(void)
{ {
BlueToothService(); BlueToothService();
...@@ -85,7 +82,7 @@ void Sys_100ms_Tasks(void) ...@@ -85,7 +82,7 @@ void Sys_100ms_Tasks(void)
Fuel_Cal_Sevice(100u); Fuel_Cal_Sevice(100u);
Services_Mileage_Callback(); Services_Mileage_Callback();
// Data_Mileage_Clear(); // Data_Mileage_Clear();
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);
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* \attention * \attention
* *
* This file is automatically generated by analog signals configuration tool. * This file is automatically generated by analog signals configuration tool.
* Date : 2024/6/18 22:46:57 * Date : 2024/11/9 15:54:41
* Cfg Tool Ver : 1.1.0 * Cfg Tool Ver : 1.1.0
* Engineer : ShiHao * Engineer : ShiHao
* (c) Heilongjiang TYW electronics co., LTD * (c) Heilongjiang TYW electronics co., LTD
...@@ -33,11 +33,14 @@ enum ADCChName ...@@ -33,11 +33,14 @@ enum ADCChName
ADC_CH_FUEL_VREF, ADC_CH_FUEL_VREF,
ADC_CH_FUEL1, ADC_CH_FUEL1,
ADC_CH_COOLANT_TEMP1_R, ADC_CH_COOLANT_TEMP1_R,
ADC_CH_LIGHT_SENSITIVE,
ADC_CH_OIL_PRESSURE_R,
ADC_CH_NTC_TEMP,
}; };
/* Exported macro ------------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/
#define ADC_TOTAL_CH_NUMBER (5U) #define ADC_TOTAL_CH_NUMBER (8U)
#define ADC_SIGNAL_CH_NUMBER (5U) #define ADC_SIGNAL_CH_NUMBER (8U)
#define ADC_REF_VOLTAGE u16ADCRefVoltage #define ADC_REF_VOLTAGE u16ADCRefVoltage
/* Exported variables --------------------------------------------------------*/ /* Exported variables --------------------------------------------------------*/
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* \attention * \attention
* *
* This file is automatically generated by analog signals configuration tool. * This file is automatically generated by analog signals configuration tool.
* Date : 2024/6/18 22:46:57 * Date : 2024/11/9 15:54:41
* Cfg Tool Ver : 1.1.0 * Cfg Tool Ver : 1.1.0
* Engineer : ShiHao * Engineer : ShiHao
* (c) Heilongjiang TYW electronics co., LTD * (c) Heilongjiang TYW electronics co., LTD
...@@ -74,7 +74,7 @@ ADC_Data_st_t stADCData[ADC_SIGNAL_CH_NUMBER]; ...@@ -74,7 +74,7 @@ ADC_Data_st_t stADCData[ADC_SIGNAL_CH_NUMBER];
const uint8_t __attribute__((aligned(4))) u8ADCChList[ADC_CONV_CH_NUMBER] = const uint8_t __attribute__((aligned(4))) u8ADCChList[ADC_CONV_CH_NUMBER] =
{ {
2U, 3U, 7U, 5U, 6U, 2U, 3U, 7U, 5U, 6U, 12U, 11U, 4U,
}; };
const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBER] = const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBER] =
...@@ -84,6 +84,9 @@ const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBE ...@@ -84,6 +84,9 @@ const __attribute__((aligned(4))) ADC_Ch_Cfg_st_t stADCChCfg[ADC_SIGNAL_CH_NUMBE
{ 2U, 0U, 0U, 0U, 0U, 1U, ADC_Voltage_Calc_Circuit101,}, { 2U, 0U, 0U, 0U, 0U, 1U, ADC_Voltage_Calc_Circuit101,},
{ 3U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,}, { 3U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,},
{ 4U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,}, { 4U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,},
{ 5U, 0U, 0U, 0U, 0U, 1U, ADC_Voltage_Calc_Circuit101,},
{ 6U, 3U, 0U, 5000U, 0U, 1U, ADC_Res_Calc_Circuit101,},
{ 7U, 3U, 0U, 5000U, 0U, 10U, ADC_Res_Calc_Circuit201,},
}; };
const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_NUMBER] = const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_NUMBER] =
...@@ -93,6 +96,9 @@ const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_N ...@@ -93,6 +96,9 @@ const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_N
{ 0U, 0U, 0U, 0U,}, { 0U, 0U, 0U, 0U,},
{ 0U, 0U, 500U, 300U,}, { 0U, 0U, 500U, 300U,},
{ 0U, 0U, 500U, 0U,}, { 0U, 0U, 500U, 0U,},
{ 0U, 100000U, 0U, 0U,},
{ 47000U, 0U, 47000U, 0U,},
{ 47000U, 0U, 100000U, 0U,},
}; };
/* Private function prototypes ----------------------------------------------*/ /* Private function prototypes ----------------------------------------------*/
......
/**************************************************************************//**
* \file Analog_Signals.h
* \brief Analog signal processing
* \attention
*
* This file is automatically generated by analog signals configuration tool.
* Date : 2024/6/18 22:46:57
* Cfg Tool Ver : 1.1.0
* Engineer : ShiHao
* (c) Heilongjiang TYW electronics co., LTD
*
******************************************************************************/
#ifndef ANALOG_SIGNALS_H__
#define ANALOG_SIGNALS_H__
/* Includes -----------------------------------------------------------------*/
#include "ADC.h"
#include "Analog_Circuits.h"
#include "RTE.h"
/* C binding of definitions if building with C++ compiler */
#ifdef __cplusplus
extern {
#endif
/*! @{ */
/* Exported types ------------------------------------------------------------*/
enum ADCChName
{
ADC_CH_KL30_VOLTAGE = 0,
ADC_CH_KL15_VOLTAGE,
ADC_CH_FUEL_VREF,
ADC_CH_FUEL1,
ADC_CH_COOLANT_TEMP1_R,
};
/* Exported macro ------------------------------------------------------------*/
#define ADC_TOTAL_CH_NUMBER (5U)
#define ADC_SIGNAL_CH_NUMBER (5U)
#define ADC_REF_VOLTAGE u16ADCRefVoltage
/* Exported variables --------------------------------------------------------*/
extern volatile uint16_t u16ADCRefVoltage;
extern const uint8_t u8ADCChList[];
/* Exported functions --------------------------------------------------------*/
extern void Analog_Signal_Conv_Init(void);
extern void Analog_Signal_Conv_Stop(void);
extern void Analog_Signal_Conv_Service(void);
extern uint16_t ADC_Read_Signal(uint8_t u8ADCCh);
extern uint8_t ADC_Read_Signal_Valid(uint8_t u8ADCCh);
extern uint16_t ADC_Conv_Single_Channel(uint8_t u8ADCCh);
/*! @} */
#ifdef __cplusplus
}
#endif
#endif /* ANALOG_SIGNALS_H__ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment