Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
haoJin750TFT
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
时昊
haoJin750TFT
Commits
bec262aa
Commit
bec262aa
authored
Aug 03, 2024
by
时昊
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'shihao' into 'dev'
Shihao See merge request
!15
parents
9c4f7904
0f48294b
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
177 additions
and
127 deletions
+177
-127
system_BAT32A279.c
...279/MDK_ARM/RTE/Device/BAT32A279KM64FB/system_BAT32A279.c
+1
-1
CommonInterface.c
Firmware/Source/Application/CommonInterface.c
+0
-15
CommonInterface.h
Firmware/Source/Application/CommonInterface.h
+1
-1
Data_VSpeed.c
Firmware/Source/Application/Data_VSpeed.c
+4
-4
AMT630H_Datas.c
Firmware/Source/Component/AMT630H/AMT630H_Datas.c
+5
-5
Key_user.c
Firmware/Source/Component/Key/Key_user.c
+15
-15
Menu_Interface.c
Firmware/Source/Component/Menu/Menu_Interface.c
+60
-5
Services_Mileage_User.c
Firmware/Source/Component/Mileage/Services_Mileage_User.c
+48
-61
PowerManag_user.c
Firmware/Source/Component/PowerManagement/PowerManag_user.c
+17
-10
System_Monitor_User.c
...are/Source/Component/System_Monitor/System_Monitor_User.c
+6
-6
rtc.c
...ource/Device/Cmsemicon/BAT32A279/Library/Driver/src/rtc.c
+1
-1
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+19
-3
No files found.
Firmware/Project/Cmsemicon/BAT32A279/MDK_ARM/RTE/Device/BAT32A279KM64FB/system_BAT32A279.c
View file @
bec262aa
...
...
@@ -94,7 +94,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR
// </e>
// </e>
// </h>
0x
EF
,
0x
7E
,
/**
* @brief LVD Control BYTE (C1H)
...
...
Firmware/Source/Application/CommonInterface.c
View file @
bec262aa
...
...
@@ -29,7 +29,6 @@ void Common_DataInit(void)
PowerIgnOnTimeLine
=
0x0ul
;
PowerIgnOffTimeLine
=
0x0ul
;
PowerSocTimeLine
=
0x0ul
;
// u16SelfCheckTime = DisplaySelfCheckTime;
}
/*以下由各个处理模块按需调用*/
...
...
@@ -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
;
}
Firmware/Source/Application/CommonInterface.h
View file @
bec262aa
...
...
@@ -70,7 +70,7 @@ extern uint16_t Common_Get_DispSpeed(void);
extern
uint32_t
Common_GetIgnOnTime
(
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
);
...
...
Firmware/Source/Application/Data_VSpeed.c
View file @
bec262aa
...
...
@@ -3,10 +3,10 @@
#include "Components.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
static
uint16_t
DataVSpeedActual
;
static
uint16_t
DataVSpeedDisp
;
static
uint16_t
DataVSpeedHysteresis
;
static
uint8_t
DataVSpeedValid
;
uint16_t
DataVSpeedActual
;
uint16_t
DataVSpeedDisp
;
uint16_t
DataVSpeedHysteresis
;
uint8_t
DataVSpeedValid
;
// static uint16_t DataVSpeedDisp_Mile;
static
DataVSpeedSamplerStruct
DataVSpeedSampler
;
static
DataVSPeedDampingStruct
DataVSPeedDamping
;
...
...
Firmware/Source/Component/AMT630H/AMT630H_Datas.c
View file @
bec262aa
...
...
@@ -3170,23 +3170,23 @@ void AMT630H_GUI_ReadPosittion_Display(void)
break
;
case
MENU_ITEM_CLOCK_HOUR_TENB
:
/*20 时钟小时十位*/
AMT630H_GUI_SETTING
();
AMT630H_GUI_Clock_Setting
(
12
,
13
,
1
);
AMT630H_GUI_Clock_Setting
(
Get_Dis_Hour_Time
(),
Get_Dis_Minute_Time
()
,
1
);
break
;
case
MENU_ITEM_CLOCK_HOUR_BIT
:
/*19 时钟小时个位*/
AMT630H_GUI_SETTING
();
AMT630H_GUI_Clock_Setting
(
12
,
13
,
2
);
AMT630H_GUI_Clock_Setting
(
Get_Dis_Hour_Time
(),
Get_Dis_Minute_Time
()
,
2
);
break
;
case
MENU_ITEM_CLOCK_MIN_TENB
:
/*18 时钟分钟十位*/
AMT630H_GUI_SETTING
();
AMT630H_GUI_Clock_Setting
(
12
,
13
,
3
);
AMT630H_GUI_Clock_Setting
(
Get_Dis_Hour_Time
(),
Get_Dis_Minute_Time
()
,
3
);
break
;
case
MENU_ITEM_CLOCK_MIN_BIT
:
/*17 时钟分钟个位*/
AMT630H_GUI_SETTING
();
AMT630H_GUI_Clock_Setting
(
12
,
13
,
4
);
AMT630H_GUI_Clock_Setting
(
Get_Dis_Hour_Time
(),
Get_Dis_Minute_Time
()
,
4
);
break
;
case
MENU_ITEM_CLOCK_BACK
:
/*16 时钟返回*/
AMT630H_GUI_SETTING
();
AMT630H_GUI_Clock_Setting
(
12
,
13
,
5
);
AMT630H_GUI_Clock_Setting
(
Get_Dis_Hour_Time
(),
Get_Dis_Minute_Time
()
,
5
);
break
;
case
MENU_ITEM_UNIT_SETTING
:
/*21 单位设置*/
AMT630H_GUI_SETTING
();
...
...
Firmware/Source/Component/Key/Key_user.c
View file @
bec262aa
...
...
@@ -55,7 +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
();
//
TYW_RESET_ODO();
break
;
case
KEY_EVENT_OFF_TO_ON
:
break
;
...
...
@@ -311,10 +311,10 @@ void TYW_RESET_ODO(void)
{
if
(
ClearODO_Flag
<
1
)
{
if
((
Get_DispVechileSpeed
()
>=
199
0
)
&&
(
Get_DispEngineSpeed
()
>=
12000
))
if
((
Get_DispVechileSpeed
()
>=
150
0
)
&&
(
Get_DispEngineSpeed
()
>=
12000
))
{
ClearODO_Flag
=
1
;
Data_Mileage_Clear
();
//
Data_Mileage_Clear();
}
}
}
...
...
Firmware/Source/Component/Menu/Menu_Interface.c
View file @
bec262aa
...
...
@@ -5,6 +5,8 @@
/*-------------------Logic_Operation Call Back---------------------*/
uint8_t
g_u8Cursor_Posittion
;
extern
_Menu_Data
MenuData
;
extern
RTC_CounterTypeDef
counter_val
;
void
Menu_Logic_Operation_MAIN_ITEM
(
Menu_Key_en_t
enKeyType
);
void
Menu_Logic_Operation_Display_Mode
(
Menu_Key_en_t
enKeyType
);
...
...
@@ -324,21 +326,38 @@ void Menu_Logic_Operation_Bluetooth_Back(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
)
{
// 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
)
{
// 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
)
{
// 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);
}
...
...
@@ -352,6 +371,12 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType)
uint8_t
updataDir
=
0u
;
uint8_t
datmax
=
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
)
{
updataDir
=
1
;
...
...
@@ -359,6 +384,13 @@ void Menu_Logic_Operation_Clock_Hour_Tenb_Set(Menu_Key_en_t enKeyType)
datmin
=
0u
;
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
)
{
...
...
@@ -372,6 +404,13 @@ void Menu_Logic_Operation_Clock_Hour_Bit_Set(Menu_Key_en_t enKeyType)
datmin
=
0u
;
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
)
...
...
@@ -386,6 +425,13 @@ void Menu_Logic_Operation_Clock_Min_Tenb_Set(Menu_Key_en_t enKeyType)
datmin
=
0u
;
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
)
...
...
@@ -400,6 +446,13 @@ void Menu_Logic_Operation_Clock_Min_Bit_Set(Menu_Key_en_t enKeyType)
datmin
=
0u
;
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
)
...
...
@@ -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
)
{
//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
)
...
...
Firmware/Source/Component/Mileage/Services_Mileage_User.c
View file @
bec262aa
...
...
@@ -7,7 +7,7 @@
__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
DataTripBuf
[
Data_MEM_Block_Trip
*
EM_TRIP_MAX
];
Mileage_t
g_WriteMileage
;
...
...
@@ -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
void
Data_User_EEPROM_Write
(
Data_EEPROM_Enum_t
BlockID
,
uint32_t
u32Data
[],
uint16_t
u16Len
);
#define EEPROM_BLOCK_00 0X00
#define EEPROM_BLOCK_01 0X16
#define EEPROM_BLOCK_02 0X32
#define EEPROM_BLOCK_03 0X48
#define EEPROM_BLOCK_04 0X64
#define EEPROM_BLOCK_05 0X80
#define EEPROM_BLOCK_06 0X90
uint32_t
Milleage_InitFlag
=
0U
;
#define EEPROM_BLOCK_00 0
#define EEPROM_BLOCK_01 16
#define EEPROM_BLOCK_02 32
#define EEPROM_BLOCK_03 48
#define EEPROM_BLOCK_04 64
#define EEPROM_BLOCK_05 80
#define EEPROM_BLOCK_06 96
...
...
@@ -42,10 +40,8 @@ void Data_User_Mileage_KL30Init(void)
Mileage_Init_t
MileInit
=
{
0
};
Mileage_Func_t
Func
=
{
0
};
ODO_Init_t
ODOInit
=
{
0
};
// EngODO_Init_t EngODOInit = {0};
Trip_Init_t
TripInit
[
4
]
=
{
0
};
Milleage_InitFlag
=
0U
;
// �������ݴ�EEPROM�ж�ȡ
(
void
)
Data_User_EEPROM_Read
(
EM_MILEAGE_BLOCK
,
TempBuf
,
1
);
if
(
TempBuf
[
0
]
==
0xFFFFFFFF
)
{
...
...
@@ -57,9 +53,9 @@ void Data_User_Mileage_KL30Init(void)
}
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
=
Common_Get_Act_V_Speed
_Limit
;
Func
.
Get_Act_V_Speed
=
Common_Get_Act_V_Speed
;
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
);
(
void
)
Data_User_EEPROM_Read
(
EM_ODO_BLOCK
,
TempBuf
+
1
,
2
);
...
...
@@ -92,7 +88,7 @@ void Data_User_Mileage_KL30Init(void)
TripInit
[
EM_TRIP_A
].
Stamp
=
TempBuf
[
3
];
}
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_B
].
Stamp
=
0xFFFFFFFFu
;
...
...
@@ -108,33 +104,26 @@ void Data_User_Mileage_KL30Init(void)
TripInit
[
EM_TRIP_D
].
IsRestart
=
1u
;
Data_Trip_KL30_Init
(
DataTripBuf
,
TripInit
,
EM_TRIP_MAX
,
Func
.
EEPromWrite_Cbk
);
Milleage_InitFlag
=
0X5AA53AA3UL
;
}
void
Data_User_Mileage_WakeupInit
(
void
)
{
Mileage_Func_t
Func
=
{
0
};
Milleage_InitFlag
=
0U
;
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
=
Common_Get_Act_V_Speed
_Limit
;
Func
.
Get_Act_V_Speed
=
Common_Get_Act_V_Speed
;
Func
.
Get_TireSize
=
(
void
*
)
0
;
Func
.
EEPromWrite_Cbk
=
Data_User_EEPROM_Write
;
// ��ʱδ����
Data_Mileage_Wakeup_Init
(
DataMilleageBuf
,
&
Func
);
Data_ODO_Wakeup_Init
(
DataODOBuf
,
Func
.
EEPromWrite_Cbk
);
//Data_Trip_Wakeup_Init(DataTripBuf, EM_TRIP_MAX, Func.EEPromWrite_Cbk);
Milleage_InitFlag
=
0X5AA53AA3UL
;
}
Data_Trip_Wakeup_Init
(
DataTripBuf
,
EM_TRIP_MAX
,
Func
.
EEPromWrite_Cbk
);
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
)
{
switch
(
u16BlockID
)
...
...
@@ -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
)
{
// uint8_t i = 0u;
switch
(
BlockID
)
{
case
EM_MILEAGE_BLOCK
:
...
...
@@ -196,7 +183,7 @@ void Services_Mileage_Callback(void)
{
Data_Mileage_ISR
();
Data_ODO_Processing
();
//
Data_Trip_Processing();
Data_Trip_Processing
();
Trip_Clear_Km_Service
();
}
...
...
@@ -207,18 +194,18 @@ void Services_Mileage_Callback(void)
uint32_t
Get_ODO_Value
(
void
)
{
uint32_t
ODO
=
0
;
if
(
Get_Dis_Unit
()
==
0
)
/* 公制 */
{
ODO
=
Data_ODO_Read
();
}
else
if
(
Get_Dis_Unit
()
==
1
)
/* 英制 */
{
ODO
=
Data_Km_To_Mile
(
Data_ODO_Read
());
}
else
/* 无效值,按照公里处理,理论上不会执行到这 */
{
ODO
=
Data_ODO_Read
();
}
//
if (Get_Dis_Unit() == 0) /* 公制 */
//
{
//
ODO = Data_ODO_Read();
//
}
//
else if (Get_Dis_Unit() == 1) /* 英制 */
//
{
//
ODO = Data_Km_To_Mile(Data_ODO_Read());
//
}
//
else /* 无效值,按照公里处理,理论上不会执行到这 */
//
{
//
ODO = Data_ODO_Read();
//
}
return
ODO
;
}
...
...
@@ -229,34 +216,34 @@ uint32_t Get_ODO_Value(void)
uint32_t
Get_Trip_Value
(
void
)
{
uint32_t
Trip
=
0
;
if
(
Get_Dis_Unit
()
==
0
)
/* 公制 */
{
Trip
=
Data_Read_Trip
(
EM_TRIP_A
);
}
else
if
(
Get_Dis_Unit
()
==
1
)
/* 英制 */
{
Trip
=
Data_Km_To_Mile
(
Data_Read_Trip
(
EM_TRIP_A
));
}
else
/* 无效值,按照公里处理,理论上不会执行到这 */
{
Trip
=
Data_Read_Trip
(
EM_TRIP_A
);
}
//
if (Get_Dis_Unit() == 0) /* 公制 */
//
{
//
Trip = Data_Read_Trip(EM_TRIP_A);
//
}
//
else if (Get_Dis_Unit() == 1) /* 英制 */
//
{
//
Trip = Data_Km_To_Mile(Data_Read_Trip(EM_TRIP_A));
//
}
//
else /* 无效值,按照公里处理,理论上不会执行到这 */
//
{
//
Trip = Data_Read_Trip(EM_TRIP_A);
//
}
return
Trip
;
}
uint32_t
testtrip
=
0
;
/**
* @brief 当前单位在KM时,小计里程大于999.9KM,主动触发小计清零
*
*/
void
Trip_Clear_Km_Service
(
void
)
{
if
(
Get_Dis_Unit
()
==
0
)
/* 公制 */
{
if
(
Data_Read_Trip
(
EM_TRIP_A
)
>
9999
)
/* 当前单位在KM时,里程大于999.9KM进行清零 */
{
Data_Clear_Trip_All
();
}
}
//
if (Get_Dis_Unit() == 0) /* 公制 */
//
{
//
if (Data_Read_Trip(EM_TRIP_A) > 9999) /* 当前单位在KM时,里程大于999.9KM进行清零 */
//
{
//
Data_Clear_Trip_All();
//
}
//
}
}
...
...
Firmware/Source/Component/PowerManagement/PowerManag_user.c
View file @
bec262aa
...
...
@@ -44,6 +44,7 @@ static void Power_KL30_Init(void)
loc_config
.
pfnUARTConfirmCallBack
=
NULL
;
loc_config
.
pfnUARTReadMsgCallBack
=
Amt630hUartRecvData
;
RTE_UART_Init
(
UART_CH2
,
&
loc_config
);
Common_DataInit
();
Analog_Signal_Conv_Init
();
Sys_KL30_Init
();
Data_Vehicle_Speed_KL30_Wakeup_Init
();
...
...
@@ -58,7 +59,7 @@ static void Power_KL30_Init(void)
TimerM_PWM_CH_Output_init
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
ActiveLevel_High
);
g_stRTCInformation
.
u8RTCSecond
=
0
;
g_stRTCInformation
.
u8RTCMinute
=
0
;
g_stRTCInformation
.
u8RTCHour
=
0
;
g_stRTCInformation
.
u8RTCHour
=
8
;
g_stRTCInformation
.
u8RTCDayOfMonth
=
1
;
g_stRTCInformation
.
u8RTCMonth
=
1
;
g_stRTCInformation
.
u8RTCYear
=
20
;
...
...
@@ -66,11 +67,12 @@ static void Power_KL30_Init(void)
Menu_User_Init
();
Can_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
)
{
Common_DataInit
();
Gpio_Init
(
Gpio_WakeUp_Init
);
eeprom_StoreInfo_Init
();
Analog_Signal_Conv_Init
();
...
...
@@ -90,7 +92,7 @@ static void Power_Wakeup_Init(void)
Menu_User_WAKEUP
();
Can_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
)
...
...
@@ -105,6 +107,7 @@ static void Power_OVP_Init(void)
static
void
Power_IG_OFF_Init
(
void
)
{
Line_In_KL15_OFF_Init
();
RTE_GPIO_Set_Level
(
Blacklight_PWM
,
0
);
}
static
void
Power_IG_ON_Init
(
void
)
...
...
@@ -113,6 +116,7 @@ static void Power_IG_ON_Init(void)
Line_In_KL15_ON_Init
();
Telltales_KL15_Init
();
Fuel_KL15_Init
();
RTE_GPIO_Set_Level
(
Blacklight_PWM
,
1
);
}
static
void
Power_Sleep_Init
(
void
)
...
...
@@ -126,7 +130,10 @@ static void Power_Sleep_Init(void)
Gpio_Init
(
Gpio_Sleep_Init
);
AMT630H_Sleep
();
Analog_Signal_Conv_Stop
();
if
(
RTE_GPIO_Get_Level
(
KL15_AD_IN
)
==
0
)
/* KL15 */
{
RTE_DEEPSLEEP_Enable
();
}
}
static
Power_Status_em
Power_Stay_ON
(
void
)
...
...
@@ -164,7 +171,7 @@ static Power_Status_em Power_Stay_OFF(void)
else
{
//igoff大于1s且下15电才进休眠,否则一直保持在igoff状态
if
(
Sys_Read_KL15_Voltage
()
<
5000
)
//
if(Sys_Read_KL15_Voltage() < 5000)
{
u8PowerSts
=
EM_IGN_Sleep_Init
;
}
...
...
@@ -202,10 +209,10 @@ static Power_Status_em Power_Stay_Protect(void)
}
//进入异常电压,电源库里直接将15电等于0,则直接退出,状态是igoff,下15则进入休眠
if
(
SYS_OPR_STAT_IGN_OFF
)
{
break
;
}
//
if ( SYS_OPR_STAT_IGN_OFF )
//
{
//
break;
//
}
}
}
...
...
Firmware/Source/Component/System_Monitor/System_Monitor_User.c
View file @
bec262aa
...
...
@@ -5,14 +5,14 @@
#define u16Base_Vol 0u
#define u16ENTER_LOW_N_RANGE 7000U
#define u16EXIT_LOW_N_RANGE
75
00U
#define u16EXIT_LOW_N_RANGE
80
00U
#define u16ENTER_LOW_Y_RANGE 9000U
#define u16EXIT_LOW_Y_RANGE 10000U
#define u16EXIT_HIGH_Y_RANGE
0xffffu
#define u16ENTER_HIGH_Y_RANGE
0xffffu
#define u16EXIT_HIGH_N_RANGE
0xffffu
#define u16ENTER_HIGH_N_RANGE
0xffffu
#define u16EXIT_HIGH_Y_RANGE
15000U
#define u16ENTER_HIGH_Y_RANGE
16000U
#define u16EXIT_HIGH_N_RANGE
18000U
#define u16ENTER_HIGH_N_RANGE
19000U
#define u16Top_Vol 0xffffu
...
...
@@ -35,7 +35,7 @@ static const monitorlib_uint16_t SysFun_Range [ 26u ] = {
u16ENTER_HIGH_N_RANGE
,
u16Top_Vol
,
2
500
,
500
,
50u
,
u16Base_Vol
,
...
...
Firmware/Source/Device/Cmsemicon/BAT32A279/Library/Driver/src/rtc.c
View file @
bec262aa
...
...
@@ -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
->
HOUR
|
=
RTC_ByteToBcd2
(
RTC_TimeStruct
->
RTC_Hours
);
RTC
->
HOUR
=
RTC_ByteToBcd2
(
RTC_TimeStruct
->
RTC_Hours
);
RTC
->
MIN
=
RTC_ByteToBcd2
(
RTC_TimeStruct
->
RTC_Minutes
);
RTC
->
SEC
=
RTC_ByteToBcd2
(
RTC_TimeStruct
->
RTC_Seconds
);
if
(
RTC_TimeStruct
->
RTC_Hours
>
12
)
...
...
Firmware/Source/System/Sys_Task_List.c
View file @
bec262aa
...
...
@@ -49,9 +49,24 @@ void Sys_50ms_Tasks(void)
{
Telltales_Management
();
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
)
{
...
...
@@ -60,9 +75,10 @@ void Sys_100ms_Tasks(void)
Fuel_Cal_Sevice
(
100u
);
Coolant_Cal_Sevice
(
100u
);
Services_Mileage_Callback
();
RTE_GPIO_Set_Level
(
Blacklight_PWM
,
1
);
RTE_GPIO_Config
(
RTE_GPIO_PORT05_PIN04
,
GpioOut_High
);
// aaa = Menu_Item_Select_Get(MENU_ITEM_SELECT_AUTO);
}
static
uint16_t
task_2ms
=
0u
;
void
Sys_Exact_50us_Tasks
(
void
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment