Files
PX4-Autopilot/docs/en/msg_docs/InternalCombustionEngineControl.md
T
2026-09-24 10:17:06 +00:00

3.8 KiB

pageClass
pageClass
is-wide-page

InternalCombustionEngineControl (UORB message)

Internal combustion engine (ICE) actuator setpoints.

Published by the internal_combustion_engine_control module, which runs the engine start/stop state machine and the idle RPM governor. The mixer maps these setpoints onto the IC Engine output functions (ignition, throttle, choke, starter), which are assigned to the flight controller outputs. The resulting state machine state is reported in InternalCombustionEngineStatus.

TOPICS: internal_combustion_engine_control

Fields

Name Type Unit [Frame] Range/Enum Description
timestamp uint64 us Time since system start
ignition_on bool Activate/deactivate the ignition (spark plug)
throttle_control float32 norm [0 : 1] Throttle actuator setpoint, rate limited by ICE_THR_SLEW. 0 is closed throttle (Invalid: NaN Stops the engine: output goes to its disarmed value)
choke_control float32 norm [0 : 1] Choke actuator setpoint, 1 is fully closed
starter_engine_control float32 norm [0 : 1] (Electric) starter motor setpoint
user_request_motor_on bool User intent for the engine to be running, from the source selected by ICE_ON_SOURCE

Source Message

Source file (GitHub)

::: details Click here to see original file

# Internal combustion engine (ICE) actuator setpoints
#
# Published by the `internal_combustion_engine_control` module, which runs the engine
# start/stop state machine and the idle RPM governor.
# The mixer maps these setpoints onto the IC Engine output functions (ignition,
# throttle, choke, starter), which are assigned to the flight controller outputs.
# The resulting state machine state is reported in `InternalCombustionEngineStatus`.

uint64 timestamp # [us] Time since system start

bool ignition_on # Activate/deactivate the ignition (spark plug)
float32 throttle_control # [norm] [@range 0, 1] [@invalid NaN Stops the engine: output goes to its disarmed value] Throttle actuator setpoint, rate limited by `ICE_THR_SLEW`. 0 is closed throttle
float32 choke_control # [norm] [@range 0, 1] Choke actuator setpoint, 1 is fully closed
float32 starter_engine_control # [norm] [@range 0, 1] (Electric) starter motor setpoint

bool user_request_motor_on # User intent for the engine to be running, from the source selected by `ICE_ON_SOURCE`

:::