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
2e05216e
Commit
2e05216e
authored
Aug 13, 2024
by
时昊
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'shihao' into 'dev'
Shihao See merge request
!33
parents
a6b11402
68146ff4
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
185 additions
and
96 deletions
+185
-96
BackLight.c
Firmware/Source/Application/BackLight.c
+101
-1
GpioUser.c
Firmware/Source/Application/GpioUser.c
+1
-1
AMT630H_Datas.c
Firmware/Source/Component/AMT630H/AMT630H_Datas.c
+2
-0
Analog_Signals.c
Firmware/Source/Component/Analog/Analog_Signals.c
+7
-2
Analog_Signals.h
Firmware/Source/Component/Analog/Analog_Signals.h
+4
-2
Services_Mileage_User.c
Firmware/Source/Component/Mileage/Services_Mileage_User.c
+32
-32
PowerManag_user.c
Firmware/Source/Component/PowerManagement/PowerManag_user.c
+5
-5
TrmerM.c
...are/Source/Device/Cmsemicon/BAT32A279/RTE/TrmerM/TrmerM.c
+32
-53
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+1
-0
No files found.
Firmware/Source/Application/BackLight.c
View file @
2e05216e
...
...
@@ -7,6 +7,16 @@
#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
{
Light_uint16_t
Temperature
;
/* 温度 */
...
...
@@ -47,6 +57,96 @@ _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
(
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
;
}
}
else
{
if
(
LightR
<
20
)
{
LightR_Status_Count
++
;
}
else
{
LightR_Status_Count
=
0
;
}
}
if
(
LightR_Status_Count
>=
150
)
{
LightR_Status_Count
=
0
;
LightR_Status
=
!
LightR_Status
;
}
}
}
Light_uint16_t
GetBacklightDutyByLevel
(
Light_uint16_t
level
)
...
...
@@ -409,6 +509,6 @@ void BackLight_Process(void)
}
else
{
;
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
BACK_LIGHT_Val_4
)
;
}
}
Firmware/Source/Application/GpioUser.c
View file @
2e05216e
...
...
@@ -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_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_PIN02
,
GpioOut_Low
);
//TXD-ESP-IN-MCU
RTE_GPIO_Config
(
RTE_GPIO_PORT01_PIN03
,
RTE_GPIO_DIR_IN
);
...
...
Firmware/Source/Component/AMT630H/AMT630H_Datas.c
View file @
2e05216e
...
...
@@ -3402,6 +3402,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
SetPagePic
(
GRAPHICS_PAGE_0
,
Pic_0861_91_324
);
/*单位mile*/
}
}
DisplayNum
(
GRAPHICS_PAGE_0
,
&
DisplayNumPara
,
Tripnumber
);
}
else
if
(
g_u8Display_Mode
==
ModeNIGHT
)
{
...
...
@@ -3457,6 +3458,7 @@ static void AMT630H_GUI_Trip(uint32_t Trip, uint8_t Uint)
SetPagePic
(
GRAPHICS_PAGE_0
,
Pic_0863_91_324
);
/*单位mile*/
}
}
DisplayNum
(
GRAPHICS_PAGE_0
,
&
DisplayNumPara
,
Tripnumber
);
}
}
...
...
Firmware/Source/Component/Analog/Analog_Signals.c
View file @
2e05216e
...
...
@@ -74,7 +74,7 @@ ADC_Data_st_t stADCData[ADC_SIGNAL_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
]
=
...
...
@@ -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
,},
{
3U
,
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
]
=
...
...
@@ -93,6 +96,8 @@ const __attribute__((aligned(4))) ADC_Res_List_st_t stADCResList[ADC_SIGNAL_CH_N
{
0U
,
0U
,
0U
,
0U
,},
{
0U
,
0U
,
500U
,
300U
,},
{
0U
,
0U
,
500U
,
0U
,},
{
47000U
,
0U
,
100000U
,
0U
,},
{
0U
,
0U
,
500U
,
0U
,},
};
/* Private function prototypes ----------------------------------------------*/
...
...
@@ -170,7 +175,7 @@ void Analog_Signal_Conv_Service(void)
if
(
stADCCtrl
.
u8DebounceCnt
==
0U
)
{
stADCCtrl
.
enStatus
=
ADC_STAT_CONV
;
stADCCtrl
.
enStatus
=
ADC_STAT_CONV
;
}
else
{
...
...
Firmware/Source/Component/Analog/Analog_Signals.h
View file @
2e05216e
...
...
@@ -33,11 +33,13 @@ enum ADCChName
ADC_CH_FUEL_VREF
,
ADC_CH_FUEL1
,
ADC_CH_COOLANT_TEMP1_R
,
ADC_CH_NTC_TEMP
,
ADC_CH_LIGHT_SENSITIVE
,
};
/* Exported macro ------------------------------------------------------------*/
#define ADC_TOTAL_CH_NUMBER (
5
U)
#define ADC_SIGNAL_CH_NUMBER (
5
U)
#define ADC_TOTAL_CH_NUMBER (
7
U)
#define ADC_SIGNAL_CH_NUMBER (
7
U)
#define ADC_REF_VOLTAGE u16ADCRefVoltage
/* Exported variables --------------------------------------------------------*/
...
...
Firmware/Source/Component/Mileage/Services_Mileage_User.c
View file @
2e05216e
...
...
@@ -75,7 +75,7 @@ void Data_User_Mileage_KL30Init(void)
{
ODOInit
.
Offset
=
TempBuf
[
2
];
}
ODOInit
.
MaxValue
=
16103058
;
ODOInit
.
MaxValue
=
9999999
;
Data_ODO_KL30_Init
(
DataODOBuf
,
&
ODOInit
,
Func
.
EEPromWrite_Cbk
);
(
void
)
Data_User_EEPROM_Read
(
EM_TRIP_BLOCK
,
TempBuf
+
3
,
8
);
...
...
@@ -194,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
;
}
...
...
@@ -216,18 +216,18 @@ 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
;
}
...
...
@@ -237,13 +237,13 @@ uint32_t Get_Trip_Value(void)
*/
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 @
2e05216e
...
...
@@ -56,7 +56,7 @@ static void Power_KL30_Init(void)
Fuel_KL30_Init
();
Amt630hInit
();
Telltales_Init
();
TimerM_PWM_counter_Output_Init
(
TIMERM_COUNTER1
,
4
00
,
64000000
);
TimerM_PWM_counter_Output_Init
(
TIMERM_COUNTER1
,
200
00
,
64000000
);
TimerM_PWM_CH_Output_init
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
ActiveLevel_High
);
g_stRTCInformation
.
u8RTCSecond
=
0
;
g_stRTCInformation
.
u8RTCMinute
=
0
;
...
...
@@ -68,7 +68,7 @@ static void Power_KL30_Init(void)
Menu_User_Init
();
Can_Init
();
Protocol_KL30_Wakeup_Init
();
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
1
00
);
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
5
00
);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable
(
KL15_AD_IN
,
Trigger_Rising
);
FaultCode_Init
();
}
...
...
@@ -88,7 +88,7 @@ static void Power_Wakeup_Init(void)
Line_In_KL15_ON_Init
();
Fuel_KL30_Init
();
Amt630hInit
();
TimerM_PWM_counter_Output_Init
(
TIMERM_COUNTER1
,
4
00
,
64000000
);
TimerM_PWM_counter_Output_Init
(
TIMERM_COUNTER1
,
200
00
,
64000000
);
TimerM_PWM_CH_Output_init
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
ActiveLevel_High
);
Telltales_Init
();
Key_KL30_Init_EXample
();
...
...
@@ -120,13 +120,13 @@ 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
);
//
RTE_GPIO_Set_Level(Blacklight_PWM, 1);
FaultCode_Init
();
}
static
void
Power_Sleep_Init
(
void
)
{
TimerM_PWM_counter_Output_Init
(
TIMERM_COUNTER1
,
4
00
,
0
);
TimerM_PWM_counter_Output_Init
(
TIMERM_COUNTER1
,
200
00
,
0
);
rte_can_deinit
(
CAN_CH_0
);
TMM0_Stop
();
TMM1_Stop
();
...
...
Firmware/Source/Device/Cmsemicon/BAT32A279/RTE/TrmerM/TrmerM.c
View file @
2e05216e
This diff is collapsed.
Click to expand it.
Firmware/Source/System/Sys_Task_List.c
View file @
2e05216e
...
...
@@ -40,6 +40,7 @@ void Sys_10ms_Tasks(void)
Key_TimeOut_Service
();
Fuel_R_Cal
(
10u
);
Coolant_R_Cal
(
10u
);
Data_Light_Res_service
(
10
);
}
void
Sys_20ms_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