rusEFI
The most advanced open source ECU
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  */
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 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
persistent_config_s * config