rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
maf.cpp
Go to the documentation of this file.
1#include "pch.h"
2
3static int addMafPoint(int index, float kgHrValue, float voltage) {
4 config->mafDecoding[index] = kgHrValue;
5 config->mafDecodingBins[index] = voltage;
6 return index + 1;
7}
8
9static int addMafPointByVoltage(int index, float voltage, float kgHrValue) {
10 return addMafPoint(index, kgHrValue, voltage);
11}
12
13static 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 */
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
46 int i = 0;
47
48 fillTheRest(i);
49}
50
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}
static constexpr persistent_config_s * config
static void fillTheRest(int i)
Definition maf.cpp:13
static int addMafPointByVoltage(int index, float voltage, float kgHrValue)
Definition maf.cpp:9
void setBosch0280218004()
Definition maf.cpp:45
static int addMafPoint(int index, float kgHrValue, float voltage)
Definition maf.cpp:3
void setBosch0280218037()
Definition maf.cpp:25
void setNissanMAF0031()
Definition maf.cpp:51