diff --git a/rosgraph_msgs/msg/Action.msg b/rosgraph_msgs/msg/Action.msg new file mode 100644 index 00000000..fcb66dfa --- /dev/null +++ b/rosgraph_msgs/msg/Action.msg @@ -0,0 +1,11 @@ +# Describes a single Action endpoint, which may be a Server or Client + +# Fully qualified name of the Action +string name + +# An action is actually a composition of the following fundamental ROS entities +Service send_goal +Service get_result +Service cancel_goal +Topic feedback +Topic status diff --git a/rosgraph_msgs/msg/Graph.msg b/rosgraph_msgs/msg/Graph.msg new file mode 100644 index 00000000..0eee6979 --- /dev/null +++ b/rosgraph_msgs/msg/Graph.msg @@ -0,0 +1,2 @@ +# Represents a ROS node graph, which is only a collection of nodes +Node[] nodes diff --git a/rosgraph_msgs/msg/InterfaceType.msg b/rosgraph_msgs/msg/InterfaceType.msg new file mode 100644 index 00000000..ad200483 --- /dev/null +++ b/rosgraph_msgs/msg/InterfaceType.msg @@ -0,0 +1,8 @@ +# Represent a type of a ROS Graph Interface + +# The plaintext namespaced name of the type - e.g. sensor_msgs/Image +string name + +# The hash uniquely identifies the exact structure of the type, +# the definition of which may change between package version +TypeHash hash diff --git a/rosgraph_msgs/msg/Node.msg b/rosgraph_msgs/msg/Node.msg new file mode 100644 index 00000000..3a01df77 --- /dev/null +++ b/rosgraph_msgs/msg/Node.msg @@ -0,0 +1,24 @@ +# Represents the observable runtime state of a ROS Node +# Therefore, does not perfectly align with the abstract specification which created it. + +# Fully qualified node name (FQN) +string name + +# Parameter specifications for the node +rcl_interfaces/ParameterDescriptor[] parameters + +# Current values of the node's parameters +# NOTE: +# parameter_values[] must be empty, or the same size as parameters[] +# When set, parameter_values[] match 1:1 with the same index in parameters[] +rcl_interfaces/ParameterValue[] parameter_values + +# Communications endpoints - Topics, Services, and Actions +Topic[] publishers +Topic[] subscriptions + +Service[] service_clients +Service[] service_servers + +Action[] action_clients +Action[] action_servers diff --git a/rosgraph_msgs/msg/QoSProfile.msg b/rosgraph_msgs/msg/QoSProfile.msg new file mode 100644 index 00000000..56c9d16b --- /dev/null +++ b/rosgraph_msgs/msg/QoSProfile.msg @@ -0,0 +1,48 @@ +# Message-based representation of ROS 2 Quality of Service settings +# Default values are kept in sync with RMW by integration test +# Note that SYSTEM_DEFAULT and BEST_AVAILABLE values cannot be an observed value, +# because they resolve concretely at runtime. +# They are included here for completeness to match the data structures in RMW + +# Depth of the message queue (only meaningful when history==KEEP_LAST) +uint32 depth + +# Deadline between messages (0 for no deadline) +builtin_interfaces/Duration deadline + +# Lifespan of each message (0 for infinite) +builtin_interfaces/Duration lifespan + +# History policy +uint8 HISTORY_SYSTEM_DEFAULT=0 +uint8 HISTORY_KEEP_LAST=1 +uint8 HISTORY_KEEP_ALL=2 +uint8 HISTORY_UNKNOWN=3 +uint8 history + +# Reliability policy +uint8 RELIABILITY_SYSTEM_DEFAULT=0 +uint8 RELIABILITY_RELIABLE=1 +uint8 RELIABILITY_BEST_EFFORT=2 +uint8 RELIABILITY_UNKNOWN=3 +uint8 RELIABILITY_BEST_AVAILABLE=4 +uint8 reliability + +# Durability policy +uint8 DURABILITY_SYSTEM_DEFAULT=0 +uint8 DURABILITY_TRANSIENT_LOCAL=1 +uint8 DURABILITY_VOLATILE=2 +uint8 DURABILITY_UNKNOWN=3 +uint8 DURABILITY_BEST_AVAILABLE=4 +uint8 durability + +# Liveliness policy +uint8 LIVELINESS_SYSTEM_DEFAULT=0 +uint8 LIVELINESS_AUTOMATIC=1 +uint8 LIVELINESS_MANUAL_BY_TOPIC=3 +uint8 LIVELINESS_UNKNOWN=4 +uint8 LIVELINESS_BEST_AVAILABLE=5 +uint8 liveliness + +# Lease duration for liveliness (0 for infinite) +builtin_interfaces/Duration liveliness_lease_duration diff --git a/rosgraph_msgs/msg/Service.msg b/rosgraph_msgs/msg/Service.msg new file mode 100644 index 00000000..d00e75d0 --- /dev/null +++ b/rosgraph_msgs/msg/Service.msg @@ -0,0 +1,12 @@ +# Describes a single Service endpoint, which may be a Server or Client + +# Fully qualified name of the Service +string name + +# Type and actual QoS of the request publisher (Client) or subscription (Server) +InterfaceType request_type +QoSProfile request_qos + +# Type and actual QoS of the request subscription (Client) or publisher (Server) +InterfaceType response_type +QoSProfile response_qos diff --git a/rosgraph_msgs/msg/Topic.msg b/rosgraph_msgs/msg/Topic.msg new file mode 100644 index 00000000..6932f5d8 --- /dev/null +++ b/rosgraph_msgs/msg/Topic.msg @@ -0,0 +1,10 @@ +# Describes a single topic endpoint, which may be a Publisher or Subscription + +# Fully qualified name of the topic +string name + +# Type of the topic +InterfaceType type + +# Observed QoS of the endpoint +QoSProfile qos diff --git a/rosgraph_msgs/msg/TypeHash.msg b/rosgraph_msgs/msg/TypeHash.msg new file mode 100644 index 00000000..f039741f --- /dev/null +++ b/rosgraph_msgs/msg/TypeHash.msg @@ -0,0 +1,4 @@ +# RIHS spec version +uint8 version 1 +# ROSIDL_TYPE_HASH_SIZE == 32 +uint8[32] value diff --git a/rosgraph_msgs/package.xml b/rosgraph_msgs/package.xml index 18b8605f..b3d16af1 100644 --- a/rosgraph_msgs/package.xml +++ b/rosgraph_msgs/package.xml @@ -21,8 +21,10 @@ rosidl_default_generators builtin_interfaces + rcl_interfaces builtin_interfaces + rcl_interfaces rosidl_default_runtime ament_lint_common