struct_no_prefix engine_state2_s struct_no_prefix speed_density_s bit isTChargeAirModel float airMassInOneCylinder;Speed-density logic: calculated air mass in one cylinder, in grams float tCharge;speed density\nRate-of-change limiter is applied to degrees, so we store both Kelvin and degrees.; float tChargeK float Tcharge_coff floatms_t airFlow float manifoldAirPressureAccelerationAdjustment; float adjustedManifoldAirPressure; ! speed_density_s end_struct speed_density_s sd; struct_no_prefix idle_state_s idle_state_e idleState percent_t currentIdlePosition;that's current position with CLT and IAT corrections percent_t baseIdlePosition;current position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration) int throttlePedalUpState;true in IDLE throttle pedal state, false if driver is touching the pedal\ntodo: better name for this field? percent_t etbIdleAddition;ETB position adjustment related to idle RPM control ! end of idle_state_s structure definition end_struct ! actually define a member of 'idle_state_s' type idle_state_s idle; float targetAFR float engineCycleDurationMs; float minRpmKcurrentTPS int currentTpsAdc float tpsVoltageMCU float tpsVoltageBoard float currentBaroCorrectedVE; float injectorFlowCorrection; float baroCorrection; bit isCrankingState bit isAutomaticIdle struct cranking_fuel_s floatms_t baseFuel;Duration of injection, in ms. During cranking we do not account for injector flow, so if you change injectors you would need to change settings.\nDeprecated. Please use '1'.\nTODO: maybe account for injector flow? float coolantTemperatureCoefficient; float tpsCoefficient float durationCoefficient floatms_t fuel;Actual injection duration based on all above coefficients. ! end of cranking_s structure definition end_struct ! actually define a member of 'cranking_s' type cranking_fuel_s cranking struct running_fuel_s float postCrankingFuelCorrection float intakeTemperatureCoefficient float coolantTemperatureCoefficient float timeSinceCrankingInSecs floatms_t injectorLag;injectorLag(VBatt)\nthis value depends on a slow-changing VBatt value, so\nwe update it once in a while floatms_t pidCorrection;closed-loop fuel correction floatms_t baseFuel; floatms_t fuel;Actual injection duration with CLT, IAT and TPS acceleration corrections per cycle, as squirt duration.\nWithout injector lag.\n@see baseFuel\n@see actualLastInjection ! end of running_fuel_s structure definition end_struct ! actually define a member of 'running_fuel_s' type running_fuel_s running percent_t etbFeedForward; percent_t targetFromTable ! spark-related floatms_t sparkDwell;ignition dwell duration in ms\nSee also dwellAngle angle_t dwellAngle;ignition dwell duration as crankshaft angle\nNAN if engine is stopped\nSee also sparkDwell angle_t cltTimingCorrection ! engine_state2_s end_struct