rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
controllers
sensors
impl
maf.cpp
Go to the documentation of this file.
1
#include "
pch.h
"
2
3
static
int
addMafPoint
(
int
index,
float
kgHrValue,
float
voltage) {
4
config
->
mafDecoding
[index] = kgHrValue;
5
config
->
mafDecodingBins
[index] = voltage;
6
return
index + 1;
7
}
8
9
static
int
addMafPointByVoltage
(
int
index,
float
voltage,
float
kgHrValue) {
10
return
addMafPoint
(index, kgHrValue, voltage);
11
}
12
13
static
void
fillTheRest
(
int
i) {
14
/**
15
* unrealistic values just to make binary search happy
16
*/
17
while
(i < MAF_DECODING_COUNT) {
18
i =
addMafPoint
(i, 3000, 2010 + i);
19
}
20
}
21
22
/**
23
* Hot-film air-mass meter, Type HFM 5
24
*/
25
void
setBosch0280218037
() {
26
int
i = 0;
27
i =
addMafPoint
(i, -34.5, 0);
28
i =
addMafPoint
(i, -6, 0.78125);
29
30
config
->
mafDecoding
[i] = 10.5;
31
config
->
mafDecodingBins
[i++] = 1.38671875;
32
33
config
->
mafDecoding
[i] = 105.3;
34
config
->
mafDecodingBins
[i++] = 2.91015625;
35
36
config
->
mafDecoding
[i] = 387.5;
37
config
->
mafDecodingBins
[i++] = 4.2578125;
38
39
config
->
mafDecoding
[i] = 738;
40
config
->
mafDecodingBins
[i++] = 4.98046875;
41
42
fillTheRest
(i);
43
}
44
45
void
setBosch0280218004
() {
46
int
i = 0;
47
48
fillTheRest
(i);
49
}
50
51
void
setNissanMAF0031
() {
52
int
i = 0;
53
// I am copy-pasting from a spreadsheet, it works better if voltage goes first
54
i =
addMafPointByVoltage
(i, 0.29, 3.1768838175);
55
i =
addMafPointByVoltage
(i, 0.49, 3.6987752861);
56
i =
addMafPointByVoltage
(i, 0.72, 5.8013108424);
57
i =
addMafPointByVoltage
(i, 1, 11.1849);
58
i =
addMafPointByVoltage
(i, 1.37, 24.5646673361);
59
i =
addMafPointByVoltage
(i, 1.66, 41.453048941);
60
i =
addMafPointByVoltage
(i, 1.91, 61.5847903829);
61
i =
addMafPointByVoltage
(i, 2.09, 79.7924502089);
62
i =
addMafPointByVoltage
(i, 2.34, 110.961012317);
63
i =
addMafPointByVoltage
(i, 2.89, 208.198652496);
64
i =
addMafPointByVoltage
(i, 3.11, 260.1030585044);
65
i =
addMafPointByVoltage
(i, 3.54, 387.150427974);
66
i =
addMafPointByVoltage
(i, 3.81, 486.5363959026);
67
i =
addMafPointByVoltage
(i, 4, 566.628);
68
i =
addMafPointByVoltage
(i, 4.32, 722.3485684449);
69
i =
addMafPointByVoltage
(i, 4.65, 913.0847954331);
70
i =
addMafPointByVoltage
(i, 4.98, 1137.8746972553);
71
fillTheRest
(i);
72
}
config
static constexpr persistent_config_s * config
Definition
engine_configuration.h:81
fillTheRest
static void fillTheRest(int i)
Definition
maf.cpp:13
addMafPointByVoltage
static int addMafPointByVoltage(int index, float voltage, float kgHrValue)
Definition
maf.cpp:9
setBosch0280218004
void setBosch0280218004()
Definition
maf.cpp:45
addMafPoint
static int addMafPoint(int index, float kgHrValue, float voltage)
Definition
maf.cpp:3
setBosch0280218037
void setBosch0280218037()
Definition
maf.cpp:25
setNissanMAF0031
void setNissanMAF0031()
Definition
maf.cpp:51
pch.h
persistent_config_s::mafDecoding
float mafDecoding[MAF_DECODING_COUNT]
Definition
engine_configuration_generated_structures_alphax-2chan.h:6092
persistent_config_s::mafDecodingBins
float mafDecodingBins[MAF_DECODING_COUNT]
Definition
engine_configuration_generated_structures_alphax-2chan.h:6097
Generated on Sat Sep 27 2025 00:10:06 for rusEFI by
1.9.8