Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
V
VC66_7C
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
ISUZU
VC66_7C
Commits
1990c6d8
Commit
1990c6d8
authored
May 03, 2022
by
hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整燃油库,调整燃油相关用法
parent
ef0694e5
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
99 additions
and
39 deletions
+99
-39
Data_Fuel_User.c
source/Application/APP/Data_Fuel/Data_Fuel_User.c
+47
-1
FuelConfig.h
source/Application/APP/Data_Fuel/FuelConfig.h
+52
-38
TruckFuel_RH850_V1.4.a
source/Application/APP/Data_Fuel/TruckFuel_RH850_V1.4.a
+0
-0
TruckFuel_RH850_V1.5.a
source/Application/APP/Data_Fuel/TruckFuel_RH850_V1.5.a
+0
-0
No files found.
source/Application/APP/Data_Fuel/Data_Fuel_User.c
View file @
1990c6d8
#include <stddef.h>
#include "Data_Fuel_User.h"
#include "FuelConfig.h"
#include "Common_Interface.h"
#include "RTE_ADC.h"
#include "GPIO.h"
#include "Services_ODO_User.h"
#include "TYW_stdint.h"
static
uint16_t
Fuel_CurSeg
;
static
uint16_t
Fuel_CyrStep
;
#pragma ghs section bss=".myNonInitArea"
uint8_t
FuelSaveData
[
1024
]
;
// = {0};
uint16_t
FuelSaveLen
;
// = 0;
uint8_t
DrivingRangeSaveData
[
1024
]
;
// = {0};
uint16_t
DrivingRangeSaveLen
;
// = 0;
#pragma ghs section bss=default
/*-------------------------------------------------------------------------
* Function Name : Fuel_User_KL30_Init
* Description :
...
...
@@ -20,9 +30,9 @@ void Fuel_User_KL30_Init(void)
{
Fuel_CurSeg
=
0u
;
Fuel_CyrStep
=
0u
;
FuelStruct
FuelInitPara
;
AFC_INIT
AFCInit
;
uint32_t
ODO_Value
=
0u
;
ODO_Value
=
Data_ODO_Read
();
...
...
@@ -53,6 +63,8 @@ void Fuel_User_KL30_Init(void)
AFCInit
.
CurODO
=
ODO_Value
*
100
;
/*总共里数100倍*/
AFCInit
.
MaxDRMileage
=
69900
;
/*续航里程最大值*/
SetFuelSaveData
(
FuelSaveData
,
FuelSaveLen
);
/*新增 ----20220503----*/
InitFuelParamter
(
&
FuelInitPara
);
InitAFC
(
&
AFCInit
);
...
...
@@ -64,6 +76,8 @@ void Fuel_User_KL30_Init(void)
SetFuelSensorRecoverGroupCnt
(
10
);
SetFuelSensorOpenCircuitGroupCnt
(
120
);
SetFuelSensorShortCircuitGroupCnt
(
120
);
SetDrivingRangeSaveData
(
DrivingRangeSaveData
,
DrivingRangeSaveLen
);
}
void
Fuel_User_KL15_ON_Init
(
void
)
{
...
...
@@ -74,9 +88,41 @@ void Fuel_User_KL15_OFF_Init(void)
}
void
Fuel_User_Wakeup_Init
(
void
)
{
/*每次唤醒都要调用 ----20220503----*/
SetFuelSaveData
(
FuelSaveData
,
FuelSaveLen
);
SetDrivingRangeSaveData
(
DrivingRangeSaveData
,
DrivingRangeSaveLen
);
}
void
*
memcpy_new
(
void
*
to
,
void
*
from
,
size_t
size
)
{
char
*
tempFrom
=
NULL
;
char
*
tempTo
=
NULL
;
//assert( to && from );
/*先转型为字符指针,字符为一个字节*/
tempFrom
=
(
char
*
)
from
;
tempTo
=
(
char
*
)
to
;
while
(
size
--
>
0
)
{
*
tempTo
++
=
*
tempFrom
++
;
}
return
to
;
}
void
Fuel_User_Sleep_Init
(
void
)
{
uint8_t
*
p
;
p
=
GetFuelSaveData
(
&
FuelSaveLen
);
if
(
FuelSaveLen
<
1024
)
{
memcpy_new
(
FuelSaveData
,
p
,
FuelSaveLen
);
}
p
=
GetDrivingRangeSaveData
(
&
DrivingRangeSaveLen
);
if
(
DrivingRangeSaveLen
<
1024
)
{
memcpy_new
(
DrivingRangeSaveData
,
p
,
DrivingRangeSaveLen
);
}
}
/*-------------------------------------------------------------------------
* Function Name : Fuel_User_KL15_ON_Processing_Service
...
...
source/Application/APP/Data_Fuel/FuelConfig.h
View file @
1990c6d8
...
...
@@ -42,7 +42,9 @@
#define FUEL_R_MIN_VAL 40u
/* 10 X ohm */
#define FUEL_R_MAX_VAL 3000u
/* 10 X ohm */
// Fuel Config
//Fuel Config
typedef
struct
_FuelStruct
{
uint16_t
FuelShortCircuitR
;
...
...
@@ -52,21 +54,23 @@ typedef struct _FuelStruct
}
FuelStruct
;
extern
void
InitFuelParamter
(
FuelStruct
*
para
);
extern
uint8_t
*
GetFuelLibVersion
(
void
);
extern
uint8_t
*
GetFuelSaveData
(
uint16_t
*
len
);
extern
void
SetFuelSaveData
(
uint8_t
*
data
,
uint16_t
len
);
extern
uint8_t
*
GetFuelLibVersion
(
void
);
extern
void
FuelFSM
(
uint16_t
FuelResistance
);
//
unit:ohm,accuracy:0.1
extern
void
FuelFSM
(
uint16_t
FuelResistance
);
//
unit:ohm,accuracy:0.1
extern
void
SetMaxFuelBlockNum
(
uint8_t
n
);
//
call after InitFuelParamter(),default 12,max 20
extern
void
SetMaxFuelBlockNum
(
uint8_t
n
);
//call after InitFuelParamter(),default 12,max 20
extern
void
SetFuelSensorRecoverGroupCnt
(
uint16_t
n
);
//
1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern
void
SetFuelSensorOpenCircuitGroupCnt
(
uint16_t
n
);
//
1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern
void
SetFuelSensorShortCircuitGroupCnt
(
uint16_t
n
);
//
1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern
void
SetFuelSensorRecoverGroupCnt
(
uint16_t
n
);
//
1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern
void
SetFuelSensorOpenCircuitGroupCnt
(
uint16_t
n
);
//
1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern
void
SetFuelSensorShortCircuitGroupCnt
(
uint16_t
n
);
//
1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern
void
SetPowerSt
(
uint8_t
n
);
extern
uint8_t
GetFuelSeg
(
void
);
//
Segment, range:0~8
extern
uint8_t
GetFuelStep
(
void
);
//
Pointer or Mono TFT stepless,range:0,10~((MaxFuelBlockNum + 1) * 10) 0,10:E, ((MaxFuelBlockNum + 1) * 10):F
extern
uint8_t
GetFuelSeg
(
void
);
//
Segment, range:0~8
extern
uint8_t
GetFuelStep
(
void
);
//Pointer or Mono TFT stepless,range:0,10~((MaxFuelBlockNum + 1) * 10) 0,10:E, ((MaxFuelBlockNum + 1) * 10):F
extern
uint16_t
GetFuelCapacityVal
(
void
);
//
unit:L,accuracy:0.1
extern
uint16_t
GetFuelCapacityVal
(
void
);
//unit:L,accuracy:0.1
enum
{
...
...
@@ -79,29 +83,32 @@ extern uint8_t GetFuelSensorState(void);
enum
{
FUEL_ST_IGN_ON_PROCESS
=
1
,
//
1
FUEL_ST_POWER_ON_ADD_FUEL
,
//
2
FUEL_ST_VEHICLE_RUN
,
//
3
FUEL_ST_IGN_OFF_PROCESS
,
//
4
FUEL_ST_IGN_OFF
,
//
5
FUEL_ST_IGN_ON_PROCESS
=
1
,
//
1
FUEL_ST_POWER_ON_ADD_FUEL
,
//2
FUEL_ST_VEHICLE_RUN
,
//3
FUEL_ST_IGN_OFF_PROCESS
,
//4
FUEL_ST_IGN_OFF
,
//5
};
extern
uint8_t
GetFuelFSM_St
(
void
);
extern
uint16_t
GetFuelResistance
(
void
);
// unit:ohm,accuracy:0.1
extern
uint16_t
GetFuelResistance
(
void
);
//unit:ohm,accuracy:0.1
extern
void
SetPowerDnStep
(
uint8_t
step
);
//call every ign on (after InitFuelParamter())
extern
uint8_t
GetPowerDnStep
(
void
);
//every 10km or ign off or refuel(FUEL_ST_POWER_ON_ADD_FUEL->FUEL_ST_VEHICLE_RUN) record
extern
void
SetPowerDnStep
(
uint8_t
step
);
// call every ign on (after InitFuelParamter())
extern
uint8_t
GetPowerDnStep
(
void
);
// every 10km or ign off or refuel(FUEL_ST_POWER_ON_ADD_FUEL->FUEL_ST_VEHICLE_RUN) record
// AFC & DrivingRange
typedef
struct
_AFC_INIT
{
uint8_t
CalcAFCMaxNum
;
//
max 100km,default 50
uint16_t
AFCMin
;
//
unit:L,accuracy:0.1
uint16_t
AFCMax
;
//
unit:L,accuracy:0.1
uint16_t
AFCPreinstall
;
//
unit:L,accuracy:0.1
uint32_t
CurODO
;
// unit:m,accuracy:1
uint32_t
MaxDRMileage
;
//
unit:km,accuracy:0.01
uint8_t
CalcAFCMaxNum
;
//
max 100km,default 50
uint16_t
AFCMin
;
//
unit:L,accuracy:0.1
uint16_t
AFCMax
;
//
unit:L,accuracy:0.1
uint16_t
AFCPreinstall
;
//
unit:L,accuracy:0.1
uint32_t
CurODO
;
// unit:m,accuracy:1
uint32_t
MaxDRMileage
;
//
unit:km,accuracy:0.01
}
AFC_INIT
;
extern
void
InitAFC
(
AFC_INIT
*
data
);
extern
uint8_t
*
GetDrivingRangeSaveData
(
uint16_t
*
len
);
extern
void
SetDrivingRangeSaveData
(
uint8_t
*
data
,
uint16_t
len
);
extern
void
ResetAFC
(
AFC_INIT
*
data
);
typedef
struct
_AFC_PARA
...
...
@@ -115,29 +122,36 @@ extern void SetAFCPara(AFC_PARA *data);
typedef
struct
_DAFC_PARA
{
uint32_t
DAFC_FuelConsumeSum
;
//
unit:ul (ul:m->ml:km->L:1000km)
uint32_t
DAFC_ODO
;
//
unit:m
uint32_t
DAFC_FuelConsumeSum
;
//
unit:ul (ul:m->ml:km->L:1000km)
uint32_t
DAFC_ODO
;
//
unit:m
}
DAFC_PARA
;
extern
void
DAFC_GetPowerDownPara
(
DAFC_PARA
*
data
);
//
call every 10km or ign off or reset afc
extern
void
DAFC_SetPowerDownPara
(
DAFC_PARA
*
data
);
//
call every KL30 OFF -> KL30 ON (after InitAFC())
extern
void
DAFC_GetPowerDownPara
(
DAFC_PARA
*
data
);
//
call every 10km or ign off or reset afc
extern
void
DAFC_SetPowerDownPara
(
DAFC_PARA
*
data
);
//
call every KL30 OFF -> KL30 ON (after InitAFC())
typedef
struct
_DR_PARA
{
uint32_t
DR_FuelConsumeSum
;
//
unit:ul (ul:m->ml:km->L:1000km)
uint32_t
DR_Mileage
;
//
unit:km,accuracy:0.01
uint32_t
DR_FuelConsumeSum
;
//
unit:ul (ul:m->ml:km->L:1000km)
uint32_t
DR_Mileage
;
//
unit:km,accuracy:0.01
}
DR_PARA
;
extern
void
DR_GetPowerDownPara
(
DR_PARA
*
data
);
// call every 10km or ign off
extern
void
DR_SetPowerDownPara
(
DR_PARA
*
data
);
// call every KL30 OFF -> KL30 ON (after InitAFC())
extern
void
DR_GetPowerDownPara
(
DR_PARA
*
data
);
//call every 10km or ign off
extern
void
DR_SetPowerDownPara
(
DR_PARA
*
data
);
//call every KL30 OFF -> KL30 ON (after InitAFC())
extern
void
AFCTimerCall
(
void
);
//must per 10ms interrupt
extern
uint16_t
GetDRMileage
(
void
);
//unit:km,accuracy:1
extern
uint16_t
GetCurAFC
(
void
);
//unit:L,accuracy:0.1
extern
void
AFCTimerCall
(
void
);
// must per 10ms interrupt
extern
uint16_t
GetDRMileage
(
void
);
// unit:km,accuracy:1
extern
uint16_t
GetCurAFC
(
void
);
// unit:L,accuracy:0.1
//
display afc
//display afc
extern
void
DAFC_Reset
(
AFC_INIT
*
data
);
extern
uint16_t
DAFC_GetAFC
(
void
);
//
unit:L,accuracy:0.1
//
display afc end
extern
uint16_t
DAFC_GetAFC
(
void
);
//
unit:L,accuracy:0.1
//display afc end
extern
void
SetIgnOffRefuelThreshold
(
uint8_t
data
);
#endif
source/Application/APP/Data_Fuel/TruckFuel_RH850_V1.4.a
deleted
100644 → 0
View file @
ef0694e5
File deleted
source/Application/APP/Data_Fuel/TruckFuel_RH850_V1.5.a
0 → 100644
View file @
1990c6d8
File added
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