InternalCombustionEngineStatus (UORB message)
TOPICS: internal_combustion_engine_status
Fields
| Name | Type | Unit [Frame] | Range/Enum | Description |
|---|---|---|---|---|
| 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
SUBSTATE
Used in field(s): substate
| Name | Type | Value | Description |
|---|---|---|---|
| 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
SPARK_PLUG
Used in field(s): spark_plug_usage
| Name | Type | Value | Description |
|---|---|---|---|
| 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
Click here to see original file
c
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