Commit 51fcd388 authored by 郑萍's avatar 郑萍

Merge branch 'zhengping' into 'dev'

Zhengping

See merge request !9
parents f38d4795 3c618e79
......@@ -15,8 +15,8 @@ void Can_Init(void)
can_config_st_t Can_Config;
Can_Config.ch = CAN_CH_0;
Can_Config.freq = CAN_500Kbps;
Can_Config.MASK[0] = 0x001fffffU;
Can_Config.MASK[1] = 0x000fffffU;
Can_Config.MASK[0] = 0x1fffffffU;
Can_Config.MASK[1] = 0x1fffffffU;
Can_Config.MASK[2] = 0x1fffffffU;
Can_Config.MASK[3] = 0x1fffffffU;
Can_Config.rx_callback = Can_Rx_Cak;
......
......@@ -106,18 +106,18 @@ void Common_Input_Para(void)
Common_Set_IG_Sts(COMMON_POWER_ON);
Common_Set_IG_Sts_Valid(COMMON_Valid);
// Common_Set_Act_V_Speed(Get_ActualVechileSpeed());
// Common_Set_Disp_V_Speed(Get_DispVechileSpeed());
// if (Get_VechileSpeedValid() == COMMON_Valid)
// {
// Common_Set_Act_V_Speed_Valid(COMMON_Valid);
// Common_Set_Disp_V_Speed_Valid(COMMON_Valid);
// }
// else
// {
// Common_Set_Act_V_Speed_Valid(COMMON_InValid);
// Common_Set_Disp_V_Speed_Valid(COMMON_InValid);
// }
Common_Set_Act_V_Speed(Get_ActualVechileSpeed());
Common_Set_Disp_V_Speed(Get_DispVechileSpeed());
if (Get_VechileSpeedValid() == COMMON_Valid)
{
Common_Set_Act_V_Speed_Valid(COMMON_Valid);
Common_Set_Disp_V_Speed_Valid(COMMON_Valid);
}
else
{
Common_Set_Act_V_Speed_Valid(COMMON_InValid);
Common_Set_Disp_V_Speed_Valid(COMMON_InValid);
}
PowerIgnOffTimeLine = 0ul;
......
......@@ -67,7 +67,7 @@ void Coolant_R_Cal(uint8_t deltaTime)
if(g_u8CoolantStateInitFlag)
{
// CoolantR = ADC_Read_Signal(ADC_CH_Coolant1);
CoolantR = ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R);
}
if (timeCount >= Coolant_DATA_TIME)
......@@ -76,7 +76,7 @@ void Coolant_R_Cal(uint8_t deltaTime)
if (g_u8CoolantDataCount < Coolant_DATA_NUM)
{
/*获取燃油电阻*/
// CoolantRes = ADC_Read_Signal(ADC_CH_Coolant1);
CoolantRes = ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R);
/*四舍五入*/
if (CoolantRes < 3100)
......
......@@ -78,7 +78,7 @@ void Fuel_R_Cal(uint8_t deltaTime)
FuelRes = ADC_Read_Signal(ADC_CH_FUEL1);
/*四舍五入*/
if (FuelRes < 3100)
if (FuelRes < 5000)
{
if (FuelRes % 10 >= 5)
{
......@@ -140,7 +140,7 @@ void Fuel_State_Check(uint8_t deltaTime)
g_u16FuelSensorShortTime += deltaTime;
}
}
else if (FuelR > 3100)
else if (FuelR > 5000)
{ /*开路 310*/
g_u16FuelSensorShortTime = 0;
g_u16FuelSensorNormalTime = 0;
......
......@@ -82,8 +82,7 @@ void Data_Vehicle_Speed_Processing_Service(void)
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST) || (Vehicle_Speed > 0XFF))
{
/* 先判断掉线 */
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST)
if(1)
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST)
{
DataVSpeedValid = 0;
DataVSpeedActual = 0;
......
......@@ -28,6 +28,7 @@ void AMT630H_GUI_Background()
{
if (SYS_OPR_STAT_IGN_ON)
{
RTE_GPIO_Set_Level(Blacklight_PWM, 1);
if (MENU_MODE == SETTING_MENU)
{
AMT630H_GUI_SETTING(); /*设置菜单*/
......@@ -2150,7 +2151,10 @@ static void AMT630H_GUI_TIME(uint16_t Hour, uint16_t Minute)
if ((Pic_mode == PIC_DAYTIME_Main_CH) || (Pic_mode == PIC_DAYTIME_Main_EN))
{
/*外部接收小时和分钟*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0522_916_503);
if (FLASH_SYNC_1Hz)
{
SetPagePicFree(GRAPHICS_PAGE_0, Pic_0522_916_503, 918, 501);
}
DISPLAY_NUM_ST DisplayNumPara;
uint16_t HourNumber;
uint16_t MinuteNumber;
......@@ -2238,7 +2242,10 @@ static void AMT630H_GUI_Fuel(uint16_t Fuel)
SetPagePic(GRAPHICS_PAGE_0, Pic_0550_715_533); /*F*/
if (FuelLevel == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0552_503_529); /*黄色燃油灯*/
if (FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0552_503_529); /*黄色燃油灯*/
}
}
else
{
......@@ -2252,7 +2259,10 @@ static void AMT630H_GUI_Fuel(uint16_t Fuel)
SetPagePic(GRAPHICS_PAGE_0, Pic_0660_715_533); /*F*/
if (FuelLevel == 0)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0552_503_529); /*黄色燃油灯*/
if (FLASH_SYNC_1Hz)
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0552_503_529); /*黄色燃油灯*/
}
}
else
{
......@@ -2412,46 +2422,46 @@ static void AMT630H_GUI_Voltage(uint16_t Voltage)
}
/*大计里程显示函数*/
static void AMT630H_GUI_ODO(uint32_t ODO)
static void AMT630H_GUI_ODO(uint32_t ODO, uint8_t mode)
{
if ((Pic_mode == PIC_DAYTIME_Main_CH) || (Pic_mode == PIC_DAYTIME_Main_EN))
if((PIC_DAYTIME_Main_CH) && (PIC_DAYTIME_Main_EN))
{
/*ODO位数不同 KM位置不同*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0577_48_272);
SetPagePic(GRAPHICS_PAGE_0, Pic_0578_55_296);
SetPagePic(GRAPHICS_PAGE_0, Pic_0580_211_324);
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0577_48_272 ) ;
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0578_55_296 ) ;
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0580_211_324 ) ;
DISPLAY_NUM_ST DisplayNumPara;
uint32_t ODONumber;
ODONumber = ODO;
uint16_t ODONumber;
ODONumber =ODO;
DisplayNumPara.NumList = NumbeList_ODO_DAY;
DisplayNumPara.x = 173;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 6;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ODONumber);
DisplayNumPara.MinDigits =6;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,ODONumber);
}
else if ((Pic_mode == PIC_NIGHTTIME_Main_CH) || (Pic_mode == PIC_NIGHTTIME_Main_EN))
else if((PIC_NIGHTTIME_Main_CH) && (PIC_NIGHTTIME_Main_EN))
{
/*ODO位数不同 KM位置不同*/
SetPagePic(GRAPHICS_PAGE_0, Pic_0685_48_272);
SetPagePic(GRAPHICS_PAGE_0, Pic_0686_55_296);
SetPagePic(GRAPHICS_PAGE_0, Pic_0688_211_324);
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0685_48_272 ) ;
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0686_55_296 ) ;
SetPagePic ( GRAPHICS_PAGE_0 , Pic_0688_211_324 ) ;
DISPLAY_NUM_ST DisplayNumPara;
uint32_t ODONumber;
ODONumber = ODO;
uint16_t ODONumber;
ODONumber =ODO;
DisplayNumPara.NumList = NumbeList_ODO_NIGHT;
DisplayNumPara.x = 173;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT |24;
DisplayNumPara.y = GROUP_PIC_USE_PSD_Y_POS;
DisplayNumPara.DecimalNum = 0;
DisplayNumPara.MinDigits = 6;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, ODONumber);
DisplayNumPara.MinDigits =6;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara,ODONumber);
}
else
......@@ -2474,7 +2484,7 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
VSpeedNumber = VSpeed;
DisplayNumPara.NumList = NumbeList_VSpeed_DAY;
if (100 <= VSpeedNumber <= 199)
if (100 <= VSpeedNumber)
{
DisplayNumPara.x = 574;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 118;
......@@ -2484,7 +2494,7 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else if (10 <= VSpeedNumber < 100)
else if ((10 <= VSpeedNumber))
{
DisplayNumPara.x = 515;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 118;
......@@ -2494,7 +2504,7 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else if (0 <= VSpeedNumber < 10)
else if (0 <= VSpeedNumber)
{
if (VSpeedNumber == 1)
{
......@@ -2510,6 +2520,10 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
DisplayNumPara.MinDigits = 1;
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else
{
;
}
}
else if ((Pic_mode == PIC_NIGHTTIME_Main_CH) || (Pic_mode == PIC_NIGHTTIME_Main_EN))
{
......@@ -2522,7 +2536,7 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
VSpeedNumber = VSpeed;
DisplayNumPara.NumList = NumbeList_VSpeed_NIGHT;
if (100 <= VSpeedNumber <= 199)
if (100 <= VSpeedNumber)
{
DisplayNumPara.x = 574;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 118;
......@@ -2532,7 +2546,7 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else if (10 <= VSpeedNumber < 100)
else if (10 <= VSpeedNumber)
{
DisplayNumPara.x = 515;
DisplayNumPara.NumInterval = GROUP_PIC_DIR_LEFT | 118;
......@@ -2542,7 +2556,7 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
DisplayNum(GRAPHICS_PAGE_0, &DisplayNumPara, VSpeedNumber);
}
else if (0 <= VSpeedNumber < 10)
else if (0 <= VSpeedNumber)
{
if (VSpeedNumber == 1)
{
......@@ -2573,6 +2587,7 @@ static void AMT630H_GUI_VSpeed(uint16_t VSpeed)
/*转速显示函数*/
static void AMT630H_GUI_ESpeed(uint16_t ESpeed)
{
uint8_t PIC = 0;
if ((Pic_mode == PIC_DAYTIME_Main_CH) || (Pic_mode == PIC_DAYTIME_Main_EN))
{
SetPagePic(GRAPHICS_PAGE_0, Pic_0606_834_199); /* 1000r/min */
......@@ -2599,14 +2614,14 @@ static void AMT630H_GUI_ESpeed(uint16_t ESpeed)
if (ESpeedNumber > 0)
{
ESpeedLevel = (ESpeedNumber - 1) / 1000;
for (PIC = 0; PIC <= ESpeedLevel; PIC++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_ESpeed_DAY[PIC]);
}
}
else if (ESpeedNumber == 0)
{
}
for (int PIC = 0; PIC <= ESpeedLevel; PIC++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_ESpeed_DAY[PIC]);
ESpeedLevel = 0;
}
}
......@@ -2636,14 +2651,14 @@ static void AMT630H_GUI_ESpeed(uint16_t ESpeed)
if (ESpeedNumber > 0)
{
ESpeedLevel = (ESpeedNumber - 1) / 1000;
for (PIC = 0; PIC <= ESpeedLevel; PIC++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_ESpeed_NIGHT[PIC]);
}
}
else if (ESpeedNumber == 0)
{
}
for (int PIC = 0; PIC <= ESpeedLevel; PIC++)
{
SetPagePic(GRAPHICS_PAGE_0, PICList_ESpeed_NIGHT[PIC]);
ESpeedLevel = 0;
}
}
else
......@@ -2654,7 +2669,7 @@ static void AMT630H_GUI_ESpeed(uint16_t ESpeed)
/******************************************************************************************/
/**
* @brief 菜单背景
* @brief 主界面显示
*
*/
void AMT630H_GUI_BACKGRAND()
......@@ -2680,15 +2695,28 @@ void AMT630H_GUI_BACKGRAND()
SetPagePic(GRAPHICS_PAGE_0, Pic_0754_109_347);
}
AMT630H_GUI_TIME(12, 13);
AMT630H_GUI_TIME(Get_Dis_Hour_Time(), Get_Dis_Minute_Time());
/* AMT630H_GUI_Telephone(Telephone); */
AMT630H_GUI_Fuel(2);
AMT630H_GUI_Fuel(0);
AMT630H_GUI_Voltage(123);
AMT630H_GUI_ODO(123456);
AMT630H_GUI_VSpeed(123);
AMT630H_GUI_ESpeed(1234);
AMT630H_GUI_ODO(Get_ODO_Value() / 10,0);
if (Get_VechileSpeedValid() == 1)
{
AMT630H_GUI_VSpeed(Get_DispVechileSpeed() / 10);
}
else
{
AMT630H_GUI_VSpeed(0);
}
if (Get_EngineValid() == 1)
{
AMT630H_GUI_ESpeed(Get_DispEngineSpeed());
}
else
{
AMT630H_GUI_ESpeed(0);
}
}
void AMT630H_GUI_SETTING()
{
if (Pic_mode == PIC_DAYTIME_CH)
......
......@@ -55,6 +55,7 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
case KEY_EVENT_LONG_PRESS_3: //5s
break;
case KEY_EVENT_LONG_PRESS_4: //10s
TYW_RESET_ODO();
break;
case KEY_EVENT_OFF_TO_ON:
break;
......@@ -310,7 +311,7 @@ void TYW_RESET_ODO(void)
{
if(ClearODO_Flag < 1)
{
//if((Get_DispVechileSpeed() >= 1200)&&(Get_DispEngineSpeed() >= 11000))
if((Get_DispVechileSpeed() >= 1990)&&(Get_DispEngineSpeed() >= 12000))
{
ClearODO_Flag = 1;
Data_Mileage_Clear();
......@@ -323,6 +324,15 @@ void TYW_RESET_ODO(void)
}
}
void Get_DisTime_Service(void)
{
if(1)
{
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);
}
}
uint8_t Get_Dis_Hour_Time(void)
......
......@@ -71,7 +71,7 @@ void Key_Clear_Time(void);
uint8_t Get_Dis_OdoAndTrip(void);
uint8_t Get_Dis_Bluetooth_Open_Close(void);
uint8_t Get_Dis_Language(void);
void Get_DisTime_Service(void);
......
......@@ -6,8 +6,21 @@
CANMSG_Type* CANMSG;
CanTxRxMsg CAN_RecvMsg;
CANBuffList_t CanBufList = {0};
can_rx_callback can_rx_handler = NULL;
uint8_t Read_RingBuff(CanTxRxMsg *data)
{
if (CanBufList.length == 0)
{
return 0;
}
*data = CanBufList.data[CanBufList.Head];
CanBufList.Head = (CanBufList.Head + 1) % LIST_BUF_MAX_NUM;
CanBufList.length--;
return 1;
}
/**
* @brief CAN就收完成回调
*
......@@ -20,9 +33,9 @@ static void can_recv_handler(void *msg)
if (CAN_GetFlagStatus(CAN0, CAN_FLAG_REC) != RESET)
{
CAN_ClearFlag(CAN0, CAN_FLAG_REC);
// CANMSG = CAN_Get_CANxMSGy(CAN0);
// CAN_Receive_IT(CAN0, &CAN_RecvMsg);
CAN_Receive_IT(CAN0, &CanBufList);
Read_RingBuff(&CAN_RecvMsg);
if (can_rx_handler != NULL)
{
can_rx_handler(&CAN_RecvMsg);
......
......@@ -28,6 +28,7 @@ void Sys_10ms_Tasks(void)
{
Line_In_Debounce_Service(10u);
Key_Service();
Data_Mileage_Write_EEPROM();
Key_Clear_Time();
Key_TimeOut_Service();
Fuel_R_Cal(10u);
......@@ -47,8 +48,9 @@ void Sys_50ms_Tasks(void)
void Sys_100ms_Tasks(void)
{
Get_DisTime_Service();
Fuel_Cal_Sevice(100u);
RTE_GPIO_Set_Level(Blacklight_PWM, 1);
Services_Mileage_Callback();
}
static uint16_t task_2ms = 0u;
void Sys_Exact_50us_Tasks(void)
......
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