diff --git a/msg/versioned/ArmingCheckReply.msg b/msg/versioned/ArmingCheckReply.msg index 0efcc21738e..54e724bdb82 100644 --- a/msg/versioned/ArmingCheckReply.msg +++ b/msg/versioned/ArmingCheckReply.msg @@ -1,35 +1,43 @@ +# Arming check reply. +# +# This is a response to an ArmingCheckRequest message sent by the FMU to an external component, such as a ROS 2 navigation mode. +# The response contains the current set of external mode requirements, and a queue of events indicating recent failures to set the mode (which the FMU may then forward to a ground station). +# The request is sent regularly to all registered ROS modes, even while armed, so that the FMU always knows and can forward the current state. +# +# Note that the external component is identified by its registration_id, which is allocated to the component during registration (arming_check_id in RegisterExtComponentReply). +# The message is not used by internal/FMU components, as their mode requirements are known at compile time. + uint32 MESSAGE_VERSION = 1 -uint64 timestamp # time since system start (microseconds) +uint64 timestamp # [us] Time since system start. -uint8 request_id -uint8 registration_id +uint8 request_id # Id of ArmingCheckRequest for which this is a response. +uint8 registration_id # Id of external component emitting this response. -uint8 HEALTH_COMPONENT_INDEX_NONE = 0 +uint8 HEALTH_COMPONENT_INDEX_NONE = 0 # Index of health component for which this response applies. -uint8 health_component_index # HEALTH_COMPONENT_INDEX_* -bool health_component_is_present -bool health_component_warning -bool health_component_error +uint8 health_component_index # [@enum HEALTH_COMPONENT_INDEX] +bool health_component_is_present # Unused. Intended for use with health events interface (health_component_t in events.json). +bool health_component_warning # Unused. Intended for use with health events interface (health_component_t in events.json). +bool health_component_error # Unused. Intended for use with health events interface (health_component_t in events.json). -bool can_arm_and_run # whether arming is possible, and if it's a navigation mode, if it can run +bool can_arm_and_run # True if the component can arm. For navigation mode components, true if the component can arm in the mode or switch to the mode when already armed. -uint8 num_events +uint8 num_events # Number of queued failure messages (Event) in the events field. -Event[5] events +Event[5] events # Arming failure reasons (Queue of events to report to GCS). # Mode requirements -bool mode_req_angular_velocity -bool mode_req_attitude -bool mode_req_local_alt -bool mode_req_local_position -bool mode_req_local_position_relaxed -bool mode_req_global_position -bool mode_req_global_position_relaxed -bool mode_req_mission -bool mode_req_home_position -bool mode_req_prevent_arming -bool mode_req_manual_control +bool mode_req_angular_velocity # Requires angular velocity estimate (e.g. from gyroscope). +bool mode_req_attitude # Requires an attitude estimate. +bool mode_req_local_alt # Requires a local altitude estimate. +bool mode_req_local_position # Requires a local position estimate. +bool mode_req_local_position_relaxed # Requires a more relaxed global position estimate. +bool mode_req_global_position # Requires a global position estimate. +bool mode_req_global_position_relaxed # Requires a relaxed global position estimate. +bool mode_req_mission # Requires an uploaded mission. +bool mode_req_home_position # Requires a home position (such as RTL/Return mode). +bool mode_req_prevent_arming # Prevent arming (such as in Land mode). +bool mode_req_manual_control # Requires a manual controller - -uint8 ORB_QUEUE_LENGTH = 4 +uint8 ORB_QUEUE_LENGTH = 4 # diff --git a/msg/versioned/ArmingCheckRequest.msg b/msg/versioned/ArmingCheckRequest.msg index 17c6e4bacd9..37a56e3c4bb 100644 --- a/msg/versioned/ArmingCheckRequest.msg +++ b/msg/versioned/ArmingCheckRequest.msg @@ -1,7 +1,14 @@ +# Arming check request. +# +# Broadcast message to request arming checks be reported by all registered components, such as external ROS 2 navigation modes. +# All registered components should respond with an ArmingCheckReply message that indicates their current mode requirements, and any arming failure information. +# The request is sent regularly, even while armed, so that the FMU always knows the current arming state for external modes, and can forward it to ground stations. +# +# The reply will include the published request_id, allowing correlation of all arming check information for a particular request. +# The reply will also include the registration_id for each external component, provided to it during the registration process (RegisterExtComponentReply). + uint32 MESSAGE_VERSION = 0 -uint64 timestamp # time since system start (microseconds) +uint64 timestamp # [us] Time since system start. -# broadcast message to request all registered arming checks to be reported - -uint8 request_id +uint8 request_id # Id of this request. Allows correlation with associated ArmingCheckReply messages.