rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
engine_state.h
Go to the documentation of this file.
1/**
2 * @file engine_state.h
3 * @brief One header which acts as gateway to current engine state
4 *
5 * @date Dec 20, 2013
6 * @author Andrey Belomutskiy, (c) 2012-2020
7 */
8
9#pragma once
10
11#include "engine_parts.h"
13#include "trigger_decoder.h"
14
16public:
19 void updateTChargeK(float rpm, float tps);
20
21 void updateSparkSkip();
22
23 /**
24 * it's important for wrapAngle() that engineCycle field never has zero
25 * always 360 or 720, never zero
26 */
28
30
32
35
37
38 // Estimated airflow based on whatever airmass model is active
39 float airflowEstimate = 0;
40
41 float auxValveStart = 0;
42 float auxValveEnd = 0;
43
44 /**
45 * MAP averaging angle start, in relation to '0' trigger index index
46 */
47 angle_t mapAveragingStart[MAX_CYLINDER_COUNT]{};
49
50 /**
51 * timing advance is angle distance before Top Dead Center (TDP), i.e. "10 degree timing advance" means "happens 10 degrees before TDC"
52 */
53 angle_t timingAdvance[MAX_CYLINDER_COUNT]{};
54
55 // Angle between firing the main (primary) spark and the secondary (trailing) spark
57
59
60 /**
61 * Raw fuel injection duration produced by current fuel algorithm, without any correction
62 */
64
65 /**
66 * TPS acceleration: extra fuel amount
67 */
69
70 /**
71 * Each individual fuel injection duration for current engine cycle, without wall wetting
72 * including everything including injector lag, both cranking and running
73 * @see getInjectionDuration()
74 */
77
79
81
83};
84
86
floatms_t tpsAccelEnrich
angle_t injectionOffset
float auxValveStart
bool useOddFireWastedSpark
angle_t mapAveragingStart[MAX_CYLINDER_COUNT]
angle_t engineCycle
float auxValveEnd
Timer crankingTimer
Timer timeSinceLastTChargeK
floatms_t baseFuel
angle_t mapAveragingDuration
void periodicFastCallback()
Definition engine2.cpp:154
bool shouldUpdateInjectionTiming
void updateSparkSkip()
Definition engine2.cpp:137
float airflowEstimate
WarningCodeState warnings
angle_t trailingSparkAngle
void updateTChargeK(float rpm, float tps)
Definition engine2.cpp:275
floatms_t injectionDuration
Timer undervoltageCrankingTimer
floatms_t injectionDurationStage2
float injectionStage2Fraction
multispark_state multispark
angle_t timingAdvance[MAX_CYLINDER_COUNT]
bool getBrakePedalState()
Definition engine.cpp:243
EngineState * getEngineState()
Definition engine.cpp:577
bool getClutchDownState()
Definition engine.cpp:223
@ FOUR_STROKE_CRANK_SENSOR
angle_t getEngineCycle(operation_mode_e operationMode)