Skip to content

SetpointConfig (UORB message) ​

Setpoint configuration message.

Published by external modes and PX4 will respond with SetpointConfigReply.

TOPICS: setpoint_config

Fields ​

NameTypeUnit [Frame]Range/EnumDescription
timestampuint64usTime since system start
typeuint16TYPEsetpoint type (corresponding to one or more setpoint messages)
source_iduint8nav_state of the mode
should_applyboolif true: apply as current setpoint configuration (mode should be active). If false: setpoint configuration is not changed (can be used to check if a setpoint can be used with the current vehicle configuration).
timeout_msuint16Configure setpoint timeout. If no setpoint received for this time, PX4 triggers a failsafe. 0 disables the timeout (unresponsive modes still trigger a timeout through arming checks).

Enums ​

TYPE ​

Used in field(s): type

NameTypeValueDescription
TYPE_INVALIDuint160
TYPE_DIRECT_ACTUATORSuint161ActuatorMotors and ActuatorServos
TYPE_MULTICOPTER_GOTOuint162GotoSetpoint
TYPE_FIXEDWING_LATERAL_LONGITUDINALuint163FixedWingLateralSetpoint and FixedWingLongitudinalSetpoint
TYPE_TRAJECTORYuint164TrajectorySetpoint
TYPE_RATESuint165VehicleRatesSetpoint
TYPE_ATTITUDEuint166VehicleAttitudeSetpoint
TYPE_SURFACE_VEHICLE_POSITIONuint167SurfaceVehiclePositionSetpoint
TYPE_SURFACE_VEHICLE_SPEED_ATTITUDEuint168SurfaceVehicleSpeedSetpoint and SurfaceVehicleAttitudeSetpoint
TYPE_SURFACE_VEHICLE_SPEED_RATEuint169SurfaceVehicleSpeedSetpoint and SurfaceVehicleRateSetpoint
TYPE_SURFACE_VEHICLE_SPEED_STEERINGuint1610SurfaceVehicleSpeedSetpoint and SurfaceVehicleSteeringSetpoint
TYPE_ROVER_THROTTLE_ATTITUDEuint1611RoverThrottleSetpoint and SurfaceVehicleAttitudeSetpoint
TYPE_ROVER_THROTTLE_RATEuint1612RoverThrottleSetpoint and SurfaceVehicleRateSetpoint
TYPE_ROVER_THROTTLE_STEERINGuint1613RoverThrottleSetpoint and SurfaceVehicleSteeringSetpoint
TYPE_TRAJECTORY_6DOFuint1614TrajectorySetpoint6dof
TYPE_THRUST_AND_TORQUEuint1615VehicleThrustSetpoint and VehicleTorqueSetpoint
TYPE_POSITION_TRIPLETuint1616PositionSetpointTriplet

Constants ​

NameTypeValueDescription
MESSAGE_VERSIONuint320

Source Message ​

Source file (GitHub)

Click here to see original file
c
# Setpoint configuration message
#
# Published by external modes and PX4 will respond with SetpointConfigReply.

uint32 MESSAGE_VERSION = 0

uint64 timestamp # [us] Time since system start

uint16 TYPE_INVALID = 0
uint16 TYPE_DIRECT_ACTUATORS = 1 # ActuatorMotors and ActuatorServos
uint16 TYPE_MULTICOPTER_GOTO = 2 # GotoSetpoint
uint16 TYPE_FIXEDWING_LATERAL_LONGITUDINAL = 3 # FixedWingLateralSetpoint and FixedWingLongitudinalSetpoint
uint16 TYPE_TRAJECTORY = 4 # TrajectorySetpoint
uint16 TYPE_RATES = 5 # VehicleRatesSetpoint
uint16 TYPE_ATTITUDE = 6 # VehicleAttitudeSetpoint
uint16 TYPE_SURFACE_VEHICLE_POSITION = 7 # SurfaceVehiclePositionSetpoint
uint16 TYPE_SURFACE_VEHICLE_SPEED_ATTITUDE = 8 # SurfaceVehicleSpeedSetpoint and SurfaceVehicleAttitudeSetpoint
uint16 TYPE_SURFACE_VEHICLE_SPEED_RATE = 9 # SurfaceVehicleSpeedSetpoint and SurfaceVehicleRateSetpoint
uint16 TYPE_SURFACE_VEHICLE_SPEED_STEERING = 10 # SurfaceVehicleSpeedSetpoint and SurfaceVehicleSteeringSetpoint
uint16 TYPE_ROVER_THROTTLE_ATTITUDE = 11 # RoverThrottleSetpoint and SurfaceVehicleAttitudeSetpoint
uint16 TYPE_ROVER_THROTTLE_RATE = 12 # RoverThrottleSetpoint and SurfaceVehicleRateSetpoint
uint16 TYPE_ROVER_THROTTLE_STEERING = 13 # RoverThrottleSetpoint and SurfaceVehicleSteeringSetpoint
uint16 TYPE_TRAJECTORY_6DOF = 14 # TrajectorySetpoint6dof
uint16 TYPE_THRUST_AND_TORQUE = 15 # VehicleThrustSetpoint and VehicleTorqueSetpoint
uint16 TYPE_POSITION_TRIPLET = 16 # PositionSetpointTriplet

uint16 type # [@enum TYPE] setpoint type (corresponding to one or more setpoint messages)

uint8 source_id # nav_state of the mode

bool should_apply # if true: apply as current setpoint configuration (mode should be active). If false: setpoint configuration is not changed (can be used to check if a setpoint can be used with the current vehicle configuration).

uint16 timeout_ms # Configure setpoint timeout. If no setpoint received for this time, PX4 triggers a failsafe. 0 disables the timeout (unresponsive modes still trigger a timeout through arming checks).