LCOV - code coverage report
Current view: top level - firmware/controllers/sensors/impl - maf.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 45 49 91.8 %
Date: 2024-09-08 12:31:02 Functions: 5 6 83.3 %

          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 : }

Generated by: LCOV version 1.14