Files
PX4-Autopilot/docs/uk/msg_docs/InternalCombustionEngineStatus.md
2026-07-12 15:29:34 +10:00

20 KiB

pageClass
pageClass
is-wide-page

InternalCombustionEngineStatus (повідомлення UORB)

TOPICS: internal_combustion_engine_status

Fields

Назва Тип Unit [Frame] Range/Enum Опис
timestamp uint64 us Time since system start
state uint8 STATE Engine state
substate uint8 SUBSTATE Engine substate
flags uint32 FLAG Engine status flags bitmap
engine_load_percent uint8 % [0 : 127] Engine load estimate
engine_speed_rpm uint32 rpm [0 : inf] Engine speed
spark_dwell_time_ms float32 ms [0 : inf] Spark dwell time
atmospheric_pressure_kpa float32 kPa [0 : inf] Atmospheric (barometric) pressure
intake_manifold_pressure_kpa float32 kPa [0 : inf] Engine intake manifold pressure
intake_manifold_temperature float32 K [0 : inf] Engine intake manifold temperature
coolant_temperature float32 K [0 : inf] Engine coolant temperature
oil_pressure float32 kPa [0 : inf] Oil pressure
oil_temperature float32 K [0 : inf] Oil temperature
fuel_pressure float32 kPa [0 : inf] Fuel pressure
fuel_consumption_rate_cm3pm float32 cm^3/min [0 : inf] Instant fuel consumption estimate
estimated_consumed_fuel_volume_cm3 float32 cm^3 [0 : inf] Estimate of the consumed fuel since the start of the engine
throttle_position_percent uint8 % [0 : 100] Throttle position
ecu_index uint8 [0 : 255] The index of the publishing ECU
spark_plug_usage uint8 SPARK_PLUG Spark plug activity report
ignition_timing_deg float32 deg [-inf : inf] Cylinder ignition timing, angular degrees of the crankshaft
injection_time_ms float32 ms [0 : inf] Fuel injection time
cylinder_head_temperature float32 K [0 : inf] Cylinder head temperature (CHT)
exhaust_gas_temperature float32 K [0 : inf] Exhaust gas temperature (EGT)
lambda_coefficient float32 [0 : inf] Estimated lambda coefficient, dimensionless ratio
pid_idle_rpm_integral float32 [-1 : 1] Integral of the PID for the closed loop idle RPM controller

Enums

STATE

Used in field(s): state

Назва Тип Значення Опис
STATE_STOPPED uint8 0 The engine is not running. This is the default state.
STATE_STARTING uint8 1 The engine is starting. This is a transient state.
STATE_RUNNING uint8 2 The engine is running normally.
STATE_FAULT uint8 3 The engine can no longer function.

SUBSTATE

Used in field(s): substate

Назва Тип Значення Опис
SUBSTATE_RUN uint8 0 The engine is running. This is the default state.
SUBSTATE_IDLE uint8 1 The engine idle rpm controller is running.
SUBSTATE_REST uint8 2 The engine is at rest.

FLAG

Used in field(s): flags

Назва Тип Значення Опис
FLAG_GENERAL_ERROR uint32 1 General error.
FLAG_CRANKSHAFT_SENSOR_ERROR_SUPPORTED uint32 2 Error of the crankshaft sensor. This flag is optional.
FLAG_CRANKSHAFT_SENSOR_ERROR uint32 4
FLAG_TEMPERATURE_SUPPORTED uint32 8 Temperature levels. These flags are optional
FLAG_TEMPERATURE_BELOW_NOMINAL uint32 16 Under-temperature warning
FLAG_TEMPERATURE_ABOVE_NOMINAL uint32 32 Over-temperature warning
FLAG_TEMPERATURE_OVERHEATING uint32 64 Critical overheating
FLAG_TEMPERATURE_EGT_ABOVE_NOMINAL uint32 128 Exhaust gas over-temperature warning
FLAG_FUEL_PRESSURE_SUPPORTED uint32 256 Fuel pressure. These flags are optional
FLAG_FUEL_PRESSURE_BELOW_NOMINAL uint32 512 Under-pressure warning
FLAG_FUEL_PRESSURE_ABOVE_NOMINAL uint32 1024 Over-pressure warning
FLAG_DETONATION_SUPPORTED uint32 2048 Detonation warning. This flag is optional.
FLAG_DETONATION_OBSERVED uint32 4096 Detonation condition observed warning
FLAG_MISFIRE_SUPPORTED uint32 8192 Misfire warning. This flag is optional.
FLAG_MISFIRE_OBSERVED uint32 16384 Misfire condition observed warning
FLAG_OIL_PRESSURE_SUPPORTED uint32 32768 Oil pressure. These flags are optional
FLAG_OIL_PRESSURE_BELOW_NOMINAL uint32 65536 Under-pressure warning
FLAG_OIL_PRESSURE_ABOVE_NOMINAL uint32 131072 Over-pressure warning
FLAG_DEBRIS_SUPPORTED uint32 262144 Debris warning. This flag is optional
FLAG_DEBRIS_DETECTED uint32 524288 Detection of debris warning

SPARK_PLUG

Used in field(s): spark_plug_usage

Назва Тип Значення Опис
SPARK_PLUG_SINGLE uint8 0
SPARK_PLUG_FIRST_ACTIVE uint8 1
SPARK_PLUG_SECOND_ACTIVE uint8 2
SPARK_PLUG_BOTH_ACTIVE uint8 3

Source Message

Source file (GitHub)

:::details Click here to see original file

uint64 timestamp					# [us] Time since system start

uint8 STATE_STOPPED = 0					# The engine is not running. This is the default state.
uint8 STATE_STARTING = 1				# The engine is starting. This is a transient state.
uint8 STATE_RUNNING = 2					# The engine is running normally.
uint8 STATE_FAULT = 3					# The engine can no longer function.
uint8 state						# [@enum STATE] Engine state

uint8 SUBSTATE_RUN = 0					# The engine is running. This is the default state.
uint8 SUBSTATE_IDLE = 1					# The engine idle rpm controller is running.
uint8 SUBSTATE_REST = 2					# The engine is at rest.
uint8 substate						# [@enum SUBSTATE] Engine substate

uint32 FLAG_GENERAL_ERROR = 1				# General error.

uint32 FLAG_CRANKSHAFT_SENSOR_ERROR_SUPPORTED = 2	# Error of the crankshaft sensor. This flag is optional.
uint32 FLAG_CRANKSHAFT_SENSOR_ERROR = 4

uint32 FLAG_TEMPERATURE_SUPPORTED = 8			# Temperature levels. These flags are optional
uint32 FLAG_TEMPERATURE_BELOW_NOMINAL = 16      	# Under-temperature warning
uint32 FLAG_TEMPERATURE_ABOVE_NOMINAL = 32      	# Over-temperature warning
uint32 FLAG_TEMPERATURE_OVERHEATING = 64      		# Critical overheating
uint32 FLAG_TEMPERATURE_EGT_ABOVE_NOMINAL = 128     	# Exhaust gas over-temperature warning

uint32 FLAG_FUEL_PRESSURE_SUPPORTED = 256		# Fuel pressure. These flags are optional
uint32 FLAG_FUEL_PRESSURE_BELOW_NOMINAL  = 512     	# Under-pressure warning
uint32 FLAG_FUEL_PRESSURE_ABOVE_NOMINAL = 1024   	# Over-pressure warning

uint32 FLAG_DETONATION_SUPPORTED = 2048			# Detonation warning. This flag is optional.
uint32 FLAG_DETONATION_OBSERVED = 4096    		# Detonation condition observed warning

uint32 FLAG_MISFIRE_SUPPORTED = 8192			# Misfire warning. This flag is optional.
uint32 FLAG_MISFIRE_OBSERVED = 16384   			# Misfire condition observed warning

uint32 FLAG_OIL_PRESSURE_SUPPORTED = 32768		# Oil pressure. These flags are optional
uint32 FLAG_OIL_PRESSURE_BELOW_NOMINAL = 65536   	# Under-pressure warning
uint32 FLAG_OIL_PRESSURE_ABOVE_NOMINAL = 131072  	# Over-pressure warning

uint32 FLAG_DEBRIS_SUPPORTED = 262144			# Debris warning. This flag is optional
uint32 FLAG_DEBRIS_DETECTED = 524288  			# Detection of debris warning
uint32 flags						# [@enum FLAG] Engine status flags bitmap

uint8 engine_load_percent				# [%] [@range 0, 127] Engine load estimate
uint32 engine_speed_rpm					# [rpm] [@range 0, inf] Engine speed
float32 spark_dwell_time_ms 				# [ms] [@range 0, inf] Spark dwell time
float32 atmospheric_pressure_kpa			# [kPa] [@range 0, inf] Atmospheric (barometric) pressure
float32 intake_manifold_pressure_kpa			# [kPa] [@range 0, inf] Engine intake manifold pressure
float32 intake_manifold_temperature			# [K] [@range 0, inf] Engine intake manifold temperature
float32 coolant_temperature				# [K] [@range 0, inf] Engine coolant temperature
float32 oil_pressure					# [kPa] [@range 0, inf] Oil pressure
float32 oil_temperature					# [K] [@range 0, inf] Oil temperature
float32 fuel_pressure					# [kPa] [@range 0, inf] Fuel pressure
float32 fuel_consumption_rate_cm3pm			# [cm^3/min] [@range 0, inf] Instant fuel consumption estimate
float32 estimated_consumed_fuel_volume_cm3		# [cm^3] [@range 0, inf] Estimate of the consumed fuel since the start of the engine
uint8 throttle_position_percent				# [%] [@range 0, 100] Throttle position
uint8 ecu_index						# [-] [@range 0, 255] The index of the publishing ECU


uint8 SPARK_PLUG_SINGLE         = 0
uint8 SPARK_PLUG_FIRST_ACTIVE   = 1
uint8 SPARK_PLUG_SECOND_ACTIVE  = 2
uint8 SPARK_PLUG_BOTH_ACTIVE    = 3
uint8 spark_plug_usage					# [@enum SPARK_PLUG] Spark plug activity report

float32 ignition_timing_deg				# [deg] [@range -inf, inf] Cylinder ignition timing, angular degrees of the crankshaft
float32 injection_time_ms				# [ms] [@range 0, inf] Fuel injection time
float32 cylinder_head_temperature			# [K] [@range 0, inf] Cylinder head temperature (CHT)
float32 exhaust_gas_temperature				# [K] [@range 0, inf] Exhaust gas temperature (EGT)
float32 lambda_coefficient				# [-] [@range 0, inf] Estimated lambda coefficient, dimensionless ratio

float32 pid_idle_rpm_integral				# [-] [@range -1, 1] Integral of the PID for the closed loop idle RPM controller

:::