rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
controllers
long_term_fuel_trim.h
Go to the documentation of this file.
1
// file long_term_fuel_trim.h
2
3
#pragma once
4
5
#include "
closed_loop_fuel.h
"
6
#include "
long_term_fuel_trim_state_generated.h
"
7
8
struct
LtftState
{
9
// todo: probably reuse page_2_generated.h?
10
float
trims
[FT_BANK_COUNT][VE_LOAD_COUNT][VE_RPM_COUNT];
11
12
void
save
();
13
void
load
();
14
void
reset
();
15
void
applyToVe
();
16
// Development only, to be removed
17
void
fillRandom
();
18
};
19
20
class
LongTermFuelTrim
:
public
EngineModule
,
public
long_term_fuel_trim_state_s
{
21
public
:
22
// EngineModule implementation
23
void
onSlowCallback
()
override
;
24
bool
needsDelayedShutoff
()
override
;
25
26
void
init
(
LtftState
*
state
);
27
void
learn
(
ClosedLoopFuelResult
clResult,
float
rpm,
float
fuelLoad);
28
ClosedLoopFuelResult
getTrims
(
float
rpm,
float
fuelLoad);
29
void
load
();
30
void
store
();
31
void
reset
();
32
void
applyTrimsToVe
();
33
bool
isVeUpdated
();
34
void
onLiveDataRead
();
35
// Development only, to be removed
36
void
fillRandom
();
37
38
private
:
39
LtftState
*
m_state
;
40
// TODO: move to livedata and kill isVeUpdated() ?
41
bool
veNeedRefresh
=
false
;
42
bool
showUpdateToUser
=
false
;
43
44
float
getIntegratorGain
()
const
;
45
float
getMaxAdjustment
()
const
;
46
float
getMinAdjustment
()
const
;
47
48
Timer
pageRefreshTimer
{};
49
};
50
51
void
initLtft
();
52
void
resetLongTermFuelTrim
();
53
void
applyLongTermFuelTrimToVe
();
54
bool
ltftNeedVeRefresh
();
55
void
devPokeLongTermFuelTrim
();
56
57
void
*
ltftGetTsPage
();
58
LtftState
*
ltftGetState
();
59
size_t
ltftGetTsPageSize
();
EngineModule
Definition
engine_module.h:9
LongTermFuelTrim
Definition
long_term_fuel_trim.h:20
LongTermFuelTrim::onSlowCallback
void onSlowCallback() override
LongTermFuelTrim::veNeedRefresh
bool veNeedRefresh
Definition
long_term_fuel_trim.h:41
LongTermFuelTrim::needsDelayedShutoff
bool needsDelayedShutoff() override
LongTermFuelTrim::fillRandom
void fillRandom()
LongTermFuelTrim::onLiveDataRead
void onLiveDataRead()
LongTermFuelTrim::init
void init(LtftState *state)
LongTermFuelTrim::getMinAdjustment
float getMinAdjustment() const
LongTermFuelTrim::learn
void learn(ClosedLoopFuelResult clResult, float rpm, float fuelLoad)
LongTermFuelTrim::getIntegratorGain
float getIntegratorGain() const
LongTermFuelTrim::load
void load()
LongTermFuelTrim::reset
void reset()
LongTermFuelTrim::applyTrimsToVe
void applyTrimsToVe()
LongTermFuelTrim::getTrims
ClosedLoopFuelResult getTrims(float rpm, float fuelLoad)
LongTermFuelTrim::pageRefreshTimer
Timer pageRefreshTimer
Definition
long_term_fuel_trim.h:48
LongTermFuelTrim::m_state
LtftState * m_state
Definition
long_term_fuel_trim.h:39
LongTermFuelTrim::getMaxAdjustment
float getMaxAdjustment() const
LongTermFuelTrim::store
void store()
LongTermFuelTrim::isVeUpdated
bool isVeUpdated()
LongTermFuelTrim::showUpdateToUser
bool showUpdateToUser
Definition
long_term_fuel_trim.h:42
closed_loop_fuel.h
ltftGetTsPageSize
size_t ltftGetTsPageSize()
ltftGetTsPage
void * ltftGetTsPage()
ltftNeedVeRefresh
bool ltftNeedVeRefresh()
initLtft
void initLtft()
applyLongTermFuelTrimToVe
void applyLongTermFuelTrimToVe()
resetLongTermFuelTrim
void resetLongTermFuelTrim()
devPokeLongTermFuelTrim
void devPokeLongTermFuelTrim()
ltftGetState
LtftState * ltftGetState()
long_term_fuel_trim_state_generated.h
state
state("state", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1871, 1.0, -1.0, -1.0, "")
ClosedLoopFuelResult
Definition
closed_loop_fuel.h:11
LtftState
Definition
long_term_fuel_trim.h:8
LtftState::applyToVe
void applyToVe()
LtftState::fillRandom
void fillRandom()
LtftState::load
void load()
Definition
long_term_fuel_trim.cpp:30
LtftState::reset
void reset()
LtftState::trims
float trims[FT_BANK_COUNT][VE_LOAD_COUNT][VE_RPM_COUNT]
Definition
long_term_fuel_trim.h:10
LtftState::save
void save()
Definition
long_term_fuel_trim.cpp:24
long_term_fuel_trim_state_s
Definition
long_term_fuel_trim_state_generated.h:7
Generated on Sat Sep 27 2025 00:10:06 for rusEFI by
1.9.8