Line data Source code
1 : #include "pch.h"
2 :
3 10764 : static int addMafPoint(int index, float kgHrValue, float voltage) {
4 10764 : config->mafDecoding[index] = kgHrValue;
5 10764 : config->mafDecodingBins[index] = voltage;
6 10764 : return index + 1;
7 : }
8 :
9 51 : static int addMafPointByVoltage(int index, float voltage, float kgHrValue) {
10 51 : return addMafPoint(index, kgHrValue, voltage);
11 : }
12 :
13 384 : static void fillTheRest(int i) {
14 : /**
15 : * unrealistic values just to make binary search happy
16 : */
17 10335 : while (i < MAF_DECODING_COUNT) {
18 9951 : i = addMafPoint(i, 3000, 2010 + i);
19 : }
20 384 : }
21 :
22 : /**
23 : * Hot-film air-mass meter, Type HFM 5
24 : */
25 381 : void setBosch0280218037() {
26 381 : int i = 0;
27 381 : i = addMafPoint(i, -34.5, 0);
28 381 : i = addMafPoint(i, -6, 0.78125);
29 :
30 381 : config->mafDecoding[i] = 10.5;
31 381 : config->mafDecodingBins[i++] = 1.38671875;
32 :
33 381 : config->mafDecoding[i] = 105.3;
34 381 : config->mafDecodingBins[i++] = 2.91015625;
35 :
36 381 : config->mafDecoding[i] = 387.5;
37 381 : config->mafDecodingBins[i++] = 4.2578125;
38 :
39 381 : config->mafDecoding[i] = 738;
40 381 : config->mafDecodingBins[i++] = 4.98046875;
41 :
42 381 : fillTheRest(i);
43 381 : }
44 :
45 0 : void setBosch0280218004() {
46 0 : int i = 0;
47 :
48 0 : fillTheRest(i);
49 0 : }
50 :
51 3 : void setNissanMAF0031() {
52 3 : int i = 0;
53 : // I am copy-pasting from a spreadsheet, it works better if voltage goes first
54 3 : i = addMafPointByVoltage(i, 0.29, 3.1768838175);
55 3 : i = addMafPointByVoltage(i, 0.49, 3.6987752861);
56 3 : i = addMafPointByVoltage(i, 0.72, 5.8013108424);
57 3 : i = addMafPointByVoltage(i, 1, 11.1849);
58 3 : i = addMafPointByVoltage(i, 1.37, 24.5646673361);
59 3 : i = addMafPointByVoltage(i, 1.66, 41.453048941);
60 3 : i = addMafPointByVoltage(i, 1.91, 61.5847903829);
61 3 : i = addMafPointByVoltage(i, 2.09, 79.7924502089);
62 3 : i = addMafPointByVoltage(i, 2.34, 110.961012317);
63 3 : i = addMafPointByVoltage(i, 2.89, 208.198652496);
64 3 : i = addMafPointByVoltage(i, 3.11, 260.1030585044);
65 3 : i = addMafPointByVoltage(i, 3.54, 387.150427974);
66 3 : i = addMafPointByVoltage(i, 3.81, 486.5363959026);
67 3 : i = addMafPointByVoltage(i, 4, 566.628);
68 3 : i = addMafPointByVoltage(i, 4.32, 722.3485684449);
69 3 : i = addMafPointByVoltage(i, 4.65, 913.0847954331);
70 3 : i = addMafPointByVoltage(i, 4.98, 1137.8746972553);
71 3 : fillTheRest(i);
72 3 : }
|