rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
throttle_model.h
Go to the documentation of this file.
1// file throttle_model.h
2
3#pragma once
4
6
8public:
10
11 void onSlowCallback() override;
12
13 float estimateThrottleFlow(float tip, float tps, float map, float iat);
14 expected<float> estimateThrottleFlow(float map, float tps);
15
16 float partThrottleFlow(float tps, float flowCorrection) const;
17 float partThrottleFlow(float tps, float pressureRatio, float p_up, float iat) const;
18
19 float throttlePositionForFlow(float flow, float pressureRatio, float p_up, float iat) const;
20
21protected:
22 // Given some TPS, what is the normalized choked flow in g/s?
23 virtual float effectiveArea(float tps) const = 0;
24
25 // Given some MAP, what is the most the engine can pull through a wide open throttle, in g/s?
26 virtual float maxEngineFlow(float map) const = 0;
27
28};
29
31 float effectiveArea(float tps) const override;
32 float maxEngineFlow(float map) const override;
33};
34
35expected<float> getThrottleInletPressure();
36
37float getThrottlePressureRatio(float map);
float maxEngineFlow(float map) const override
float effectiveArea(float tps) const override
static CCM_OPTIONAL FunctionalSensor iat(SensorType::Iat, MS2NT(10))
pressureRatio("Fuel: Injector pressure ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1188, 1.0, 0.0, 100.0, "")
virtual float maxEngineFlow(float map) const =0
virtual float effectiveArea(float tps) const =0
float estimateThrottleFlow(float tip, float tps, float map, float iat)
void onSlowCallback() override
float partThrottleFlow(float tps, float flowCorrection) const
float throttlePositionForFlow(float flow, float pressureRatio, float p_up, float iat) const
float getThrottlePressureRatio(float map)
expected< float > getThrottleInletPressure()