Commit eb64547d authored by 郑萍's avatar 郑萍

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

parents 17aa366e 77d95c2f
...@@ -275,7 +275,7 @@ ...@@ -275,7 +275,7 @@
</OCR_RVCT3> </OCR_RVCT3>
<OCR_RVCT4> <OCR_RVCT4>
<Type>1</Type> <Type>1</Type>
<StartAddress>0x0</StartAddress> <StartAddress>0xc400</StartAddress>
<Size>0x73c00</Size> <Size>0x73c00</Size>
</OCR_RVCT4> </OCR_RVCT4>
<OCR_RVCT5> <OCR_RVCT5>
...@@ -361,7 +361,7 @@ ...@@ -361,7 +361,7 @@
</VariousControls> </VariousControls>
</Aads> </Aads>
<LDads> <LDads>
<umfTarg>1</umfTarg> <umfTarg>0</umfTarg>
<Ropi>0</Ropi> <Ropi>0</Ropi>
<Rwpi>0</Rwpi> <Rwpi>0</Rwpi>
<noStLib>0</noStLib> <noStLib>0</noStLib>
...@@ -718,6 +718,16 @@ ...@@ -718,6 +718,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Can_User.c</FilePath> <FilePath>..\..\..\..\Source\Application\Can_User.c</FilePath>
</File> </File>
<File>
<FileName>FaultCode.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\FaultCode.c</FilePath>
</File>
<File>
<FileName>FaultCode.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\FaultCode.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
; *** Scatter-Loading Description File generated by uVision *** ; *** Scatter-Loading Description File generated by uVision ***
; ************************************************************* ; *************************************************************
LR_IROM1 0x00000000 0x00073C00 { ; load region size_region LR_IROM1 0x0000c400 0x00073C00 { ; load region size_region
ER_IROM1 0x00000000 0x00073C00 { ; load address = execution address ER_IROM1 0x0000c400 0x00073C00 { ; load address = execution address
*.o (RESET, +First) *.o (RESET, +First)
*(InRoot$$Sections) *(InRoot$$Sections)
.ANY (+RO) .ANY (+RO)
...@@ -12,8 +12,8 @@ LR_IROM1 0x00000000 0x00073C00 { ; load region size_region ...@@ -12,8 +12,8 @@ LR_IROM1 0x00000000 0x00073C00 { ; load region size_region
RW_IRAM1 0x20000000 0x0000FF00 { ; RW data RW_IRAM1 0x20000000 0x0000FF00 { ; RW data
.ANY (+RW +ZI) .ANY (+RW +ZI)
} }
RW_IRAM2 0x2000FF00 0x00000100 { RW_IRAM2 0x2000FF00 0x00000100 { ; RW data
.ANY (+RW +ZI) .ANY (RW_FUNC_PLL)
} }
} }
#include "Backlight.h" #include "Backlight.h"
#include "Components.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
#define LIGHT_DATA_TIME 10u /*这里填写多长时间采集一个数据,单位ms*/
#define LIGHT_DATA_NUM 20u /*燃油电阻采集数据总数 最大255*/
#define LIGHT_CAL_START 5u /*数据排序后取中间部分计算平均:起始*/
#define LIGHT_CAL_END 15u /*数据排序后取中间部分计算平均:结束*/
Light_uint8_t LightADCompleteFlg = 0u;
Light_uint16_t LightR = 0u;
Light_uint16_t LightR_Status = 0;
Light_uint16_t LightR_Status_Count = 0u;
Light_uint16_t NtcDataCount;
Light_uint16_t NtcData[LIGHT_DATA_NUM];
typedef struct typedef struct
{ {
Light_uint16_t Temperature; /* 温度 */ Light_uint16_t Temperature; /* 温度 */
...@@ -41,6 +57,106 @@ _st_BacklightLevel BacklightLevelTable[BacklightLevel_Max] = ...@@ -41,6 +57,106 @@ _st_BacklightLevel BacklightLevelTable[BacklightLevel_Max] =
}; };
void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并做平均
{
uint16_t LightRes = 0;
uint8_t i, j;
uint32_t temp32;
static uint16_t timeCount = 0;
if(GET_Backlight() == Backlight_ATUO)
{
if (timeCount >= LIGHT_DATA_TIME)
{
timeCount = 0;
if (NtcDataCount < LIGHT_DATA_NUM)
{
/*获取光敏电阻*/
LightRes = ADC_Read_Signal(ADC_CH_LIGHT_SENSITIVE); // ADC_Read_Signal(ADC_CH_FUEL1);
/*四舍五入*/
if (LightRes < 32000)
{
if (LightRes % 10 >= 5)
{
LightRes += 5;
}
}
else
{
LightRes = 32000;
}
/*由小到大插入数据*/
for (i = 0; i < NtcDataCount; i++)
{
if (LightRes < NtcData[i])
{
break;
}
}
for (j = NtcDataCount; j > i; j--)
{
NtcData[j] = NtcData[j - 1];
}
NtcData[i] = LightRes;
NtcDataCount++;
}
else
{
/*一组数据采集完毕,取中间部分计算平均值*/
temp32 = 0;
for (i = LIGHT_CAL_START; i < LIGHT_CAL_END; i++)
{
temp32 += NtcData[i];
}
LightR = (uint16_t) (temp32 / (LIGHT_CAL_END - LIGHT_CAL_START));
NtcDataCount = 0;
LightADCompleteFlg = 1;
}
}
timeCount += deltaTime;
if(LightADCompleteFlg)
{
if(LightR_Status == 0)
{
if(LightR >20)
{
LightR_Status_Count++;
}
else
{
LightR_Status_Count = 0 ;
}
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 200);
}
else
{
if(LightR <20)
{
LightR_Status_Count++;
}
else
{
LightR_Status_Count = 0 ;
}
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 800);
}
if(LightR_Status_Count>=150)
{
LightR_Status_Count = 0;
LightR_Status = !LightR_Status;
}
}
}
else
{
BackLight_Process();
}
}
Light_uint16_t GetBacklightDutyByLevel(Light_uint16_t level) Light_uint16_t GetBacklightDutyByLevel(Light_uint16_t level)
...@@ -377,4 +493,32 @@ void BackLight_Service(void) ...@@ -377,4 +493,32 @@ void BackLight_Service(void)
{ {
Backlight_Operate.SetPwmCbk(0); Backlight_Operate.SetPwmCbk(0);
} }
} }
\ No newline at end of file
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);
}
else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_4) == 1)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_4);
}
else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_3) == 1)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_3);
}
else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_2) == 1)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_2);
}
else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_1) == 1)
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_1);
}
else
{
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_4);
}
}
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#endif /* NULL */ #endif /* NULL */
void Backlight_KL30_Wakeup_Init(void); void Backlight_KL30_Wakeup_Init(void);
void BackLight_Process(void);
......
#include "FaultCode.h"
static _st_Init FaultCodeInit;
static uint16_t u16FaultCodeDtcCount = 0;
static uint16_t u16FaultCodeDtcCountBack = 0;
static uint16_t u16FaultCodeDtcCounttemp = 0;
static _st_FaultCode stFaultCode[MaxFaultCode] = {0};
static _st_FaultCode stFaultCodeBack[MaxFaultCode] = {0};
static _st_FaultCode stFaultCodetemp[MaxFaultCode] = {0};
static uint8_t u8FaultCodeValid = 0;
uint32_t Get_FaultCodeDtc1(void)
{
uint32_t u16FaultCode = 0x0000;
uint8_t DTCH1 = 0;
uint8_t DTCM1 = 0;
uint32_t DTC1 = 0;
DTCH1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH1();
DTCM1 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM1();
if(DTCH1 > 0)
{
DTC1 |= (DTCH1 & 0xFF);
}
else
{
;
}
DTC1 <<= 8;
if(DTCM1 > 0)
{
DTC1 |= (DTCM1 & 0xFF);
}
else
{
;
}
// if (((DTCH1 & 0xF0) >> 4) >= 0xA)
// {
// DTC1 |= ((DTCH1 & 0xF0) >> 4);
// }
// else
// {
// DTC1 |= (DTCH1 & 0xF0) >> 4;
// }
// DTC1 <<= 8;
// if ((DTCH1 & 0xF) >= 0xA)
// {
// DTC1 |= (DTCH1 & 0xF);
// }
// else
// {
// DTC1 |= DTCH1 & 0xF;
// }
// DTC1 <<= 8;
// if (((DTCM1 & 0xF0) >> 4) >= 0xA)
// {
// DTC1 |= ((DTCM1 & 0xF0) >> 4) + 3;
// }
// else
// {
// DTC1 |= (DTCM1 & 0xF0) >> 4;
// }
// DTC1 <<= 8;
// if ((DTCM1 & 0xF) >= 0xA)
// {
// DTC1 |= (DTCM1 & 0xF) ;
// }
// else
// {
// DTC1 |= DTCM1 & 0xF;
// }
if (DTC1 == 0)
{
return 0XFFFF;
}
u16FaultCode = DTC1;
return u16FaultCode;
}
uint32_t Get_FaultCodeDtc2(void)
{
uint32_t u16FaultCode = 0x0000;
uint8_t DTCH2 = 0;
uint8_t DTCM2 = 0;
uint32_t DTC2 = 0;
DTCH2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCH2();
DTCM2 = Get_CAN_CH0_ID_402_Sig_ECU_DTCM2();
if(DTCH2 > 0)
{
DTC2 |= (DTCH2 & 0xFF);
}
else
{
;
}
DTC2 <<= 8;
if(DTCM2 > 0)
{
DTC2 |= (DTCM2 & 0xFF);
}
else
{
;
}
// if (((DTCH2 & 0xF0) >> 4) >= 0xA)
// {
// DTC2 |= ((DTCH2 & 0xF0) >> 4) + 3;
// }
// else
// {
// DTC2 |= (DTCH2 & 0xF0) >> 4;
// }
// DTC2 <<= 8;
// if ((DTCH2 & 0xF) >= 0xA)
// {
// DTC2 |= (DTCH2 & 0xF) + 3;
// }
// else
// {
// DTC2 |= DTCH2 & 0xF;
// }
// DTC2 <<= 8;
// if (((DTCM2 & 0xF0) >> 4) >= 0xA)
// {
// DTC2 |= ((DTCM2 & 0xF0) >> 4) + 3;
// }
// else
// {
// DTC2 |= (DTCM2 & 0xF0) >> 4;
// }
// DTC2 <<= 8;
// if ((DTCM2 & 0xF) >= 0xA)
// {
// DTC2 |= (DTCM2 & 0xF) + 3;
// }
// else
// {
// DTC2 |= DTCM2 & 0xF;
// }
if (DTC2 == 0)
{
return 0XFFFF;
}
u16FaultCode = DTC2;
return u16FaultCode;
}
uint16_t Get_FaultCodeNum(void)
{
uint16_t u16FaultCode = 0x0000;
u16FaultCode = Get_CAN_CH0_ID_402_Sig_ECU_DTC1Amnt();
return u16FaultCode;
}
uint16_t Get_FaultCodeValid(void)
{
return 1;
}
/**
* @brief 故障码初始化函数
*/
void FaultCode_Init(void)
{
uint16_t i = 0;
for (i = 0; i < MaxFaultCode; i++)
{
stFaultCode[i].u16FaultCode = 0;
stFaultCode[i].u16FaultCodeCount = 0;
stFaultCodeBack[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCodeCount = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCodeCount = 0;
}
FaultCodeInit.callbacks[DTC1] = Get_FaultCodeDtc1;
FaultCodeInit.callbacks[DTC2] = Get_FaultCodeDtc2;
FaultCodeInit.callbacks[DTC3] = NULL;
FaultCodeInit.FaultCodeVaildCbk = Get_FaultCodeValid;
FaultCodeInit.FaultCodeNumCbk = Get_FaultCodeNum;
u16FaultCodeDtcCountBack = 0;
u8FaultCodeValid = 0;
}
/**
* @brief 查询当前故障码是否存在
* @param u32FaultCode 故障码
* @param FaultCodeGrpup 故障码组
* @param len 故障码组长度
* @return 0:存在 1:不存在 2:无效故障码不存储
*/
uint8_t FaultCode_Check(const uint32_t u32FaultCode, const _st_FaultCode *FaultCodeGrpup, const uint16_t len)
{
uint16_t i = 0;
uint8_t Result = 1;
if ((u32FaultCode == 0XFFFF) || (u32FaultCode == 0))
{
return 2;
}
if (len == 1)
{
return 1;
}
for (i = 0; i < len; i++)
{
if (u32FaultCode == FaultCodeGrpup[i].u16FaultCode)
{
Result = 0;
return Result;
}
}
return Result;
}
/**
* 添加新的故障码到故障码数组中。
* @param faultCodes 指向故障码数组的指针。
* @param count 指向当前已添加故障码数量的指针。
* @param faultCode 要添加的故障码。
* @param len 实际故障码数量,用于检测数组中是否存在当前故障码
* @note 如果故障码数组已满或者新的故障码已存在,则不添加。
*/
void AddNewFaultCode(_st_FaultCode *faultCodes, uint16_t *count, uint32_t faultCode, uint16_t len)
{
if (*count >= MaxFaultCode || FaultCode_Check(faultCode, faultCodes, len) != 1)
{
return; // 数组已满或故障码已存在,不进行添加
}
faultCodes[*count].u16FaultCode = faultCode;
(*count)++;
}
/**
* @brief 故障码服务函数
* @param Cycle 建议10ms调用 防止故障码数量过多 接收缓慢
*/
void FaultCode_Service(uint16_t Cycle)
{
uint32_t Dtc1 = 0XFFFF;
uint32_t Dtc2 = 0XFFFF;
uint32_t Dtc3 = 0XFFFF;
uint16_t FaultCodeSum = 0;
uint16_t i = 0;
uint32_t tempFaultCode = 0;
uint16_t Vaild = 0;
if (FaultCodeInit.callbacks[DTC1] != NULL)
{
Dtc1 = FaultCodeInit.callbacks[DTC1]();
}
if (FaultCodeInit.callbacks[DTC2] != NULL)
{
Dtc2 = FaultCodeInit.callbacks[DTC2]();
}
if (FaultCodeInit.callbacks[DTC3] != NULL)
{
Dtc3 = FaultCodeInit.callbacks[DTC3]();
}
if (FaultCodeInit.FaultCodeVaildCbk != NULL)
{
Vaild = FaultCodeInit.FaultCodeVaildCbk();
}
if (FaultCodeInit.FaultCodeNumCbk != NULL)
{
FaultCodeSum = FaultCodeInit.FaultCodeNumCbk();
}
if (FaultCodeSum > MaxFaultCode)
{
FaultCodeSum = MaxFaultCode;
}
if ((Vaild) && (FaultCodeSum > 0))
{
if (u16FaultCodeDtcCountBack < FaultCodeSum) /* 当前存储故障码是否小于实际故障码数量 */
{
/* 存储故障码并检查数组中是否存在 */
AddNewFaultCode(stFaultCodeBack, &u16FaultCodeDtcCountBack, Dtc1, FaultCodeSum);
AddNewFaultCode(stFaultCodeBack, &u16FaultCodeDtcCountBack, Dtc2, FaultCodeSum);
}
/* 接收故障码大于0后进行显示 */
if (u16FaultCodeDtcCountBack > 0)
{
/* 当前存储故障码等于实际故障码数量 用于实时更新故障码*/
if (u16FaultCodeDtcCountBack == FaultCodeSum)
{
u16FaultCodeDtcCountBack = 0;
}
/* 更新故障码显示 */
for (i = 0; i < FaultCodeSum; i++)
{
if (stFaultCodetemp[i].u16FaultCode != stFaultCodeBack[i].u16FaultCode)
{
stFaultCodetemp[i].u16FaultCode = stFaultCodeBack[i].u16FaultCode;
stFaultCode[i].u16FaultCode = stFaultCodetemp[i].u16FaultCode;
}
}
u8FaultCodeValid = 1;
/* 大于故障码数量的数组进行清0处理 */
for (i = FaultCodeSum; i < MaxFaultCode; i++)
{
stFaultCode[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCode = 0;
}
}
if (stFaultCode[0].u16FaultCode != 0XFFFF)
{
/* 故障码计时 */
if (stFaultCode[0].u16FaultCodeCount < FaultCodeCount)
{
stFaultCode[0].u16FaultCodeCount += Cycle;
}
else
{
/* 计时结束 更新位置 */
stFaultCode[0].u16FaultCodeCount = 0;
tempFaultCode = stFaultCode[0].u16FaultCode;
if (FaultCodeSum > 1)
{
for (i = 0; i < FaultCodeSum - 1; i++)
{
stFaultCode[i].u16FaultCode = stFaultCode[i + 1].u16FaultCode;
}
stFaultCode[FaultCodeSum - 1].u16FaultCode = tempFaultCode;
}
}
}
}
else
{
u8FaultCodeValid = 0;
for (i = 0; i < MaxFaultCode; i++)
{
stFaultCode[i].u16FaultCode = 0;
stFaultCode[i].u16FaultCodeCount = 0;
stFaultCodeBack[i].u16FaultCode = 0;
stFaultCodeBack[i].u16FaultCodeCount = 0;
stFaultCodetemp[i].u16FaultCode = 0;
stFaultCodetemp[i].u16FaultCodeCount = 0;
}
u16FaultCodeDtcCountBack = 0;
}
}
/**
* @brief 获取当前故障码
*/
uint32_t Get_Current_FaultCode(void)
{
return stFaultCode[0].u16FaultCode;
}
uint8_t Get_Current_Hight_FaultCode(void)
{
uint8_t u8FaultHight = 0;
u8FaultHight = ((stFaultCode[0].u16FaultCode)&(0xFF00))>>8;
return u8FaultHight;
}
uint8_t Get_Current_Mid_FaultCode(void)
{
uint8_t u8FaultMid = 0;
u8FaultMid = ((stFaultCode[0].u16FaultCode)&(0x00FF));
return u8FaultMid;
}
uint8_t Get_FaultCode_Valid(void)
{
return u8FaultCodeValid;
}
#ifndef FAULTCODE_H
#define FAULTCODE_H
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
/*故障码类型A can报文轮询发送方式*/
#define FaultCodeType_A 1
#define FaultCodeType FaultCodeType_A
#define MaxFaultCode 40
#define FaultCodeCount 5000
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 struct
{
FaultCodeCallback callbacks[NUM_FAULT_TYPES];
FaultCodeNumback FaultCodeNumCbk;
FaultCodeValidback FaultCodeVaildCbk;
} _st_Init;
extern void FaultCode_Service(uint16_t Cycle);
extern void FaultCode_Init(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_FaultCode_Valid(void);
#endif
\ No newline at end of file
...@@ -20,7 +20,7 @@ void Gpio_Init(_GpioUser_Enum InitMode) ...@@ -20,7 +20,7 @@ void Gpio_Init(_GpioUser_Enum InitMode)
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN05, GpioOut_Low); //L_BiasBitSW 里程百位--- RTE_GPIO_Config(RTE_GPIO_PORT00_PIN05, GpioOut_Low); //L_BiasBitSW 里程百位---
RTE_GPIO_Config(RTE_GPIO_PORT00_PIN06, GpioOut_Low); //L_BiasBitSW 里程千位--- RTE_GPIO_Config(RTE_GPIO_PORT00_PIN06, GpioOut_Low); //L_BiasBitSW 里程千位---
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN00, RTE_GPIO_DIR_OUT); //表盘背光-PWM RTE_GPIO_Config(RTE_GPIO_PORT01_PIN00, GpioOut_Low); //表盘背光-PWM
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN01, GpioOut_Low); //RXD-ESP-IN-MCU RTE_GPIO_Config(RTE_GPIO_PORT01_PIN01, GpioOut_Low); //RXD-ESP-IN-MCU
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN02, GpioOut_Low); //TXD-ESP-IN-MCU RTE_GPIO_Config(RTE_GPIO_PORT01_PIN02, GpioOut_Low); //TXD-ESP-IN-MCU
RTE_GPIO_Config(RTE_GPIO_PORT01_PIN03, RTE_GPIO_DIR_IN); RTE_GPIO_Config(RTE_GPIO_PORT01_PIN03, RTE_GPIO_DIR_IN);
......
...@@ -4,16 +4,15 @@ ...@@ -4,16 +4,15 @@
uint8_t Pic_mode = PIC_DAYTIME_CH; uint8_t Pic_mode = PIC_DAYTIME_CH;
uint8_t g_u8Display_Mode = ModeDAY; uint8_t g_u8Display_Mode = ModeDAY;
uint8_t g_u8Language = CH; uint8_t g_u8Language = CH;
uint8_t g_u8Backlight = Backlight_5 ; uint8_t g_u8Backlight = Backlight_4 ;
uint8_t g_u8UnitSetting = Metric ; uint8_t g_u8UnitSetting = Metric ;
uint8_t g_u8SelfCheck = 0;/*自检*/ uint8_t g_u8SelfCheck = 0;/*自检*/
uint16_t g_u16fuelnumberup = 0; uint16_t g_u16fuelnumberup = 0;
uint16_t g_u16fuelnumberdown =7 ;
uint16_t g_u16vspeednumberup = 0; uint16_t g_u16vspeednumberup = 0;
uint16_t g_u16vspeednumberdown = 200; uint16_t g_u16vspeednumberdown = 600;
uint16_t g_u16espeednumberup = 0; uint16_t g_u16espeednumberup = 0;
uint16_t g_u16espeednumberdown = 12000; uint16_t g_u16espeednumberdown = 600;
//自检函数 //自检函数
void AMT630H_GUI_BACKGRAND_SelfCheck(void); void AMT630H_GUI_BACKGRAND_SelfCheck(void);
...@@ -25,6 +24,7 @@ void AMT630H_GUI_SETTING(void); ...@@ -25,6 +24,7 @@ void AMT630H_GUI_SETTING(void);
void AMT630H_GUI_Quit(void); void AMT630H_GUI_Quit(void);
void AMT630H_GUI_Phone_Connect(void); void AMT630H_GUI_Phone_Connect(void);
void AMT630H_GUI_Fault_Information(void); void AMT630H_GUI_Fault_Information(void);
void AMT630H_GUI_FaultCode(uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid);
void AMT630H_GUI_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);
...@@ -81,10 +81,9 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -81,10 +81,9 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0167_341_354); SetPagePic(GRAPHICS_PAGE_0, Pic_0167_341_354);
SetPagePic(GRAPHICS_PAGE_0, Pic_0093_574_292); SetPagePic(GRAPHICS_PAGE_0, Pic_0093_574_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0168_350_290); SetPagePic(GRAPHICS_PAGE_0, Pic_0168_350_290);
SetPagePic(GRAPHICS_PAGE_0, Pic_0095_633_240); 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_0095_633_175); AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
SetPagePic(GRAPHICS_PAGE_0, Pic_0170_354_162);
} }
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
...@@ -98,10 +97,10 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -98,10 +97,10 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0092_368_356); SetPagePic(GRAPHICS_PAGE_0, Pic_0092_368_356);
SetPagePic(GRAPHICS_PAGE_0, Pic_0093_574_292); SetPagePic(GRAPHICS_PAGE_0, Pic_0093_574_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0094_375_292); SetPagePic(GRAPHICS_PAGE_0, Pic_0094_375_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0095_633_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0096_338_228); SetPagePic(GRAPHICS_PAGE_0, Pic_0096_338_228);/*Fault history*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0095_633_175); SetPagePic(GRAPHICS_PAGE_0, Pic_0097_334_163);/*current fault*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0097_334_163); AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
} }
} }
else if(g_u8Display_Mode == ModeNIGHT) else if(g_u8Display_Mode == ModeNIGHT)
...@@ -118,10 +117,10 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -118,10 +117,10 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0354_341_354); SetPagePic(GRAPHICS_PAGE_0, Pic_0354_341_354);
SetPagePic(GRAPHICS_PAGE_0, Pic_0281_574_292); SetPagePic(GRAPHICS_PAGE_0, Pic_0281_574_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0355_350_290); SetPagePic(GRAPHICS_PAGE_0, Pic_0355_350_290);
SetPagePic(GRAPHICS_PAGE_0, Pic_0283_633_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0356_353_227); SetPagePic(GRAPHICS_PAGE_0, Pic_0356_353_227);/*历史故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0283_633_175); SetPagePic(GRAPHICS_PAGE_0, Pic_0357_354_162);/*当前故障*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0357_354_162); AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
} }
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
...@@ -130,17 +129,137 @@ void AMT630H_GUI_Fault_Information(void) ...@@ -130,17 +129,137 @@ void AMT630H_GUI_Fault_Information(void)
SetPagePic(GRAPHICS_PAGE_0, Pic_0276_193_488); SetPagePic(GRAPHICS_PAGE_0, Pic_0276_193_488);
SetPagePic(GRAPHICS_PAGE_0, Pic_0277_728_486); SetPagePic(GRAPHICS_PAGE_0, Pic_0277_728_486);
SetPagePic(GRAPHICS_PAGE_0, Pic_0278_435_519); SetPagePic(GRAPHICS_PAGE_0, Pic_0278_435_519);
SetPagePic(GRAPHICS_PAGE_0, Pic_0279_567_356); SetPagePic(GRAPHICS_PAGE_0, Pic_0279_567_356);
SetPagePic(GRAPHICS_PAGE_0, Pic_0280_368_356); SetPagePic(GRAPHICS_PAGE_0, Pic_0280_368_356);
SetPagePic(GRAPHICS_PAGE_0, Pic_0281_574_292); SetPagePic(GRAPHICS_PAGE_0, Pic_0281_574_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0282_375_292); SetPagePic(GRAPHICS_PAGE_0, Pic_0282_375_292);
SetPagePic(GRAPHICS_PAGE_0, Pic_0283_633_240);
SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228); SetPagePic(GRAPHICS_PAGE_0, Pic_0284_338_228);
SetPagePic(GRAPHICS_PAGE_0, Pic_0283_633_175);
SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163); SetPagePic(GRAPHICS_PAGE_0, Pic_0285_334_163);
AMT630H_GUI_FaultCode(Get_FaultCode_Valid(),Get_Current_Hight_FaultCode(),Get_Current_Mid_FaultCode());
} }
} }
} }
static uint16_t NumbeList_FaultCode_day[]={
Pic_0040_605_289,
Pic_0041_606_290,
Pic_0042_604_289,
Pic_0043_604_289,
Pic_0044_604_290,
Pic_0045_604_290,
Pic_0046_605_289,
Pic_0047_605_290,
Pic_0048_605_289,
Pic_0049_605_289,
};
static uint16_t NumbeList_FaultCode_night[]={
Pic_0225_605_289,
Pic_0226_606_290,
Pic_0227_604_289,
Pic_0228_604_289,
Pic_0229_604_290,
Pic_0230_604_290,
Pic_0231_605_289,
Pic_0232_605_290,
Pic_0233_605_289,
Pic_0234_605_289,
};
/*故障码显示函数*/
static void AMT630H_GUI_FaultCode(uint8_t FaultCodevalid,uint8_t FaultCode_hight,uint8_t FaultCode_mid)
{
/*数字只有两组 历史故障和故障信息纵坐标不同*/
DISPLAY_NUM_ST DisplayNumPara;
uint16_t frontnumber;
uint16_t midnumber;
frontnumber = FaultCode_hight;
midnumber = FaultCode_mid;
if(FaultCodevalid == 1)
{
if(g_u8Display_Mode == ModeDAY)
{
//SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 164);//当前故障码的P
//SetPagePicFree(GRAPHICS_PAGE_0, Pic_0876_639_293, 610, 229);//历史故障码的P
/*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*历史故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_day;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
}
else if(g_u8Display_Mode == ModeNIGHT)
{
//SetPagePicFree(GRAPHICS_PAGE_0, Pic_0912_639_293, 610, 175);//当前故障码的P
//SetPagePicFree(GRAPHICS_PAGE_0, Pic_0912_639_293, 610, 240);//历史故障码的P
/*当前故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*当前故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 164;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
/*历史故障码前两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 639;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, frontnumber);
/*历史故障码后两位显示*/
DisplayNumPara.NumList = NumbeList_FaultCode_night;
DisplayNumPara.x = 667;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 14;
DisplayNumPara.y = 229;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 2;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, midnumber);
}
}
else
{
/*显示-----*/;
}
}
/** /**
* @brief 显示模式信息 一级菜单 * @brief 显示模式信息 一级菜单
* @param[in] null * @param[in] null
...@@ -624,7 +743,7 @@ void AMT630H_GUI_Clock_Information(uint8_t Clock_Hour, uint8_t Clock_Min) ...@@ -624,7 +743,7 @@ void AMT630H_GUI_Clock_Information(uint8_t Clock_Hour, uint8_t Clock_Min)
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0017_19_397);/*下方菜单*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0017_19_397);/*下方菜单*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0019_478_341);/*返回*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0019_478_341);/*return*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0021_510_222);/* : */ SetPagePic(GRAPHICS_PAGE_0, Pic_0021_510_222);/* : */
} }
...@@ -649,13 +768,13 @@ void AMT630H_GUI_Clock_Information(uint8_t Clock_Hour, uint8_t Clock_Min) ...@@ -649,13 +768,13 @@ void AMT630H_GUI_Clock_Information(uint8_t Clock_Hour, uint8_t Clock_Min)
if(g_u8Language == CH) if(g_u8Language == CH)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0323_27_396);/*下方菜单*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0323_27_396);/*下方菜单*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0208_478_341);/*返回*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0324_489_338);/*返回*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0209_510_222);/* : */ SetPagePic(GRAPHICS_PAGE_0, Pic_0209_510_222);/* : */
} }
else if(g_u8Language == EN) else if(g_u8Language == EN)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0206_19_397);/*下方菜单*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0206_19_397);/*下方菜单*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0324_489_338);/*返回*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0208_478_341);/*return*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0209_510_222);/* : */ SetPagePic(GRAPHICS_PAGE_0, Pic_0209_510_222);/* : */
} }
...@@ -942,19 +1061,55 @@ static void AMT630H_GUI_Clock_Setting(uint8_t Clock_Hour, uint8_t Clock_Min, uin ...@@ -942,19 +1061,55 @@ static void AMT630H_GUI_Clock_Setting(uint8_t Clock_Hour, uint8_t Clock_Min, uin
break; break;
case MENU_ITEM_CLOCK_HOUR_TENB_SET: case MENU_ITEM_CLOCK_HOUR_TENB_SET:
/*Cursor blinking*/ /*Cursor blinking*/
/*Digital changes*/ //Sava picked data and if(FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0020_408_209);
}
else
{
;
}
/*Digital changes*/
Menu_Logic_Operation_Clock_Hour_Tenb_Set(MENU_KEY_CONFIRM_SHORT);
break; break;
case MENU_ITEM_CLOCK_HOUR_BIT_SET: case MENU_ITEM_CLOCK_HOUR_BIT_SET:
/*Cursor blinking*/ /*Cursor blinking*/
if(FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0,Pic_0020_455_209);
}
else
{
;
}
/*Digital changes*/ /*Digital changes*/
Menu_Logic_Operation_Clock_Hour_Bit_Set(MENU_KEY_CONFIRM_SHORT);
break; break;
case MENU_ITEM_CLOCK_MIN_TENB_SET: case MENU_ITEM_CLOCK_MIN_TENB_SET:
/*Cursor blinking*/ /*Cursor blinking*/
if(FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0,Pic_0020_525_209);
}
else
{
;
}
/*Digital changes*/ /*Digital changes*/
Menu_Logic_Operation_Clock_Min_Tenb_Set(MENU_KEY_CONFIRM_SHORT);
break; break;
case MENU_ITEM_CLOCK_MIN_BIT_SET: case MENU_ITEM_CLOCK_MIN_BIT_SET:
/*Cursor blinking*/ /*Cursor blinking*/
if(FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0,Pic_0020_572_209);
}
else
{
;
}
/*Digital changes*/ /*Digital changes*/
Menu_Logic_Operation_Clock_Min_Bit_Set(MENU_KEY_CONFIRM_SHORT);
break; break;
default: default:
break; break;
...@@ -2555,6 +2710,26 @@ static const uint16_t PICList_Fuel[] = { ...@@ -2555,6 +2710,26 @@ static const uint16_t PICList_Fuel[] = {
Pic_0560_586_473, Pic_0560_586_473,
Pic_0561_623_473, Pic_0561_623_473,
}; };
static const uint16_t PICList_Fuel_RED[] = {
Pic_0562_315_473,
Pic_0555_366_473,
Pic_0556_426_473,
Pic_0557_469_473,
Pic_0558_514_473,
Pic_0559_550_473,
Pic_0560_586_473,
Pic_0561_623_473,
};
static const uint16_t PICList_Fuel_SelfCheck[] ={
Pic_0554_315_473,
Pic_0555_366_473,
Pic_0556_426_473,
Pic_0557_469_473,
Pic_0558_514_473,
Pic_0559_550_473,
Pic_0560_586_473,
Pic_0561_623_473,
};
/*指示灯*/ /*指示灯*/
static void AMT630H_GUI_Light() static void AMT630H_GUI_Light()
...@@ -2710,7 +2885,7 @@ static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute) ...@@ -2710,7 +2885,7 @@ static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute)
// } // }
/*燃油显示函数*/ /*燃油显示函数*/
uint8_t g_u16_GUI_PerFuelLevel = 1; uint8_t g_u16_GUI_PerFuelLevel = 0;
static void AMT630H_GUI_Fuel(uint8_t Fuel) static void AMT630H_GUI_Fuel(uint8_t Fuel)
{ {
/*外部传参燃油处于数组第几格*/ /*外部传参燃油处于数组第几格*/
...@@ -2725,6 +2900,7 @@ static void AMT630H_GUI_Fuel(uint8_t Fuel) ...@@ -2725,6 +2900,7 @@ static void AMT630H_GUI_Fuel(uint8_t Fuel)
SetPagePic(GRAPHICS_PAGE_0, Pic_0553_315_473); /*燃油格*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0553_315_473); /*燃油格*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0549_299_533); /*E*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0549_299_533); /*E*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0550_715_533); /*F*/ SetPagePic(GRAPHICS_PAGE_0, Pic_0550_715_533); /*F*/
/*燃油桶闪烁*/
if (FuelLevel == 0) if (FuelLevel == 0)
{ {
if (FLASH_SYNC_1Hz) if (FLASH_SYNC_1Hz)
...@@ -2785,10 +2961,15 @@ static void AMT630H_GUI_Fuel(uint8_t Fuel) ...@@ -2785,10 +2961,15 @@ static void AMT630H_GUI_Fuel(uint8_t Fuel)
} }
/*燃油格数走格*/ /*燃油格数走格*/
if (FuelLevel > 1) if (FuelLevel > 0)
{ {
if (FuelLevel != g_u16_GUI_PerFuelLevel) if (FuelLevel != g_u16_GUI_PerFuelLevel)
{ {
for (uint8_t i = 0; i <= g_u16_GUI_PerFuelLevel; i++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel[i]);
}
if (FuelLevel > g_u16_GUI_PerFuelLevel) if (FuelLevel > g_u16_GUI_PerFuelLevel)
{ {
g_u16_GUI_PerFuelLevel++; g_u16_GUI_PerFuelLevel++;
...@@ -2797,25 +2978,103 @@ static void AMT630H_GUI_Fuel(uint8_t Fuel) ...@@ -2797,25 +2978,103 @@ static void AMT630H_GUI_Fuel(uint8_t Fuel)
{ {
g_u16_GUI_PerFuelLevel--; g_u16_GUI_PerFuelLevel--;
} }
else if (FuelLevel == g_u16_GUI_PerFuelLevel) else
{ {
;
} }
} }
else if (FuelLevel == g_u16_GUI_PerFuelLevel) else if (FuelLevel == g_u16_GUI_PerFuelLevel)
{ {
g_u16_GUI_PerFuelLevel = FuelLevel;
for (uint8_t i = 0; i <= g_u16_GUI_PerFuelLevel; i++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel[i]);
}
} }
for (uint8_t i = 0; i < g_u16_GUI_PerFuelLevel; i++)
}
else
{
if (FuelLevel != g_u16_GUI_PerFuelLevel)
{
for (uint8_t i = 0; i <= g_u16_GUI_PerFuelLevel; i++)
{
{
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel_RED[i]);
}
}
if (FuelLevel > g_u16_GUI_PerFuelLevel)
{
g_u16_GUI_PerFuelLevel++;
}
else if ((FuelLevel < g_u16_GUI_PerFuelLevel) && (g_u16_GUI_PerFuelLevel != 0))
{
g_u16_GUI_PerFuelLevel--;
}
else
{
;
}
}
else if (FuelLevel == g_u16_GUI_PerFuelLevel)
{ {
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel[i]); g_u16_GUI_PerFuelLevel = FuelLevel;
for (uint8_t i = 0; i <= g_u16_GUI_PerFuelLevel; i++)
{
{
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel_RED[i]);
}
}
} }
}
}
/*燃油自检函数*/
static void AMT630H_GUI_Fuel_SelfCheck(uint8_t Fuel)
{
uint8_t FuelLevel;
FuelLevel = Fuel;
if (g_u8Display_Mode == ModeDAY)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0553_315_473); /*燃油格*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0549_299_533); /*E*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0550_715_533); /*F*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0551_503_529); /*黑色燃油灯*/
} }
else else if (g_u8Display_Mode == ModeNIGHT)
{ {
SetPagePic(GRAPHICS_PAGE_0, Pic_0562_315_473); SetPagePic(GRAPHICS_PAGE_0, Pic_0662_315_473); /*燃油格*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0549_299_533); /*E*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0660_715_533); /*F*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0661_503_529); /*白色燃油灯*/
} }
/*燃油格数走格*/
if (FuelLevel > g_u16_GUI_PerFuelLevel)
{
g_u16_GUI_PerFuelLevel++;
}
else if ((FuelLevel < g_u16_GUI_PerFuelLevel) && (g_u16_GUI_PerFuelLevel != 0))
{
g_u16_GUI_PerFuelLevel--;
}
else
{
;
}
for (uint8_t i = 0; i < g_u16_GUI_PerFuelLevel; i++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_Fuel_SelfCheck[i]);
}
} }
/*电压显示函数*/ /*电压显示函数*/
static void AMT630H_GUI_Voltage(uint16_t Voltage) static void AMT630H_GUI_Voltage(uint16_t Voltage)
{ {
...@@ -2954,7 +3213,7 @@ static void AMT630H_GUI_Voltage(uint16_t Voltage) ...@@ -2954,7 +3213,7 @@ static void AMT630H_GUI_Voltage(uint16_t Voltage)
} }
/*大计里程显示函数*/ /*大计里程显示函数*/
static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode) static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t Uint)
{ {
if (g_u8Display_Mode == ModeDAY) if (g_u8Display_Mode == ModeDAY)
{ {
...@@ -2972,37 +3231,79 @@ static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode) ...@@ -2972,37 +3231,79 @@ static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode)
{ {
DisplayNumPara.x = 173; DisplayNumPara.x = 173;
DisplayNumPara.MinDigits = 6; DisplayNumPara.MinDigits = 6;
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_211_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_211_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_211_324);/*mile*/
}
} }
else if((ODONumber<100000)&&(ODONumber>=10000)) else if((ODONumber<100000)&&(ODONumber>=10000))
{ {
DisplayNumPara.x = 149; DisplayNumPara.x = 149;
DisplayNumPara.MinDigits = 5; DisplayNumPara.MinDigits = 5;
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_187_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_187_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_187_324);/*mile*/
}
} }
else if((ODONumber<10000)&&(ODONumber>=1000)) else if((ODONumber<10000)&&(ODONumber>=1000))
{ {
DisplayNumPara.x = 125; DisplayNumPara.x = 125;
DisplayNumPara.MinDigits = 4; DisplayNumPara.MinDigits = 4;
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_163_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_163_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_163_324);/*mile*/
}
} }
else if((ODONumber<1000)&&(ODONumber>=100)) else if((ODONumber<1000)&&(ODONumber>=100))
{ {
DisplayNumPara.x = 101; DisplayNumPara.x = 101;
DisplayNumPara.MinDigits = 3; DisplayNumPara.MinDigits = 3;
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_139_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_139_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_139_324);/*mile*/
}
} }
else if((ODONumber<100)&&(ODONumber>=10)) else if((ODONumber<100)&&(ODONumber>=10))
{ {
DisplayNumPara.x = 77; DisplayNumPara.x = 77;
DisplayNumPara.MinDigits = 2; DisplayNumPara.MinDigits = 2;
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_115_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_115_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_115_324);/*mile*/
}
} }
else if((ODONumber<10)&&(ODONumber>=0)) else if((ODONumber<10)&&(ODONumber>=0))
{ {
DisplayNumPara.x = 53; DisplayNumPara.x = 53;
DisplayNumPara.MinDigits = 1; DisplayNumPara.MinDigits = 1;
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_91_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_91_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_91_324);/*mile*/
}
} }
else else
{ {
...@@ -3019,39 +3320,86 @@ static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode) ...@@ -3019,39 +3320,86 @@ static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode)
uint16_t ODONumber; uint16_t ODONumber;
ODONumber = ODO; ODONumber = ODO;
DisplayNumPara.NumList = NumbeList_ODO_NIGHT; DisplayNumPara.NumList = NumbeList_ODO_NIGHT;
DisplayNumPara.x = 173;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 24; DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS; DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0; DisplayNumPara.DecimalNum = 0;
if((ODONumber<1000000)&&(ODONumber>=100000)) if((ODONumber<1000000)&&(ODONumber>=100000))
{ {
DisplayNumPara.x = 173;
DisplayNumPara.MinDigits = 6; DisplayNumPara.MinDigits = 6;
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_211_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_211_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_211_324);/*单位mile*/
}
} }
else if((ODONumber<100000)&&(ODONumber>=10000)) else if((ODONumber<100000)&&(ODONumber>=10000))
{ {
DisplayNumPara.x = 149;
DisplayNumPara.MinDigits = 5; DisplayNumPara.MinDigits = 5;
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_187_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_187_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_187_324);/*单位mile*/
}
} }
else if((ODONumber<10000)&&(ODONumber>=1000)) else if((ODONumber<10000)&&(ODONumber>=1000))
{ {
DisplayNumPara.x = 125;
DisplayNumPara.MinDigits = 4; DisplayNumPara.MinDigits = 4;
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_163_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_163_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_163_324);/*单位mile*/
}
} }
else if((ODONumber<1000)&&(ODONumber>=100)) else if((ODONumber<1000)&&(ODONumber>=100))
{ {
DisplayNumPara.x = 101;
DisplayNumPara.MinDigits = 3; DisplayNumPara.MinDigits = 3;
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_139_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_139_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_139_324);/*单位mile*/
}
} }
else if((ODONumber<100)&&(ODONumber>=10)) else if((ODONumber<100)&&(ODONumber>=10))
{ {
DisplayNumPara.x = 77;
DisplayNumPara.MinDigits = 2; DisplayNumPara.MinDigits = 2;
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_115_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_115_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_115_324);/*单位mile*/
}
} }
else if((ODONumber<10)&&(ODONumber>=0)) else if((ODONumber<10)&&(ODONumber>=0))
{ {
DisplayNumPara.x = 53;
DisplayNumPara.MinDigits = 1; DisplayNumPara.MinDigits = 1;
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_91_324);/*KM*/ if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_91_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_91_324);/*单位mile*/
}
} }
else else
{ {
...@@ -3065,6 +3413,133 @@ static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode) ...@@ -3065,6 +3413,133 @@ static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode)
} }
} }
/*小计里程显示函数*/
static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
{
DISPLAY_NUM_ST DisplayNumPara;
uint32_t Tripnumber;
Tripnumber = Trip;
if (g_u8Display_Mode == ModeDAY)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0577_48_272);
SetPagePic(GRAPHICS_PAGE_0, Pic_0862_54_297);/*TRIP图标*/
DisplayNumPara.NumList = NumbeList_ODO_DAY;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 1;/*小数点后一位*/
if((Tripnumber<10000)&&(Tripnumber>=1000))
{
DisplayNumPara.x = 125;
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_163_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_163_324);/*单位mile*/
}
}
else if((Tripnumber<1000)&&(Tripnumber>=100))
{
DisplayNumPara.x = 101;
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_139_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_139_324);/*单位mile*/
}
}
else if((Tripnumber<100)&&(Tripnumber>=10))
{
DisplayNumPara.x = 77;
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_115_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_115_324);/*单位mile*/
}
}
else if((Tripnumber<10)&&(Tripnumber>=0))
{
DisplayNumPara.x = 53;
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_91_324);/*单位KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0861_91_324);/*单位mile*/
}
}
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Tripnumber);
}
else if(g_u8Display_Mode == ModeNIGHT)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0685_48_272);
SetPagePic(GRAPHICS_PAGE_0, Pic_0864_54_297);/*TRIP图标*/
DisplayNumPara.NumList = NumbeList_ODO_NIGHT;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 1;/*小数点后一位*/
if((Tripnumber<10000)&&(Tripnumber>=1000))
{
DisplayNumPara.x = 125;
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_163_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_163_324);/*单位mile*/
}
}
else if((Tripnumber<1000)&&(Tripnumber>=100))
{
DisplayNumPara.x = 101;
DisplayNumPara.MinDigits = 4;
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_139_324);/*KM*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_139_324);/*单位mile*/
}
else if((Tripnumber<100)&&(Tripnumber>=10))
{
DisplayNumPara.x = 77;
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_115_324);/*KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_115_324);/*单位mile*/
}
}
else if((Tripnumber<10)&&(Tripnumber>=0))
{
DisplayNumPara.x = 53;
DisplayNumPara.MinDigits = 4;
if(Uint == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_91_324);/*单位KM*/
}
else
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0863_91_324);/*单位mile*/
}
}
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, Tripnumber);
}
}
/*车速显示函数*/ /*车速显示函数*/
static void AMT630H_GUI_VSpeed(uint16_t VSpeed) static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
{ {
...@@ -3304,7 +3779,9 @@ void AMT630H_GUI_BACKGRAND() ...@@ -3304,7 +3779,9 @@ void AMT630H_GUI_BACKGRAND()
/*主界面函数*/ /*主界面函数*/
AMT630H_GUI_Light(); AMT630H_GUI_Light();
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time()); AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
AMT630H_GUI_Voltage((ADC_Read_Signal(ADC_CH_KL30_VOLTAGE)) / 10);
// AMT630H_GUI_Telephone(Telephone); // AMT630H_GUI_Telephone(Telephone);
/*燃油*/
if (Get_Fuel_Sensor_State() == FuelSensorNormal) if (Get_Fuel_Sensor_State() == FuelSensorNormal)
{ {
AMT630H_GUI_Fuel(Get_CurFuelSetp()); AMT630H_GUI_Fuel(Get_CurFuelSetp());
...@@ -3343,6 +3820,7 @@ void AMT630H_GUI_BACKGRAND() ...@@ -3343,6 +3820,7 @@ void AMT630H_GUI_BACKGRAND()
{ {
AMT630H_GUI_VSpeed(0); AMT630H_GUI_VSpeed(0);
} }
/*转速*/
if (Get_EngineValid() == 1) if (Get_EngineValid() == 1)
{ {
AMT630H_GUI_ESpeed(Get_DispEngineSpeed()); AMT630H_GUI_ESpeed(Get_DispEngineSpeed());
...@@ -3354,7 +3832,7 @@ void AMT630H_GUI_BACKGRAND() ...@@ -3354,7 +3832,7 @@ void AMT630H_GUI_BACKGRAND()
} }
/*自检*/
void AMT630H_GUI_BACKGRAND_SelfCheck() void AMT630H_GUI_BACKGRAND_SelfCheck()
{ {
/*背景图*/ /*背景图*/
...@@ -3405,62 +3883,64 @@ void AMT630H_GUI_BACKGRAND_SelfCheck() ...@@ -3405,62 +3883,64 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time()); AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
// AMT630H_GUI_Telephone(Telephone);
AMT630H_GUI_Voltage((ADC_Read_Signal(ADC_CH_KL30_VOLTAGE)) / 10); AMT630H_GUI_Voltage((ADC_Read_Signal(ADC_CH_KL30_VOLTAGE)) / 10);
AMT630H_GUI_ODO(Get_ODO_Value() / 10, 0); // AMT630H_GUI_Telephone(Telephone);
if(g_u16fuelnumberup < 7)
/*里程 无自检*/
if(Get_Dis_OdoAndTrip() == 0)
{
AMT630H_GUI_ODO(Get_ODO_Value() / 10, Get_Dis_Unit());
}
else
{ {
g_u16fuelnumberup++; AMT630H_GUI_Trip(Get_Trip_Value(), Get_Dis_Unit());
AMT630H_GUI_Fuel(g_u16fuelnumberup);/*初始化g_u16fuelnumberup = 0*/ }
/*燃油自检*/
if(g_u16fuelnumberup < 1200)
{
g_u16fuelnumberup += 6;
AMT630H_GUI_Fuel_SelfCheck(g_u16fuelnumberup/150);/*初始化g_u16fuelnumberup = 0*/
} }
else else
{ {
if(g_u16fuelnumberdown >= 1) ;
{
AMT630H_GUI_Fuel(g_u16fuelnumberdown);/*初始化g_u16fuelnumberdown = 7*/
g_u16fuelnumberdown--;/*g_u16fuelnumberdown=0燃油自检结束*/
}
else
{
;
}
} }
/*车速自检*/
if(g_u16vspeednumberup < 200) if(g_u16vspeednumberup < 600)
{ {
AMT630H_GUI_VSpeed(g_u16vspeednumberup);/*初始化g_u16vspeednumberup = 0*/ AMT630H_GUI_VSpeed(g_u16vspeednumberup/3);/*初始化g_u16vspeednumberup = 0*/
g_u16vspeednumberup++; g_u16vspeednumberup+=6;
} }
else else
{ {
if(g_u16vspeednumberdown >0) if(g_u16vspeednumberdown >0)
{ {
g_u16vspeednumberdown--;/*初始化g_u16vspeednumberup=200*/ g_u16vspeednumberdown-=6;/*初始化g_u16vspeednumberup=1200*/
AMT630H_GUI_VSpeed(g_u16vspeednumberdown);/*if g_u16vspeednumberup=0 车速自检结束*/ AMT630H_GUI_VSpeed(g_u16vspeednumberdown/3);/*if g_u16vspeednumberup=0 车速自检结束*/
} }
else else
{ {
; ;
} }
} }
/*转速自检*/
if(g_u16espeednumberup <= 12000) if(g_u16espeednumberup <= 600)
{ {
AMT630H_GUI_ESpeed(g_u16espeednumberup);/*初始化g_u16espeednumberup = 0*/ AMT630H_GUI_ESpeed(g_u16espeednumberup*20);/*初始化g_u16espeednumberup = 0*/
g_u16espeednumberup+=1000; g_u16espeednumberup+=6;
} }
else else
{ {
if(g_u16espeednumberdown > 0) if(g_u16espeednumberdown > 0)
{ {
AMT630H_GUI_ESpeed(g_u16espeednumberdown);/*初始化g_u16espeednumberdown = 12000*/ AMT630H_GUI_ESpeed(g_u16espeednumberdown*20);/*初始化g_u16espeednumberdown = 600*/
g_u16espeednumberdown-=1000;/*g_u16espeednumberdown = 0 转速自检结束*/ g_u16espeednumberdown-=6;/*g_u16espeednumberdown = 0 转速自检结束*/
} }
} }
/*结束状态*/
if(g_u16fuelnumberdown == 0) if(g_u16fuelnumberup == 1200)
{ {
AMT630H_GUI_Fuel(g_u16fuelnumberdown); AMT630H_GUI_Fuel_SelfCheck(8);
} }
if(g_u16vspeednumberdown == 0) if(g_u16vspeednumberdown == 0)
{ {
...@@ -3470,7 +3950,8 @@ void AMT630H_GUI_BACKGRAND_SelfCheck() ...@@ -3470,7 +3950,8 @@ void AMT630H_GUI_BACKGRAND_SelfCheck()
{ {
AMT630H_GUI_ESpeed(g_u16espeednumberdown); AMT630H_GUI_ESpeed(g_u16espeednumberdown);
} }
if((g_u16fuelnumberdown == 0)&&(g_u16vspeednumberdown == 0)&&(g_u16espeednumberdown == 0)) /*结束自检*/
if((g_u16fuelnumberup == 1200)&&(g_u16vspeednumberdown == 0)&&(g_u16espeednumberdown == 0))
{ {
g_u8SelfCheck = 1;/*自检结束标志*/ g_u8SelfCheck = 1;/*自检结束标志*/
} }
...@@ -3678,4 +4159,9 @@ void AMT630H_GUI_ReadPosittion_Display(void) ...@@ -3678,4 +4159,9 @@ void AMT630H_GUI_ReadPosittion_Display(void)
default: default:
break; break;
} }
}
uint8_t GET_Backlight(void)
{
return g_u8Backlight;
} }
\ No newline at end of file
...@@ -52,7 +52,7 @@ typedef enum ...@@ -52,7 +52,7 @@ typedef enum
extern void AMT630H_GUI_DisplayProc(void); extern void AMT630H_GUI_DisplayProc(void);
extern void AMT630H_GUI_Background(void); extern void AMT630H_GUI_Background(void);
extern uint8_t GET_Backlight(void);
......
...@@ -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, 4U, 12U,
}; };
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, 3U, 0U, 5000U, 0U, 10U, ADC_Res_Calc_Circuit201,},
{ 6U, 2U, 0U, 2U, 0U, 1U, ADC_Res_Calc_Circuit101,},
}; };
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,8 @@ const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_N ...@@ -93,6 +96,8 @@ 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, 0U, 500U, 0U,},
}; };
/* Private function prototypes ----------------------------------------------*/ /* Private function prototypes ----------------------------------------------*/
...@@ -170,7 +175,7 @@ void Analog_Signal_Conv_Service(void) ...@@ -170,7 +175,7 @@ void Analog_Signal_Conv_Service(void)
if (stADCCtrl.u8DebounceCnt == 0U) if (stADCCtrl.u8DebounceCnt == 0U)
{ {
stADCCtrl.enStatus = ADC_STAT_CONV; stADCCtrl.enStatus = ADC_STAT_CONV;
} }
else else
{ {
......
...@@ -33,11 +33,13 @@ enum ADCChName ...@@ -33,11 +33,13 @@ 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,
}; };
/* Exported macro ------------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/
#define ADC_TOTAL_CH_NUMBER (5U) #define ADC_TOTAL_CH_NUMBER (7U)
#define ADC_SIGNAL_CH_NUMBER (5U) #define ADC_SIGNAL_CH_NUMBER (7U)
#define ADC_REF_VOLTAGE u16ADCRefVoltage #define ADC_REF_VOLTAGE u16ADCRefVoltage
/* Exported variables --------------------------------------------------------*/ /* Exported variables --------------------------------------------------------*/
......
...@@ -5,16 +5,16 @@ ...@@ -5,16 +5,16 @@
const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] = const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] =
{ {
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Left, }, {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Left, },/*P10*/
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Right, }, {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Turn_Right, },/*P9*/
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 60U, 20U, Get_LINE_IN_High_Beam, }, {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 60U, 20U, Get_LINE_IN_High_Beam, },/*P18*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_Efi_Fault, }, {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_Efi_Fault, },/*P15*/
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_ABS, }, {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_ABS, },/*P7*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Auto_Start_Stop, }, {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Auto_Start_Stop, },/*P12*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Oil_Pressure_Alert, }, {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Oil_Pressure_Alert, },/*P21*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Voltage, }, {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Voltage, },/*P19*/
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Fuel_Level_Low, }, {LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Fuel_Level_Low, },/*P14*/
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Coolant_Temperature }, {LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_Coolant_Temperature }, /*P11*/
}; };
Linelib_uint8_t Get_LINE_IN_Turn_Left(void) Linelib_uint8_t Get_LINE_IN_Turn_Left(void)
{ {
......
...@@ -65,6 +65,10 @@ void Menu_User_Init(void) ...@@ -65,6 +65,10 @@ 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_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 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_LANGUAGE_CHINESE, 1);
Menu_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st); Menu_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
} }
...@@ -76,6 +80,10 @@ void Menu_User_WAKEUP(void) ...@@ -76,6 +80,10 @@ 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_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 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_LANGUAGE_CHINESE, 1);
Menu_Wake_Up_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st); Menu_Wake_Up_Init((uint8_t *)u8MenuRamData, (Menu_Item_Attribute_st_t *)stMenuItemAttribute, (Menu_Init_st_t *)&Menu_Init_st);
} }
...@@ -326,12 +334,15 @@ void Menu_Logic_Operation_Bluetooth_Back(Menu_Key_en_t enKeyType) ...@@ -326,12 +334,15 @@ void Menu_Logic_Operation_Bluetooth_Back(Menu_Key_en_t enKeyType)
void Menu_Logic_Operation_Clock_Hour_Tenb(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Hour_Tenb(Menu_Key_en_t enKeyType)
{ {
// counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit); RTE_RTC_Get_CounterValue(&counter_val);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit); counter_val.time.RTC_Hours = RTC_Bcd2ToByte(counter_val.time.RTC_Hours);
// if(MENU_KEY_CONFIRM_SHORT == enKeyType) counter_val.time.RTC_Minutes = RTC_Bcd2ToByte(counter_val.time.RTC_Minutes);
// {
// RTC_SetTime(&counter_val.time); MenuData.Dis_Hour_Tenb = counter_val.time.RTC_Hours / 10;
// } MenuData.Dis_Hour_Bit = counter_val.time.RTC_Hours % 10;
MenuData.Dis_Minute_Tenb = counter_val.time.RTC_Minutes / 10;
MenuData.Dis_Minute_Bit = counter_val.time.RTC_Minutes % 10;
} }
void Menu_Logic_Operation_Clock_Hour_Bit(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Hour_Bit(Menu_Key_en_t enKeyType)
...@@ -371,11 +382,7 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType) ...@@ -371,11 +382,7 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType)
uint8_t updataDir = 0u; uint8_t updataDir = 0u;
uint8_t datmax = 0u; uint8_t datmax = 0u;
uint8_t datmin = 0u; uint8_t datmin = 0u;
// RTE_RTC_Get_CounterValue(&counter_val);
// counter_val.time.RTC_Hours = RTC_Bcd2ToByte(counter_val.time.RTC_Hours);
// counter_val.time.RTC_Minutes = RTC_Bcd2ToByte(counter_val.time.RTC_Minutes);
// MenuData.Dis_Hour_Tenb = counter_val.time.RTC_Hours / 10;
if(enKeyType == MENU_KEY_DOWN_SHORT) if(enKeyType == MENU_KEY_DOWN_SHORT)
{ {
......
...@@ -75,7 +75,7 @@ void Data_User_Mileage_KL30Init(void) ...@@ -75,7 +75,7 @@ void Data_User_Mileage_KL30Init(void)
{ {
ODOInit.Offset = TempBuf[2]; ODOInit.Offset = TempBuf[2];
} }
ODOInit.MaxValue = 16103058; ODOInit.MaxValue = 9999999;
Data_ODO_KL30_Init(DataODOBuf, &ODOInit, Func.EEPromWrite_Cbk); Data_ODO_KL30_Init(DataODOBuf, &ODOInit, Func.EEPromWrite_Cbk);
(void)Data_User_EEPROM_Read(EM_TRIP_BLOCK, TempBuf + 3, 8); (void)Data_User_EEPROM_Read(EM_TRIP_BLOCK, TempBuf + 3, 8);
...@@ -237,13 +237,13 @@ uint32_t Get_Trip_Value(void) ...@@ -237,13 +237,13 @@ uint32_t Get_Trip_Value(void)
*/ */
void Trip_Clear_Km_Service(void) void Trip_Clear_Km_Service(void)
{ {
// if (Get_Dis_Unit() == 0) /* 公制 */ if (Get_Dis_Unit() == 0) /* 公制 */
// { {
// if (Data_Read_Trip(EM_TRIP_A) > 9999) /* 当前单位在KM时,里程大于999.9KM进行清零 */ if (Data_Read_Trip(EM_TRIP_A) > 9999) /* 当前单位在KM时,里程大于999.9KM进行清零 */
// { {
// Data_Clear_Trip_All(); Data_Clear_Trip_All();
// } }
// } }
} }
......
#include "PowerManagement.h" #include "PowerManagement.h"
#include "Components.h" #include "Components.h"
#include "FaultCode.h"
RTC_Information_st_t g_stRTCInformation; RTC_Information_st_t g_stRTCInformation;
...@@ -55,7 +56,7 @@ static void Power_KL30_Init(void) ...@@ -55,7 +56,7 @@ static void Power_KL30_Init(void)
Fuel_KL30_Init(); Fuel_KL30_Init();
Amt630hInit(); Amt630hInit();
Telltales_Init(); Telltales_Init();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000); TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High); TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
g_stRTCInformation.u8RTCSecond = 0; g_stRTCInformation.u8RTCSecond = 0;
g_stRTCInformation.u8RTCMinute = 0; g_stRTCInformation.u8RTCMinute = 0;
...@@ -67,7 +68,9 @@ static void Power_KL30_Init(void) ...@@ -67,7 +68,9 @@ static void Power_KL30_Init(void)
Menu_User_Init(); Menu_User_Init();
Can_Init(); Can_Init();
Protocol_KL30_Wakeup_Init(); Protocol_KL30_Wakeup_Init();
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 500);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising); RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising);
FaultCode_Init();
} }
static void Power_Wakeup_Init(void) static void Power_Wakeup_Init(void)
...@@ -85,7 +88,7 @@ static void Power_Wakeup_Init(void) ...@@ -85,7 +88,7 @@ static void Power_Wakeup_Init(void)
Line_In_KL15_ON_Init(); Line_In_KL15_ON_Init();
Fuel_KL30_Init(); Fuel_KL30_Init();
Amt630hInit(); Amt630hInit();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000); TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High); TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
Telltales_Init(); Telltales_Init();
Key_KL30_Init_EXample(); Key_KL30_Init_EXample();
...@@ -93,6 +96,7 @@ static void Power_Wakeup_Init(void) ...@@ -93,6 +96,7 @@ static void Power_Wakeup_Init(void)
Can_Init(); Can_Init();
Protocol_KL30_Wakeup_Init(); Protocol_KL30_Wakeup_Init();
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising); RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising);
FaultCode_Init();
} }
static void Power_LVP_Init(void) static void Power_LVP_Init(void)
...@@ -107,7 +111,7 @@ static void Power_OVP_Init(void) ...@@ -107,7 +111,7 @@ static void Power_OVP_Init(void)
static void Power_IG_OFF_Init(void) static void Power_IG_OFF_Init(void)
{ {
Line_In_KL15_OFF_Init(); Line_In_KL15_OFF_Init();
RTE_GPIO_Set_Level(Blacklight_PWM, 0); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
} }
static void Power_IG_ON_Init(void) static void Power_IG_ON_Init(void)
...@@ -116,12 +120,13 @@ static void Power_IG_ON_Init(void) ...@@ -116,12 +120,13 @@ 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();
RTE_GPIO_Set_Level(Blacklight_PWM, 1); //RTE_GPIO_Set_Level(Blacklight_PWM, 1);
FaultCode_Init();
} }
static void Power_Sleep_Init(void) static void Power_Sleep_Init(void)
{ {
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 0); TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 0);
rte_can_deinit(CAN_CH_0); rte_can_deinit(CAN_CH_0);
TMM0_Stop(); TMM0_Stop();
TMM1_Stop(); TMM1_Stop();
...@@ -164,18 +169,10 @@ static Power_Status_em Power_Stay_OFF(void) ...@@ -164,18 +169,10 @@ static Power_Status_em Power_Stay_OFF(void)
} }
else else
{ {
if ((Common_GetIgnOffTime() < 1000)) if ((Common_GetIgnOffTime() < 20000))
{ {
u8PowerSts = EM_IGN_OFF; u8PowerSts = EM_IGN_OFF;
} }
else
{
//igoff大于1s且下15电才进休眠,否则一直保持在igoff状态
//if(Sys_Read_KL15_Voltage() < 5000)
{
u8PowerSts = EM_IGN_Sleep_Init;
}
}
} }
return u8PowerSts; return u8PowerSts;
...@@ -191,7 +188,7 @@ static Power_Status_em Power_Stay_Protect(void) ...@@ -191,7 +188,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;
/* 电溝模弝正常 */ /* 电溝模弝正常 */
...@@ -204,15 +201,10 @@ static Power_Status_em Power_Stay_Protect(void) ...@@ -204,15 +201,10 @@ static Power_Status_em Power_Stay_Protect(void)
if ( SYS_OPR_STAT_RUN ) if ( SYS_OPR_STAT_RUN )
{ {
CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable); //CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
return u8PowerSts; return u8PowerSts;
} }
//进入异常电压,电源库里直接将15电等于0,则直接退出,状态是igoff,下15则进入休眠
// if ( SYS_OPR_STAT_IGN_OFF )
// {
// break;
// }
} }
} }
......
...@@ -61,7 +61,7 @@ uint8_t TimerM_PWM_counter_Output_Init(TIMERM_PWM_Counter_en_t counter, uint16_t ...@@ -61,7 +61,7 @@ uint8_t TimerM_PWM_counter_Output_Init(TIMERM_PWM_Counter_en_t counter, uint16_t
TIMM_InitStructure[counter].TMM_Channel = TMM_Channel_A|TMM_Channel_B|TMM_Channel_C|TMM_Channel_D; TIMM_InitStructure[counter].TMM_Channel = TMM_Channel_A|TMM_Channel_B|TMM_Channel_C|TMM_Channel_D;
TIMM_InitStructure[counter].TMM_Mode = TMM_Mode_PWM; TIMM_InitStructure[counter].TMM_Mode = TMM_Mode_PWM;
TIMM_InitStructure[counter].TMM_CounterClear = TM_Clear_Match_TMGRA; //when TM is matched with TMGRA, TM0 is cleared TIMM_InitStructure[counter].TMM_CounterClear = TM_Clear_Match_TMGRA; //when TM is matched with TMGRA, TM0 is cleared
TIMM_InitStructure[counter].TMM_Intp = TMM_Int_IMIA; ///compare match interrupt enable A (IMIEA) TIMM_InitStructure[counter].TMM_Intp = TMM_Int_NONE; ///compare match interrupt enable A (IMIEA)
if (freq > 2000) if (freq > 2000)
{ {
...@@ -227,13 +227,15 @@ uint8_t TimerM_PWM_CH_Output_init(TIMERM_PWM_Counter_en_t counter, TIMERM_PWM_Ch ...@@ -227,13 +227,15 @@ uint8_t TimerM_PWM_CH_Output_init(TIMERM_PWM_Counter_en_t counter, TIMERM_PWM_Ch
return 1; return 1;
//break; //break;
} }
TMM_Init(&TIMM_InitStructure[counter]);
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Level = GPIO_Level_LOW; GPIO_InitStruct.GPIO_Level = GPIO_Level_LOW;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIO_PORT1,&GPIO_InitStruct);
TMM_Init(&TIMM_InitStructure[counter]);
if (counter == TIMERM_COUNTER0) if (counter == TIMERM_COUNTER0)
{ {
TMM0_Start(ENABLE); TMM0_Start(ENABLE);
...@@ -247,7 +249,7 @@ uint8_t TimerM_PWM_CH_Output_init(TIMERM_PWM_Counter_en_t counter, TIMERM_PWM_Ch ...@@ -247,7 +249,7 @@ uint8_t TimerM_PWM_CH_Output_init(TIMERM_PWM_Counter_en_t counter, TIMERM_PWM_Ch
return 1; return 1;
} }
GPIO_Init(GPIO_PORT1,&GPIO_InitStruct);
high_level_Pulse[counter][ch] = ((cycle_pulse[counter]) ) & 0x0FFFF; high_level_Pulse[counter][ch] = ((cycle_pulse[counter]) ) & 0x0FFFF;
pwm_duty[counter][ch] = 1000; pwm_duty[counter][ch] = 1000;
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
//#include "CommonInterface.h" //#include "CommonInterface.h"
#include "RTE.h" #include "RTE.h"
#include "UDS_ISO14229_Server.h" #include "UDS_ISO14229_Server.h"
#include "FaultCode.h"
extern _Menu_Data MenuData;
void Sys_Pseudo_Real_Time_Tasks(void) void Sys_Pseudo_Real_Time_Tasks(void)
{ {
...@@ -30,6 +32,7 @@ void Sys_5ms_Tasks(void) ...@@ -30,6 +32,7 @@ void Sys_5ms_Tasks(void)
void Sys_10ms_Tasks(void) void Sys_10ms_Tasks(void)
{ {
FaultCode_Service(10u);
Line_In_Debounce_Service(10u); Line_In_Debounce_Service(10u);
Key_Service(); Key_Service();
Data_Mileage_Write_EEPROM(); Data_Mileage_Write_EEPROM();
...@@ -37,6 +40,7 @@ void Sys_10ms_Tasks(void) ...@@ -37,6 +40,7 @@ void Sys_10ms_Tasks(void)
Key_TimeOut_Service(); Key_TimeOut_Service();
Fuel_R_Cal(10u); Fuel_R_Cal(10u);
Coolant_R_Cal(10u); Coolant_R_Cal(10u);
Data_Light_Res_service(10);
} }
void Sys_20ms_Tasks(void) void Sys_20ms_Tasks(void)
...@@ -51,17 +55,17 @@ void Sys_50ms_Tasks(void) ...@@ -51,17 +55,17 @@ void Sys_50ms_Tasks(void)
g_u8Cursor_Posittion = Menu_Get_Current_Cursor_Information(); g_u8Cursor_Posittion = Menu_Get_Current_Cursor_Information();
// if((MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit) > 23) if((MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit) > 23)
// { {
// MenuData.Dis_Hour_Tenb = 2; MenuData.Dis_Hour_Tenb = 2;
// MenuData.Dis_Hour_Bit = 3; MenuData.Dis_Hour_Bit = 3;
// } }
// if((MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit) > 59) if((MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit) > 59)
// { {
// MenuData.Dis_Minute_Tenb = 5; MenuData.Dis_Minute_Tenb = 5;
// MenuData.Dis_Minute_Bit = 9; MenuData.Dis_Minute_Bit = 9;
// } }
} }
uint32_t ODOtest = 0; uint32_t ODOtest = 0;
...@@ -78,6 +82,8 @@ void Sys_100ms_Tasks(void) ...@@ -78,6 +82,8 @@ void Sys_100ms_Tasks(void)
// 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();
//TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 100);
// aaa = Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO); // aaa = Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO);
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
#new Option
#Tue Aug 13 23:16:37 CST 2024
IsSort=true
MergeFlashIsCompression=false
ChangeAppFilePath=
MergeCanXLSPath=
RH850_D1M1AGPIOJSONpath=
DBFFilePath=
MergeCrcTtpe=29
MergeBootFilePath=C\:\\Users\\Lenovo\\Desktop\\haojin750_TFT\\haojin750tft\\Firmware\\utility\\Boot_Release\\HaoJin_750TFT_HJYB-7500TFT_BV1.01_20240808.hex
IsMergeChangeAddress=false
MergeFlashOutPutFilePath=
GPIOOutPutPath=
MergeCanDBCPath=
IsFilling=true
RxID=789
MergeAudioInPutPath=
MergeAudioIndex=3
IsFastSend=true
MergeBinFilePath=
MsgMaxBc=0
UDS_22_2E_DID_FilePath=
SoftwareVersion=0
MsgSTmin=0
MergeLineInOutPutPath=
Leave2ID=17
PHYID=781
BaudRate=500K
AppUpdateFilePath=C\:\\Users\\Lenovo\\Desktop\\haojin750tft_2024-8-13\\APP_20240813230755344371.srec
FUNID=7DF
IsMergeCreateBin=false
IsOverWrite=true
DllFilePath=C\:\\Users\\Lenovo\\Desktop\\haojin750_TFT\\haojin750tft\\Firmware\\utility\\\u8BCA\u65AD\u5DE5\u5177\\\u89E3\u9501\u6587\u4EF6\\default_64.dll
MergeAudioOutPutPath=
MergeCanOutPutPath=
ChangeOutPutFilePath=
MergeTelltalesOutPutPath=
TTFExtractTXTpath=
JieFaRH850GPIOJSONpath=
MergeFlashIsMandatory=false
UpdateProcess=\u9ED8\u8BA4
Driver=Kvaser
MergeFlashImageFormat=
RH850_F1KMGPIOJSONpath=
DriverFilePath=C\:\\Users\\Lenovo\\Desktop\\haojin750_TFT\\haojin750tft\\Firmware\\utility\\\u8BCA\u65AD\u5DE5\u5177\\FlashDriver\\R5_FlashDriver.srec
IsMergeCreateHex=false
MergeFlashIsCreateREC=false
TTFExtractTTFpath=
MergeImageFilePath=
IsMergeCreateUpdateBin=false
MergeImageSize=128M
CRCFilePath=
MergeFlashCompressionFormat=
IsPlayMusic=false
IsHexDisplay=true
MergeLineInXLSPath=
MergeFlashInPutFilePath=
MergeFlashIsInternal=false
MergeOutPutFilePath=C\:\\Users\\Lenovo\\Desktop\\haojin750tft_2024-8-13
MergeAppFilePath=C\:\\Users\\Lenovo\\Desktop\\haojin750tft_2024-8-13\\HaoJin750TFT.hex
MergeTelltalesXLSPath=
FillingByte=-86
ImageVersion=0
XHYGPIOJSONpath=
Leave1ID=1
TTFExtractOUTpath=
MergeAudioPWMMax=2000
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