GCC Code Coverage Report


Directory: ./
File: firmware/controllers/algo/airmass/speed_density_airmass.h
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 4 0 4
Functions: 100.0% 1 0 1
Branches: -% 0 0 0
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 #pragma once
2
3 #include "speed_density_base.h"
4 #include "efitime.h"
5
6 class SpeedDensityAirmass : public SpeedDensityBase {
7 public:
8 3 explicit SpeedDensityAirmass(const ValueProvider3D& veTable, const ValueProvider3D& mapEstimationTable)
9 3 : SpeedDensityBase(veTable)
10 3 , m_mapEstimationTable(&mapEstimationTable)
11 3 {}
12
13 AirmassResult getAirmass(float rpm, bool postState) override;
14 AirmassResult getAirmass(float rpm, float map, bool postState);
15 float getAirflow(float rpm, float map, bool postState);
16
17 float getMap(float rpm, bool postState);
18
19 private:
20 float getPredictiveMap(float rpm, bool postState, float mapSensor);
21 float logAndGetFallback(float rpm, bool postState) const;
22 const ValueProvider3D* const m_mapEstimationTable;
23
24 // State for predictive MAP blending
25 bool m_isMapPredictionActive = false;
26 Timer m_predictionTimer;
27 float m_initialPredictedMap = 0;
28 float m_initialRealMap = 0;
29 };
30