Commit bec262aa authored by 时昊's avatar 时昊

Merge branch 'shihao' into 'dev'

Shihao

See merge request !15
parents 9c4f7904 0f48294b
...@@ -94,7 +94,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR ...@@ -94,7 +94,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR
// </e> // </e>
// </e> // </e>
// </h> // </h>
0xEF, 0x7E,
/** /**
* @brief LVD Control BYTE (C1H) * @brief LVD Control BYTE (C1H)
......
...@@ -29,7 +29,6 @@ void Common_DataInit(void) ...@@ -29,7 +29,6 @@ void Common_DataInit(void)
PowerIgnOnTimeLine = 0x0ul; PowerIgnOnTimeLine = 0x0ul;
PowerIgnOffTimeLine = 0x0ul; PowerIgnOffTimeLine = 0x0ul;
PowerSocTimeLine = 0x0ul; PowerSocTimeLine = 0x0ul;
// u16SelfCheckTime = DisplaySelfCheckTime;
} }
/*以下由各个处理模块按需调用*/ /*以下由各个处理模块按需调用*/
...@@ -206,20 +205,6 @@ void Data_SortNWord(uint32_t *SortData, uint32_t len) ...@@ -206,20 +205,6 @@ void Data_SortNWord(uint32_t *SortData, uint32_t len)
} }
} }
uint16_t Common_Get_Act_V_Speed_Limit(void)
{
uint16_t ret;
if (Act_V_Speed > 2400U)
{
ret = 2400U;
}
else
{
ret = Act_V_Speed;
}
return ret;
}
...@@ -70,7 +70,7 @@ extern uint16_t Common_Get_DispSpeed(void); ...@@ -70,7 +70,7 @@ extern uint16_t Common_Get_DispSpeed(void);
extern uint32_t Common_GetIgnOnTime(void); /*ms*/ extern uint32_t Common_GetIgnOnTime(void); /*ms*/
extern uint32_t Common_GetIgnOffTime(void); /*ms*/ extern uint32_t Common_GetIgnOffTime(void); /*ms*/
extern uint16_t Common_Get_Act_V_Speed_Limit(void);
extern uint32_t Data_Km_To_Mile(uint32_t Km); extern uint32_t Data_Km_To_Mile(uint32_t Km);
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
#include "Components.h" #include "Components.h"
#include "CAN_CH0_CAN_Communication_Matrix.h" #include "CAN_CH0_CAN_Communication_Matrix.h"
static uint16_t DataVSpeedActual; uint16_t DataVSpeedActual;
static uint16_t DataVSpeedDisp; uint16_t DataVSpeedDisp;
static uint16_t DataVSpeedHysteresis; uint16_t DataVSpeedHysteresis;
static uint8_t DataVSpeedValid; uint8_t DataVSpeedValid;
// static uint16_t DataVSpeedDisp_Mile; // static uint16_t DataVSpeedDisp_Mile;
static DataVSpeedSamplerStruct DataVSpeedSampler; static DataVSpeedSamplerStruct DataVSpeedSampler;
static DataVSPeedDampingStruct DataVSPeedDamping; static DataVSPeedDampingStruct DataVSPeedDamping;
......
...@@ -3170,23 +3170,23 @@ void AMT630H_GUI_ReadPosittion_Display(void) ...@@ -3170,23 +3170,23 @@ void AMT630H_GUI_ReadPosittion_Display(void)
break; break;
case MENU_ITEM_CLOCK_HOUR_TENB: /*20 时钟小时十位*/ case MENU_ITEM_CLOCK_HOUR_TENB: /*20 时钟小时十位*/
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
AMT630H_GUI_Clock_Setting(12, 13, 1); AMT630H_GUI_Clock_Setting(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 1);
break; break;
case MENU_ITEM_CLOCK_HOUR_BIT: /*19 时钟小时个位*/ case MENU_ITEM_CLOCK_HOUR_BIT: /*19 时钟小时个位*/
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
AMT630H_GUI_Clock_Setting(12, 13, 2); AMT630H_GUI_Clock_Setting(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 2);
break; break;
case MENU_ITEM_CLOCK_MIN_TENB: /*18 时钟分钟十位*/ case MENU_ITEM_CLOCK_MIN_TENB: /*18 时钟分钟十位*/
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
AMT630H_GUI_Clock_Setting(12, 13, 3); AMT630H_GUI_Clock_Setting(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 3);
break; break;
case MENU_ITEM_CLOCK_MIN_BIT: /*17 时钟分钟个位*/ case MENU_ITEM_CLOCK_MIN_BIT: /*17 时钟分钟个位*/
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
AMT630H_GUI_Clock_Setting(12, 13, 4); AMT630H_GUI_Clock_Setting(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 4);
break; break;
case MENU_ITEM_CLOCK_BACK: /*16 时钟返回*/ case MENU_ITEM_CLOCK_BACK: /*16 时钟返回*/
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
AMT630H_GUI_Clock_Setting(12, 13, 5); AMT630H_GUI_Clock_Setting(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 5);
break; break;
case MENU_ITEM_UNIT_SETTING: /*21 单位设置*/ case MENU_ITEM_UNIT_SETTING: /*21 单位设置*/
AMT630H_GUI_SETTING(); AMT630H_GUI_SETTING();
......
...@@ -55,7 +55,7 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认 ...@@ -55,7 +55,7 @@ void Key_Operation_Right(Key_Event_en_t enKeyEvent)//确认
case KEY_EVENT_LONG_PRESS_3: //5s case KEY_EVENT_LONG_PRESS_3: //5s
break; break;
case KEY_EVENT_LONG_PRESS_4: //10s case KEY_EVENT_LONG_PRESS_4: //10s
TYW_RESET_ODO(); //TYW_RESET_ODO();
break; break;
case KEY_EVENT_OFF_TO_ON: case KEY_EVENT_OFF_TO_ON:
break; break;
...@@ -308,20 +308,20 @@ uint8_t ClearODO_Flag = 0; ...@@ -308,20 +308,20 @@ uint8_t ClearODO_Flag = 0;
void TYW_RESET_ODO(void) void TYW_RESET_ODO(void)
{ {
if(SYS_OPR_STAT_IGN_ON) if(SYS_OPR_STAT_IGN_ON)
{ {
if(ClearODO_Flag < 1) if(ClearODO_Flag < 1)
{ {
if((Get_DispVechileSpeed() >= 1990)&&(Get_DispEngineSpeed() >= 12000)) if((Get_DispVechileSpeed() >= 1500)&&(Get_DispEngineSpeed() >= 12000))
{ {
ClearODO_Flag = 1; ClearODO_Flag = 1;
Data_Mileage_Clear(); //Data_Mileage_Clear();
} }
} }
} }
else else
{ {
ClearODO_Flag = 0; ClearODO_Flag = 0;
} }
} }
void Get_DisTime_Service(void) void Get_DisTime_Service(void)
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
/*-------------------Logic_Operation Call Back---------------------*/ /*-------------------Logic_Operation Call Back---------------------*/
uint8_t g_u8Cursor_Posittion; uint8_t g_u8Cursor_Posittion;
extern _Menu_Data MenuData; extern _Menu_Data MenuData;
extern RTC_CounterTypeDef counter_val;
void Menu_Logic_Operation_MAIN_ITEM(Menu_Key_en_t enKeyType); void Menu_Logic_Operation_MAIN_ITEM(Menu_Key_en_t enKeyType);
void Menu_Logic_Operation_Display_Mode(Menu_Key_en_t enKeyType); void Menu_Logic_Operation_Display_Mode(Menu_Key_en_t enKeyType);
...@@ -324,22 +326,39 @@ void Menu_Logic_Operation_Bluetooth_Back(Menu_Key_en_t enKeyType) ...@@ -324,22 +326,39 @@ 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);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
// if(MENU_KEY_CONFIRM_SHORT == enKeyType)
// {
// RTC_SetTime(&counter_val.time);
// }
} }
void Menu_Logic_Operation_Clock_Hour_Bit(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Hour_Bit(Menu_Key_en_t enKeyType)
{ {
// counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
// if(MENU_KEY_CONFIRM_SHORT == enKeyType)
// {
// RTC_SetTime(&counter_val.time);
// }
} }
void Menu_Logic_Operation_Clock_Min_Tenb(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Min_Tenb(Menu_Key_en_t enKeyType)
{ {
// counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
// if(MENU_KEY_CONFIRM_SHORT == enKeyType)
// {
// RTC_SetTime(&counter_val.time);
// }
} }
void Menu_Logic_Operation_Clock_Min_Bit(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Min_Bit(Menu_Key_en_t enKeyType)
{ {
// counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
// counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
} }
void Menu_Logic_Operation_Clock_Back(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Back(Menu_Key_en_t enKeyType)
...@@ -352,6 +371,12 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType) ...@@ -352,6 +371,12 @@ 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)
{ {
updataDir = 1; updataDir = 1;
...@@ -359,6 +384,13 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType) ...@@ -359,6 +384,13 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType)
datmin = 0u; datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Tenb)); Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Tenb));
} }
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
}
} }
void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType)
{ {
...@@ -372,6 +404,13 @@ void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType) ...@@ -372,6 +404,13 @@ void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType)
datmin = 0u; datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Bit)); Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Hour_Bit));
} }
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
}
} }
void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType)
...@@ -386,6 +425,13 @@ void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType) ...@@ -386,6 +425,13 @@ void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType)
datmin = 0u; datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Tenb)); Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Tenb));
} }
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
}
} }
void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType)
...@@ -400,6 +446,13 @@ void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType) ...@@ -400,6 +446,13 @@ void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType)
datmin = 0u; datmin = 0u;
Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Bit)); Menu_u8Data_Updata_Process(updataDir, datmax, datmin, 1u, (uint8_t*)&(MenuData.Dis_Minute_Bit));
} }
if(MENU_KEY_CONFIRM_SHORT == enKeyType)
{
counter_val.time.RTC_Hours = (MenuData.Dis_Hour_Tenb*10 + MenuData.Dis_Hour_Bit);
counter_val.time.RTC_Minutes = (MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit);
RTC_SetTime(&counter_val.time);
}
} }
void Menu_Logic_Operation_Backlight_Setting(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Backlight_Setting(Menu_Key_en_t enKeyType)
...@@ -414,7 +467,9 @@ void Menu_Logic_Operation_Bluetooth_Connect(Menu_Key_en_t enKeyType) ...@@ -414,7 +467,9 @@ void Menu_Logic_Operation_Bluetooth_Connect(Menu_Key_en_t enKeyType)
void Menu_Logic_Operation_Clock_Setting(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Clock_Setting(Menu_Key_en_t enKeyType)
{ {
//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);
} }
void Menu_Logic_Operation_Unit_Setting(Menu_Key_en_t enKeyType) void Menu_Logic_Operation_Unit_Setting(Menu_Key_en_t enKeyType)
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
__align(4) __align(4)
uint8_t DataMilleageBuf[Data_MEM_Block_Mileage]; uint8_t DataMilleageBuf[Data_MEM_Block_Mileage];
uint8_t DataODOBuf[Data_MEM_Block_ODO]; uint8_t DataODOBuf[Data_MEM_Block_ODO];
uint8_t DataTripBuf[Data_MEM_Block_Trip * EM_TRIP_MAX]; uint8_t DataTripBuf[Data_MEM_Block_Trip * EM_TRIP_MAX];
Mileage_t g_WriteMileage; Mileage_t g_WriteMileage;
...@@ -17,15 +17,13 @@ uint8_t odo_readState; ...@@ -17,15 +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 0X00 #define EEPROM_BLOCK_00 0
#define EEPROM_BLOCK_01 0X16 #define EEPROM_BLOCK_01 16
#define EEPROM_BLOCK_02 0X32 #define EEPROM_BLOCK_02 32
#define EEPROM_BLOCK_03 0X48 #define EEPROM_BLOCK_03 48
#define EEPROM_BLOCK_04 0X64 #define EEPROM_BLOCK_04 64
#define EEPROM_BLOCK_05 0X80 #define EEPROM_BLOCK_05 80
#define EEPROM_BLOCK_06 0X90 #define EEPROM_BLOCK_06 96
uint32_t Milleage_InitFlag = 0U;
...@@ -42,10 +40,8 @@ void Data_User_Mileage_KL30Init(void) ...@@ -42,10 +40,8 @@ void Data_User_Mileage_KL30Init(void)
Mileage_Init_t MileInit = {0}; Mileage_Init_t MileInit = {0};
Mileage_Func_t Func = {0}; Mileage_Func_t Func = {0};
ODO_Init_t ODOInit = {0}; ODO_Init_t ODOInit = {0};
// EngODO_Init_t EngODOInit = {0};
Trip_Init_t TripInit[4] = {0}; Trip_Init_t TripInit[4] = {0};
Milleage_InitFlag = 0U;
// �������ݴ�EEPROM�ж�ȡ
(void)Data_User_EEPROM_Read(EM_MILEAGE_BLOCK, TempBuf, 1); (void)Data_User_EEPROM_Read(EM_MILEAGE_BLOCK, TempBuf, 1);
if (TempBuf[0] == 0xFFFFFFFF) if (TempBuf[0] == 0xFFFFFFFF)
{ {
...@@ -57,9 +53,9 @@ void Data_User_Mileage_KL30Init(void) ...@@ -57,9 +53,9 @@ void Data_User_Mileage_KL30Init(void)
} }
Func.Get_Sys_IG_Sts = Common_Get_IG_Sts; Func.Get_Sys_IG_Sts = Common_Get_IG_Sts;
Func.Get_Act_V_Speed_Valid = Common_Get_Act_V_Speed_Valid; Func.Get_Act_V_Speed_Valid = Common_Get_Act_V_Speed_Valid;
Func.Get_Act_V_Speed = Common_Get_Act_V_Speed_Limit; Func.Get_Act_V_Speed = Common_Get_Act_V_Speed;
Func.Get_TireSize = (void *)0; Func.Get_TireSize = (void *)0;
Func.EEPromWrite_Cbk = Data_User_EEPROM_Write; // ��ʱδ���� Func.EEPromWrite_Cbk = Data_User_EEPROM_Write;
Data_Mileage_KL30_Init(DataMilleageBuf, &MileInit, &Func); Data_Mileage_KL30_Init(DataMilleageBuf, &MileInit, &Func);
(void)Data_User_EEPROM_Read(EM_ODO_BLOCK, TempBuf + 1, 2); (void)Data_User_EEPROM_Read(EM_ODO_BLOCK, TempBuf + 1, 2);
...@@ -92,7 +88,7 @@ void Data_User_Mileage_KL30Init(void) ...@@ -92,7 +88,7 @@ void Data_User_Mileage_KL30Init(void)
TripInit[EM_TRIP_A].Stamp = TempBuf[3]; TripInit[EM_TRIP_A].Stamp = TempBuf[3];
} }
TripInit[EM_TRIP_A].Offset = TempBuf[4]; TripInit[EM_TRIP_A].Offset = TempBuf[4];
TripInit[EM_TRIP_A].MaxValue = 16092; /* 最大999.9Mile 进行复位 */ TripInit[EM_TRIP_A].MaxValue = 99999; /* 最大999.9Mile 进行复位 */
TripInit[EM_TRIP_A].IsRestart = 1u; TripInit[EM_TRIP_A].IsRestart = 1u;
TripInit[EM_TRIP_B].Stamp = 0xFFFFFFFFu; TripInit[EM_TRIP_B].Stamp = 0xFFFFFFFFu;
...@@ -108,33 +104,26 @@ void Data_User_Mileage_KL30Init(void) ...@@ -108,33 +104,26 @@ void Data_User_Mileage_KL30Init(void)
TripInit[EM_TRIP_D].IsRestart = 1u; TripInit[EM_TRIP_D].IsRestart = 1u;
Data_Trip_KL30_Init(DataTripBuf, TripInit, EM_TRIP_MAX, Func.EEPromWrite_Cbk); Data_Trip_KL30_Init(DataTripBuf, TripInit, EM_TRIP_MAX, Func.EEPromWrite_Cbk);
Milleage_InitFlag = 0X5AA53AA3UL;
} }
void Data_User_Mileage_WakeupInit(void) void Data_User_Mileage_WakeupInit(void)
{ {
Mileage_Func_t Func = {0}; Mileage_Func_t Func = {0};
Milleage_InitFlag = 0U;
Func.Get_Sys_IG_Sts = Common_Get_IG_Sts; Func.Get_Sys_IG_Sts = Common_Get_IG_Sts;
Func.Get_Act_V_Speed_Valid = Common_Get_Act_V_Speed_Valid; Func.Get_Act_V_Speed_Valid = Common_Get_Act_V_Speed_Valid;
Func.Get_Act_V_Speed = Common_Get_Act_V_Speed_Limit; Func.Get_Act_V_Speed = Common_Get_Act_V_Speed;
Func.Get_TireSize = (void *)0; Func.Get_TireSize = (void *)0;
Func.EEPromWrite_Cbk = Data_User_EEPROM_Write; // ��ʱδ���� Func.EEPromWrite_Cbk = Data_User_EEPROM_Write; // ��ʱδ����
Data_Mileage_Wakeup_Init(DataMilleageBuf, &Func); Data_Mileage_Wakeup_Init(DataMilleageBuf, &Func);
Data_ODO_Wakeup_Init(DataODOBuf, Func.EEPromWrite_Cbk); Data_ODO_Wakeup_Init(DataODOBuf, Func.EEPromWrite_Cbk);
//Data_Trip_Wakeup_Init(DataTripBuf, EM_TRIP_MAX, Func.EEPromWrite_Cbk); Data_Trip_Wakeup_Init(DataTripBuf, EM_TRIP_MAX, Func.EEPromWrite_Cbk);
Milleage_InitFlag = 0X5AA53AA3UL;
}
uint32_t Get_MileageInit_Status(void)
{
return Milleage_InitFlag;
} }
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)
{ {
switch (u16BlockID) switch (u16BlockID)
...@@ -162,8 +151,6 @@ static uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], u ...@@ -162,8 +151,6 @@ static uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], u
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)
{ {
// uint8_t i = 0u;
switch (BlockID) switch (BlockID)
{ {
case EM_MILEAGE_BLOCK: case EM_MILEAGE_BLOCK:
...@@ -196,7 +183,7 @@ void Services_Mileage_Callback(void) ...@@ -196,7 +183,7 @@ void Services_Mileage_Callback(void)
{ {
Data_Mileage_ISR(); Data_Mileage_ISR();
Data_ODO_Processing(); Data_ODO_Processing();
//Data_Trip_Processing(); Data_Trip_Processing();
Trip_Clear_Km_Service(); Trip_Clear_Km_Service();
} }
...@@ -207,18 +194,18 @@ void Services_Mileage_Callback(void) ...@@ -207,18 +194,18 @@ void Services_Mileage_Callback(void)
uint32_t Get_ODO_Value(void) uint32_t Get_ODO_Value(void)
{ {
uint32_t ODO = 0; uint32_t ODO = 0;
if (Get_Dis_Unit() == 0) /* 公制 */ // if (Get_Dis_Unit() == 0) /* 公制 */
{ // {
ODO = Data_ODO_Read(); // ODO = Data_ODO_Read();
} // }
else if (Get_Dis_Unit() == 1) /* 英制 */ // else if (Get_Dis_Unit() == 1) /* 英制 */
{ // {
ODO = Data_Km_To_Mile(Data_ODO_Read()); // ODO = Data_Km_To_Mile(Data_ODO_Read());
} // }
else /* 无效值,按照公里处理,理论上不会执行到这 */ // else /* 无效值,按照公里处理,理论上不会执行到这 */
{ // {
ODO = Data_ODO_Read(); // ODO = Data_ODO_Read();
} // }
return ODO; return ODO;
} }
...@@ -229,34 +216,34 @@ uint32_t Get_ODO_Value(void) ...@@ -229,34 +216,34 @@ uint32_t Get_ODO_Value(void)
uint32_t Get_Trip_Value(void) uint32_t Get_Trip_Value(void)
{ {
uint32_t Trip = 0; uint32_t Trip = 0;
if (Get_Dis_Unit() == 0) /* 公制 */ // if (Get_Dis_Unit() == 0) /* 公制 */
{ // {
Trip = Data_Read_Trip(EM_TRIP_A); // Trip = Data_Read_Trip(EM_TRIP_A);
} // }
else if (Get_Dis_Unit() == 1) /* 英制 */ // else if (Get_Dis_Unit() == 1) /* 英制 */
{ // {
Trip = Data_Km_To_Mile(Data_Read_Trip(EM_TRIP_A)); // Trip = Data_Km_To_Mile(Data_Read_Trip(EM_TRIP_A));
} // }
else /* 无效值,按照公里处理,理论上不会执行到这 */ // else /* 无效值,按照公里处理,理论上不会执行到这 */
{ // {
Trip = Data_Read_Trip(EM_TRIP_A); // Trip = Data_Read_Trip(EM_TRIP_A);
} // }
return Trip; return Trip;
} }
uint32_t testtrip = 0;
/** /**
* @brief 当前单位在KM时,小计里程大于999.9KM,主动触发小计清零 * @brief 当前单位在KM时,小计里程大于999.9KM,主动触发小计清零
* *
*/ */
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();
} // }
} // }
} }
......
...@@ -44,6 +44,7 @@ static void Power_KL30_Init(void) ...@@ -44,6 +44,7 @@ static void Power_KL30_Init(void)
loc_config.pfnUARTConfirmCallBack = NULL; loc_config.pfnUARTConfirmCallBack = NULL;
loc_config.pfnUARTReadMsgCallBack = Amt630hUartRecvData; loc_config.pfnUARTReadMsgCallBack = Amt630hUartRecvData;
RTE_UART_Init(UART_CH2, &loc_config); RTE_UART_Init(UART_CH2, &loc_config);
Common_DataInit();
Analog_Signal_Conv_Init(); Analog_Signal_Conv_Init();
Sys_KL30_Init(); Sys_KL30_Init();
Data_Vehicle_Speed_KL30_Wakeup_Init(); Data_Vehicle_Speed_KL30_Wakeup_Init();
...@@ -58,7 +59,7 @@ static void Power_KL30_Init(void) ...@@ -58,7 +59,7 @@ static void Power_KL30_Init(void)
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;
g_stRTCInformation.u8RTCHour = 0; g_stRTCInformation.u8RTCHour = 8;
g_stRTCInformation.u8RTCDayOfMonth = 1; g_stRTCInformation.u8RTCDayOfMonth = 1;
g_stRTCInformation.u8RTCMonth = 1; g_stRTCInformation.u8RTCMonth = 1;
g_stRTCInformation.u8RTCYear = 20; g_stRTCInformation.u8RTCYear = 20;
...@@ -66,11 +67,12 @@ static void Power_KL30_Init(void) ...@@ -66,11 +67,12 @@ static void Power_KL30_Init(void)
Menu_User_Init(); Menu_User_Init();
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);
} }
static void Power_Wakeup_Init(void) static void Power_Wakeup_Init(void)
{ {
Common_DataInit();
Gpio_Init(Gpio_WakeUp_Init); Gpio_Init(Gpio_WakeUp_Init);
eeprom_StoreInfo_Init(); eeprom_StoreInfo_Init();
Analog_Signal_Conv_Init(); Analog_Signal_Conv_Init();
...@@ -90,7 +92,7 @@ static void Power_Wakeup_Init(void) ...@@ -90,7 +92,7 @@ static void Power_Wakeup_Init(void)
Menu_User_WAKEUP(); Menu_User_WAKEUP();
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);
} }
static void Power_LVP_Init(void) static void Power_LVP_Init(void)
...@@ -105,6 +107,7 @@ static void Power_OVP_Init(void) ...@@ -105,6 +107,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);
} }
static void Power_IG_ON_Init(void) static void Power_IG_ON_Init(void)
...@@ -113,6 +116,7 @@ static void Power_IG_ON_Init(void) ...@@ -113,6 +116,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();
RTE_GPIO_Set_Level(Blacklight_PWM, 1);
} }
static void Power_Sleep_Init(void) static void Power_Sleep_Init(void)
...@@ -126,7 +130,10 @@ static void Power_Sleep_Init(void) ...@@ -126,7 +130,10 @@ static void Power_Sleep_Init(void)
Gpio_Init(Gpio_Sleep_Init); Gpio_Init(Gpio_Sleep_Init);
AMT630H_Sleep(); AMT630H_Sleep();
Analog_Signal_Conv_Stop(); Analog_Signal_Conv_Stop();
RTE_DEEPSLEEP_Enable(); if (RTE_GPIO_Get_Level(KL15_AD_IN) == 0)/* KL15 */
{
RTE_DEEPSLEEP_Enable();
}
} }
static Power_Status_em Power_Stay_ON(void) static Power_Status_em Power_Stay_ON(void)
...@@ -164,9 +171,9 @@ static Power_Status_em Power_Stay_OFF(void) ...@@ -164,9 +171,9 @@ static Power_Status_em Power_Stay_OFF(void)
else else
{ {
//igoff大于1s且下15电才进休眠,否则一直保持在igoff状态 //igoff大于1s且下15电才进休眠,否则一直保持在igoff状态
if(Sys_Read_KL15_Voltage() < 5000) //if(Sys_Read_KL15_Voltage() < 5000)
{ {
u8PowerSts = EM_IGN_Sleep_Init; u8PowerSts = EM_IGN_Sleep_Init;
} }
} }
} }
...@@ -202,10 +209,10 @@ static Power_Status_em Power_Stay_Protect(void) ...@@ -202,10 +209,10 @@ static Power_Status_em Power_Stay_Protect(void)
} }
//进入异常电压,电源库里直接将15电等于0,则直接退出,状态是igoff,下15则进入休眠 //进入异常电压,电源库里直接将15电等于0,则直接退出,状态是igoff,下15则进入休眠
if ( SYS_OPR_STAT_IGN_OFF ) // if ( SYS_OPR_STAT_IGN_OFF )
{ // {
break; // break;
} // }
} }
} }
......
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
#define u16Base_Vol 0u #define u16Base_Vol 0u
#define u16ENTER_LOW_N_RANGE 7000U #define u16ENTER_LOW_N_RANGE 7000U
#define u16EXIT_LOW_N_RANGE 7500U #define u16EXIT_LOW_N_RANGE 8000U
#define u16ENTER_LOW_Y_RANGE 9000U #define u16ENTER_LOW_Y_RANGE 9000U
#define u16EXIT_LOW_Y_RANGE 10000U #define u16EXIT_LOW_Y_RANGE 10000U
#define u16EXIT_HIGH_Y_RANGE 0xffffu #define u16EXIT_HIGH_Y_RANGE 15000U
#define u16ENTER_HIGH_Y_RANGE 0xffffu #define u16ENTER_HIGH_Y_RANGE 16000U
#define u16EXIT_HIGH_N_RANGE 0xffffu #define u16EXIT_HIGH_N_RANGE 18000U
#define u16ENTER_HIGH_N_RANGE 0xffffu #define u16ENTER_HIGH_N_RANGE 19000U
#define u16Top_Vol 0xffffu #define u16Top_Vol 0xffffu
...@@ -35,7 +35,7 @@ static const monitorlib_uint16_t SysFun_Range [ 26u ] = { ...@@ -35,7 +35,7 @@ static const monitorlib_uint16_t SysFun_Range [ 26u ] = {
u16ENTER_HIGH_N_RANGE, u16ENTER_HIGH_N_RANGE,
u16Top_Vol, u16Top_Vol,
2500, 500,
50u, 50u,
u16Base_Vol, u16Base_Vol,
......
...@@ -102,7 +102,7 @@ void RTC_SetTime(RTC_TimeTypeDef* RTC_TimeStruct) ...@@ -102,7 +102,7 @@ void RTC_SetTime(RTC_TimeTypeDef* RTC_TimeStruct)
RTC->RTCC1 |= RTC_RTCC1_RWAIT_Msk; // stops SEC to YEAR counters. Mode to read or write counter value RTC->RTCC1 |= RTC_RTCC1_RWAIT_Msk; // stops SEC to YEAR counters. Mode to read or write counter value
RTC->HOUR |= RTC_ByteToBcd2(RTC_TimeStruct->RTC_Hours); RTC->HOUR = RTC_ByteToBcd2(RTC_TimeStruct->RTC_Hours);
RTC->MIN = RTC_ByteToBcd2(RTC_TimeStruct->RTC_Minutes); RTC->MIN = RTC_ByteToBcd2(RTC_TimeStruct->RTC_Minutes);
RTC->SEC = RTC_ByteToBcd2(RTC_TimeStruct->RTC_Seconds); RTC->SEC = RTC_ByteToBcd2(RTC_TimeStruct->RTC_Seconds);
if(RTC_TimeStruct->RTC_Hours >12) if(RTC_TimeStruct->RTC_Hours >12)
......
...@@ -49,9 +49,24 @@ void Sys_50ms_Tasks(void) ...@@ -49,9 +49,24 @@ void Sys_50ms_Tasks(void)
{ {
Telltales_Management(); Telltales_Management();
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)
// {
// MenuData.Dis_Hour_Tenb = 2;
// MenuData.Dis_Hour_Bit = 3;
// }
// if((MenuData.Dis_Minute_Tenb*10 + MenuData.Dis_Minute_Bit) > 59)
// {
// MenuData.Dis_Minute_Tenb = 5;
// MenuData.Dis_Minute_Bit = 9;
// }
}
uint32_t ODOtest = 0;
uint32_t Triptest = 0;
uint32_t aaa = 0;
void Sys_100ms_Tasks(void) void Sys_100ms_Tasks(void)
{ {
...@@ -60,9 +75,10 @@ void Sys_100ms_Tasks(void) ...@@ -60,9 +75,10 @@ void Sys_100ms_Tasks(void)
Fuel_Cal_Sevice(100u); Fuel_Cal_Sevice(100u);
Coolant_Cal_Sevice(100u); Coolant_Cal_Sevice(100u);
Services_Mileage_Callback(); Services_Mileage_Callback();
RTE_GPIO_Set_Level(Blacklight_PWM, 1);
RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_High); RTE_GPIO_Config(RTE_GPIO_PORT05_PIN04, GpioOut_High);
// aaa = Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO);
} }
static uint16_t task_2ms = 0u; static uint16_t task_2ms = 0u;
void Sys_Exact_50us_Tasks(void) 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