Skip to content

InternalCombustionEngineStatus (UORB message)

TOPICS: internal_combustionengine_status

Fields

NameTypeUnit [Frame]Range/EnumDescription
timestampuint64time since system start (microseconds)
stateuint8
flagsuint32
engine_load_percentuint8Engine load estimate, percent, [0, 127]
engine_speed_rpmuint32Engine speed, revolutions per minute
spark_dwell_time_msfloat32Spark dwell time, millisecond
atmospheric_pressure_kpafloat32Atmospheric (barometric) pressure, kilopascal
intake_manifold_pressure_kpafloat32Engine intake manifold pressure, kilopascal
intake_manifold_temperaturefloat32Engine intake manifold temperature, kelvin
coolant_temperaturefloat32Engine coolant temperature, kelvin
oil_pressurefloat32Oil pressure, kilopascal
oil_temperaturefloat32Oil temperature, kelvin
fuel_pressurefloat32Fuel pressure, kilopascal
fuel_consumption_rate_cm3pmfloat32Instant fuel consumption estimate, (centimeter^3)/minute
estimated_consumed_fuel_volume_cm3float32Estimate of the consumed fuel since the start of the engine, centimeter^3
throttle_position_percentuint8Throttle position, percent
ecu_indexuint8The index of the publishing ECU
spark_plug_usageuint8Spark plug activity report.
ignition_timing_degfloat32Cylinder ignition timing, angular degrees of the crankshaft
injection_time_msfloat32Fuel injection time, millisecond
cylinder_head_temperaturefloat32Cylinder head temperature (CHT), kelvin
exhaust_gas_temperaturefloat32Exhaust gas temperature (EGT), kelvin
lambda_coefficientfloat32Estimated lambda coefficient, dimensionless ratio

Constants

NameTypeValueDescription
STATE_STOPPEDuint80The engine is not running. This is the default state.
STATE_STARTINGuint81The engine is starting. This is a transient state.
STATE_RUNNINGuint82The engine is running normally.
STATE_FAULTuint83The engine can no longer function.
FLAG_GENERAL_ERRORuint321General error.
FLAG_CRANKSHAFT_SENSOR_ERROR_SUPPORTEDuint322Error of the crankshaft sensor. This flag is optional.
FLAG_CRANKSHAFT_SENSOR_ERRORuint324
FLAG_TEMPERATURE_SUPPORTEDuint328Temperature levels. These flags are optional
FLAG_TEMPERATURE_BELOW_NOMINALuint3216Under-temperature warning
FLAG_TEMPERATURE_ABOVE_NOMINALuint3232Over-temperature warning
FLAG_TEMPERATURE_OVERHEATINGuint3264Critical overheating
FLAG_TEMPERATURE_EGT_ABOVE_NOMINALuint32128Exhaust gas over-temperature warning
FLAG_FUEL_PRESSURE_SUPPORTEDuint32256Fuel pressure. These flags are optional
FLAG_FUEL_PRESSURE_BELOW_NOMINALuint32512Under-pressure warning
FLAG_FUEL_PRESSURE_ABOVE_NOMINALuint321024Over-pressure warning
FLAG_DETONATION_SUPPORTEDuint322048Detonation warning. This flag is optional.
FLAG_DETONATION_OBSERVEDuint324096Detonation condition observed warning
FLAG_MISFIRE_SUPPORTEDuint328192Misfire warning. This flag is optional.
FLAG_MISFIRE_OBSERVEDuint3216384Misfire condition observed warning
FLAG_OIL_PRESSURE_SUPPORTEDuint3232768Oil pressure. These flags are optional
FLAG_OIL_PRESSURE_BELOW_NOMINALuint3265536Under-pressure warning
FLAG_OIL_PRESSURE_ABOVE_NOMINALuint32131072Over-pressure warning
FLAG_DEBRIS_SUPPORTEDuint32262144Debris warning. This flag is optional
FLAG_DEBRIS_DETECTEDuint32524288Detection of debris warning
SPARK_PLUG_SINGLEuint80
SPARK_PLUG_FIRST_ACTIVEuint81
SPARK_PLUG_SECOND_ACTIVEuint82
SPARK_PLUG_BOTH_ACTIVEuint83

Source Message

Source file (GitHub)

Click here to see original file
c
uint64 timestamp					# time since system start (microseconds)

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

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

uint8 engine_load_percent				# Engine load estimate, percent, [0, 127]
uint32 engine_speed_rpm					# Engine speed, revolutions per minute
float32 spark_dwell_time_ms 				# Spark dwell time, millisecond
float32 atmospheric_pressure_kpa			# Atmospheric (barometric) pressure, kilopascal
float32 intake_manifold_pressure_kpa			# Engine intake manifold pressure, kilopascal
float32 intake_manifold_temperature			# Engine intake manifold temperature, kelvin
float32 coolant_temperature				# Engine coolant temperature, kelvin
float32 oil_pressure					# Oil pressure, kilopascal
float32 oil_temperature					# Oil temperature, kelvin
float32 fuel_pressure					# Fuel pressure, kilopascal
float32 fuel_consumption_rate_cm3pm			# Instant fuel consumption estimate, (centimeter^3)/minute
float32 estimated_consumed_fuel_volume_cm3		# Estimate of the consumed fuel since the start of the engine, centimeter^3
uint8 throttle_position_percent				# Throttle position, percent
uint8 ecu_index						# 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					# Spark plug activity report.

float32 ignition_timing_deg				# Cylinder ignition timing, angular degrees of the crankshaft
float32 injection_time_ms				# Fuel injection time, millisecond
float32 cylinder_head_temperature			# Cylinder head temperature (CHT), kelvin
float32 exhaust_gas_temperature				# Exhaust gas temperature (EGT), kelvin
float32 lambda_coefficient				# Estimated lambda coefficient, dimensionless ratio