diff --git a/rcl/Doxyfile b/rcl/Doxyfile index 30dbcae3c..60f139b5a 100644 --- a/rcl/Doxyfile +++ b/rcl/Doxyfile @@ -8,7 +8,6 @@ INPUT = ./include RECURSIVE = YES OUTPUT_DIRECTORY = doc_output -EXTRACT_ALL = YES SORT_MEMBER_DOCS = NO GENERATE_LATEX = NO diff --git a/rcl/include/rcl/client.h b/rcl/include/rcl/client.h index df5d72b6f..97dade4f2 100644 --- a/rcl/include/rcl/client.h +++ b/rcl/include/rcl/client.h @@ -32,6 +32,7 @@ struct rcl_client_impl_t; /// Structure which encapsulates a ROS Client. typedef struct rcl_client_t { + /// Pointer to the client implementation struct rcl_client_impl_t * impl; } rcl_client_t; diff --git a/rcl/include/rcl/event.h b/rcl/include/rcl/event.h index 10a279e6a..63a7bad3e 100644 --- a/rcl/include/rcl/event.h +++ b/rcl/include/rcl/event.h @@ -51,6 +51,7 @@ struct rcl_event_impl_t; /// Structure which encapsulates a ROS QoS event handle. typedef struct rcl_event_t { + /// Pointer to the event implementation struct rcl_event_impl_t * impl; } rcl_event_t; diff --git a/rcl/include/rcl/guard_condition.h b/rcl/include/rcl/guard_condition.h index 321965caf..9f40ccd6c 100644 --- a/rcl/include/rcl/guard_condition.h +++ b/rcl/include/rcl/guard_condition.h @@ -35,6 +35,7 @@ typedef struct rcl_guard_condition_t /// Context associated with this guard condition. rcl_context_t * context; + /// Pointer to the guard condition implementation struct rcl_guard_condition_impl_t * impl; } rcl_guard_condition_t; diff --git a/rcl/include/rcl/lexer_lookahead.h b/rcl/include/rcl/lexer_lookahead.h index a72f80b86..d50166e3f 100644 --- a/rcl/include/rcl/lexer_lookahead.h +++ b/rcl/include/rcl/lexer_lookahead.h @@ -34,6 +34,7 @@ struct rcl_lexer_lookahead2_impl_t; /// Track lexical analysis and allow looking ahead 2 lexemes. typedef struct rcl_lexer_lookahead2_t { + /// Pointer to the lexer look ahead2 implementation struct rcl_lexer_lookahead2_impl_t * impl; } rcl_lexer_lookahead2_t; diff --git a/rcl/include/rcl/publisher.h b/rcl/include/rcl/publisher.h index aeca4bb12..3c274d95a 100644 --- a/rcl/include/rcl/publisher.h +++ b/rcl/include/rcl/publisher.h @@ -32,6 +32,7 @@ struct rcl_publisher_impl_t; /// Structure which encapsulates a ROS Publisher. typedef struct rcl_publisher_t { + /// Pointer to the publisher implementation struct rcl_publisher_impl_t * impl; } rcl_publisher_t; diff --git a/rcl/include/rcl/service.h b/rcl/include/rcl/service.h index 78c16a608..a73cb3802 100644 --- a/rcl/include/rcl/service.h +++ b/rcl/include/rcl/service.h @@ -32,6 +32,7 @@ struct rcl_service_impl_t; /// Structure which encapsulates a ROS Service. typedef struct rcl_service_t { + /// Pointer to the service implementation struct rcl_service_impl_t * impl; } rcl_service_t; diff --git a/rcl/include/rcl/subscription.h b/rcl/include/rcl/subscription.h index ccaea82cf..e0d2dce5f 100644 --- a/rcl/include/rcl/subscription.h +++ b/rcl/include/rcl/subscription.h @@ -34,6 +34,7 @@ struct rcl_subscription_impl_t; /// Structure which encapsulates a ROS Subscription. typedef struct rcl_subscription_t { + /// Pointer to the subscription implementation struct rcl_subscription_impl_t * impl; } rcl_subscription_t; diff --git a/rcl/include/rcl/time.h b/rcl/include/rcl/time.h index a25086ece..a7bf53864 100644 --- a/rcl/include/rcl/time.h +++ b/rcl/include/rcl/time.h @@ -67,6 +67,7 @@ typedef enum rcl_clock_type_t /// A duration of time, measured in nanoseconds and its source. typedef struct rcl_duration_t { + /// Duration in nanoseconds and its source. rcl_duration_value_t nanoseconds; } rcl_duration_t; @@ -118,29 +119,38 @@ typedef struct rcl_jump_threshold_t /// Struct to describe an added callback. typedef struct rcl_jump_callback_info_t { + /// Callback to fucntion. rcl_jump_callback_t callback; + /// Threshold to decide when to call the callback. rcl_jump_threshold_t threshold; + /// Pointer passed to the callback. void * user_data; } rcl_jump_callback_info_t; /// Encapsulation of a time source. typedef struct rcl_clock_t { + /// Clock type enum rcl_clock_type_t type; /// An array of added jump callbacks. rcl_jump_callback_info_t * jump_callbacks; /// Number of callbacks in jump_callbacks. size_t num_jump_callbacks; + /// Pointer to get_now function rcl_ret_t (* get_now)(void * data, rcl_time_point_value_t * now); // void (*set_now) (rcl_time_point_value_t); + /// Clock storage void * data; + /// Custom allocator used for internal allocations. rcl_allocator_t allocator; } rcl_clock_t; /// A single point in time, measured in nanoseconds, the reference point is based on the source. typedef struct rcl_time_point_t { + /// Nanoseconds of the point in time rcl_time_point_value_t nanoseconds; + /// Clock type of the point in time rcl_clock_type_t clock_type; } rcl_time_point_t; diff --git a/rcl/include/rcl/wait.h b/rcl/include/rcl/wait.h index 5ca26113f..f900d1107 100644 --- a/rcl/include/rcl/wait.h +++ b/rcl/include/rcl/wait.h @@ -40,21 +40,27 @@ typedef struct rcl_wait_set_t { /// Storage for subscription pointers. const rcl_subscription_t ** subscriptions; + /// Number of subscriptions size_t size_of_subscriptions; /// Storage for guard condition pointers. const rcl_guard_condition_t ** guard_conditions; + /// Number of guard_conditions size_t size_of_guard_conditions; /// Storage for timer pointers. const rcl_timer_t ** timers; + /// Number of timers size_t size_of_timers; /// Storage for client pointers. const rcl_client_t ** clients; + /// Number of clients size_t size_of_clients; /// Storage for service pointers. const rcl_service_t ** services; + /// Number of services size_t size_of_services; /// Storage for event pointers. const rcl_event_t ** events; + /// Number of events size_t size_of_events; /// Implementation specific storage. struct rcl_wait_set_impl_t * impl; diff --git a/rcl_action/Doxyfile b/rcl_action/Doxyfile index 264d284bc..1a57461b3 100644 --- a/rcl_action/Doxyfile +++ b/rcl_action/Doxyfile @@ -8,7 +8,6 @@ INPUT = ./include RECURSIVE = YES OUTPUT_DIRECTORY = doc_output -EXTRACT_ALL = YES SORT_MEMBER_DOCS = NO GENERATE_LATEX = NO @@ -21,7 +20,6 @@ PREDEFINED += RCL_WARN_UNUSED= # Uncomment to generate internal documentation. ENABLED_SECTIONS = INTERNAL -INPUT += ./src/rcl/arguments.c # Tag files that do not exist will produce a warning and cross-project linking will not work. TAGFILES += "../../../../doxygen_tag_files/cppreference-doxygen-web.tag.xml=http://en.cppreference.com/w/" diff --git a/rcl_action/include/rcl_action/action_client.h b/rcl_action/include/rcl_action/action_client.h index c23efb578..430d05e66 100644 --- a/rcl_action/include/rcl_action/action_client.h +++ b/rcl_action/include/rcl_action/action_client.h @@ -32,6 +32,7 @@ struct rcl_action_client_impl_t; /// Structure which encapsulates a ROS action client. typedef struct rcl_action_client_t { + /// Pointer to the action client implementation struct rcl_action_client_impl_t * impl; } rcl_action_client_t; @@ -39,10 +40,15 @@ typedef struct rcl_action_client_t typedef struct rcl_action_client_options_t { /// Middleware quality of service settings for the action client. + /// Goal service quality of service rmw_qos_profile_t goal_service_qos; + /// Result service quality of service rmw_qos_profile_t result_service_qos; + /// Cancel service quality of service rmw_qos_profile_t cancel_service_qos; + /// Feedback topic quality of service rmw_qos_profile_t feedback_topic_qos; + /// Status topic quality of service rmw_qos_profile_t status_topic_qos; /// Custom allocator for the action client, used for incidental allocations. /** For default behavior (malloc/free), see: rcl_get_default_allocator() */ diff --git a/rcl_action/include/rcl_action/action_server.h b/rcl_action/include/rcl_action/action_server.h index df5b4fb6b..79abff41f 100644 --- a/rcl_action/include/rcl_action/action_server.h +++ b/rcl_action/include/rcl_action/action_server.h @@ -35,6 +35,7 @@ struct rcl_action_server_impl_t; /// Structure which encapsulates a ROS Action Server. typedef struct rcl_action_server_t { + /// Pointer to the action server implementation struct rcl_action_server_impl_t * impl; } rcl_action_server_t; @@ -42,10 +43,15 @@ typedef struct rcl_action_server_t typedef struct rcl_action_server_options_t { /// Middleware quality of service settings for the action server. + /// Goal service quality of service rmw_qos_profile_t goal_service_qos; + /// Cancel service quality of service rmw_qos_profile_t cancel_service_qos; + /// Result service quality of service rmw_qos_profile_t result_service_qos; + /// Feedback topic quality of service rmw_qos_profile_t feedback_topic_qos; + /// Status topic quality of service rmw_qos_profile_t status_topic_qos; /// Custom allocator for the action server, used for incidental allocations. /** For default behavior (malloc/free), see: rcl_get_default_allocator() */ diff --git a/rcl_action/include/rcl_action/goal_handle.h b/rcl_action/include/rcl_action/goal_handle.h index c1410a4c6..8fd336776 100644 --- a/rcl_action/include/rcl_action/goal_handle.h +++ b/rcl_action/include/rcl_action/goal_handle.h @@ -32,6 +32,7 @@ struct rcl_action_goal_handle_impl_t; /// Goal handle for an action. typedef struct rcl_action_goal_handle_t { + /// Pointer to the action goal handle implementation struct rcl_action_goal_handle_impl_t * impl; } rcl_action_goal_handle_t; diff --git a/rcl_action/include/rcl_action/types.h b/rcl_action/include/rcl_action/types.h index 47785fea2..d5f60e446 100644 --- a/rcl_action/include/rcl_action/types.h +++ b/rcl_action/include/rcl_action/types.h @@ -65,15 +65,19 @@ typedef struct rcl_action_server_t rcl_action_server_t; // Typedef generated messages for convenience typedef action_msgs__msg__GoalInfo rcl_action_goal_info_t; typedef action_msgs__msg__GoalStatus rcl_action_goal_status_t; +/// Struct with the action goal status array typedef struct rcl_action_goal_status_array_t { + /// Goal status array message action_msgs__msg__GoalStatusArray msg; /// Allocator used to initialize this struct. rcl_allocator_t allocator; } rcl_action_goal_status_array_t; typedef action_msgs__srv__CancelGoal_Request rcl_action_cancel_request_t; +/// Struct with the action cancel response typedef struct rcl_action_cancel_response_t { + /// Cancel goal response message action_msgs__srv__CancelGoal_Response msg; /// Allocator used to initialize this struct. rcl_allocator_t allocator; diff --git a/rcl_lifecycle/Doxyfile b/rcl_lifecycle/Doxyfile index 8a1a10df3..7576d71da 100644 --- a/rcl_lifecycle/Doxyfile +++ b/rcl_lifecycle/Doxyfile @@ -8,7 +8,6 @@ INPUT = ./include RECURSIVE = YES OUTPUT_DIRECTORY = doc_output -EXTRACT_ALL = YES SORT_MEMBER_DOCS = NO GENERATE_LATEX = NO diff --git a/rcl_lifecycle/include/rcl_lifecycle/data_types.h b/rcl_lifecycle/include/rcl_lifecycle/data_types.h index e6f9a8f71..ab70c9670 100644 --- a/rcl_lifecycle/include/rcl_lifecycle/data_types.h +++ b/rcl_lifecycle/include/rcl_lifecycle/data_types.h @@ -26,48 +26,74 @@ extern "C" typedef struct rcl_lifecycle_transition_t rcl_lifecycle_transition_t; +/// It contains the state of the lifecycle state machine typedef struct rcl_lifecycle_state_t { + /// String with state name: Unconfigured, Inactive, Active or Finalized const char * label; + /// Identifier of the state unsigned int id; + /// Pointer to a struct with the valid transitions rcl_lifecycle_transition_t * valid_transitions; + /// Number of valid transitions unsigned int valid_transition_size; } rcl_lifecycle_state_t; +/// It contains the transitions of the lifecycle state machine typedef struct rcl_lifecycle_transition_t { + /// String with transition name: configuring, cleaningup, activating, deactivating, + /// errorprocessing or shuttingdown. const char * label; + /// Identifier of the transition unsigned int id; + /// The value where the transition is initialized rcl_lifecycle_state_t * start; + /// The objetive of the transition rcl_lifecycle_state_t * goal; } rcl_lifecycle_transition_t; +/// It contains the transition map states and transitions typedef struct rcl_lifecycle_transition_map_t { + /// States used to generate the transition map rcl_lifecycle_state_t * states; + /// Number of states unsigned int states_size; + /// Transitions used to generate the transition map rcl_lifecycle_transition_t * transitions; + /// Number of transitions unsigned int transitions_size; } rcl_lifecycle_transition_map_t; +/// It contains the communication interfac with the ROS world typedef struct rcl_lifecycle_com_interface_t { + /// Handle to the node used to create the publisher and the services rcl_node_t * node_handle; + /// Event used to publish the transitions rcl_publisher_t pub_transition_event; + /// Service that allows to trigger changes on the state rcl_service_t srv_change_state; + /// Service that allows to get the current state rcl_service_t srv_get_state; + /// Service that allows to get the available states rcl_service_t srv_get_available_states; + /// Service that allows to get the available transitions rcl_service_t srv_get_available_transitions; + /// Service that allows to get transitions from the graph rcl_service_t srv_get_transition_graph; } rcl_lifecycle_com_interface_t; +/// It contains the state machine data typedef struct rcl_lifecycle_state_machine_t { + /// Current state of the state machine const rcl_lifecycle_state_t * current_state; - // Map/Associated array of registered states and transitions + /// Map/Associated array of registered states and transitions rcl_lifecycle_transition_map_t transition_map; - // Communication interface into a ROS world + /// Communication interface into a ROS world rcl_lifecycle_com_interface_t com_interface; } rcl_lifecycle_state_machine_t; diff --git a/rcl_yaml_param_parser/Doxyfile b/rcl_yaml_param_parser/Doxyfile index 3d8981a0f..aa6311a21 100644 --- a/rcl_yaml_param_parser/Doxyfile +++ b/rcl_yaml_param_parser/Doxyfile @@ -9,7 +9,6 @@ USE_MDFILE_AS_MAINPAGE = README.md RECURSIVE = YES OUTPUT_DIRECTORY = doc_output -EXTRACT_ALL = YES SORT_MEMBER_DOCS = NO GENERATE_LATEX = NO diff --git a/rcl_yaml_param_parser/include/rcl_yaml_param_parser/parser.h b/rcl_yaml_param_parser/include/rcl_yaml_param_parser/parser.h index 37690c1e5..3243b43de 100644 --- a/rcl_yaml_param_parser/include/rcl_yaml_param_parser/parser.h +++ b/rcl_yaml_param_parser/include/rcl_yaml_param_parser/parser.h @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -/** \mainpage rcl_yaml_param_parser: Parse a YAML parameter file and populate the C data structure +/** rcl_yaml_param_parser: Parse a YAML parameter file and populate the C data structure * * - Parser * - rcl/parser.h diff --git a/rcl_yaml_param_parser/include/rcl_yaml_param_parser/types.h b/rcl_yaml_param_parser/include/rcl_yaml_param_parser/types.h index c7e6da79f..594f8d43d 100644 --- a/rcl_yaml_param_parser/include/rcl_yaml_param_parser/types.h +++ b/rcl_yaml_param_parser/include/rcl_yaml_param_parser/types.h @@ -17,41 +17,59 @@ #include "rcutils/allocator.h" #include "rcutils/types/string_array.h" -/// \typedef rcl_bool_array_t -/// \brief Array of bool values +/// Array of bool values +/* + * \typedef rcl_bool_array_t + */ typedef struct rcl_bool_array_s { + /// Array with bool values bool * values; + /// Number of values in the array size_t size; } rcl_bool_array_t; -/// \typedef rcl_int64_array_t -/// \brief Array of int64_t values +/// Array of int64_t values +/* + * \typedef rcl_int64_array_t + */ typedef struct rcl_int64_array_s { + /// Array with int64 values int64_t * values; + /// Number of values in the array size_t size; } rcl_int64_array_t; -/// \typedef rcl_double_array_t -/// \brief Array of double values +/// Array of double values +/* + * \typedef rcl_double_array_t + */ typedef struct rcl_double_array_s { + /// Array with double values double * values; + /// Number of values in the array size_t size; } rcl_double_array_t; -/// \typedef rcl_byte_array_t -/// \brief Array of byte values +/// Array of byte values +/* + * \typedef rcl_byte_array_t + */ typedef struct rcl_byte_array_s { + /// Array with uint8_t values uint8_t * values; + /// Number of values in the array size_t size; } rcl_byte_array_t; -/// \typedef rcl_variant_t -/// \brief variant_t stores the value of a parameter -/// Only one pointer in this struct will store the value +/// variant_t stores the value of a parameter +/* + * Only one pointer in this struct will store the value + * \typedef rcl_variant_t + */ typedef struct rcl_variant_s { bool * bool_value; ///< If bool, gets stored here @@ -65,8 +83,10 @@ typedef struct rcl_variant_s rcutils_string_array_t * string_array_value; ///< If array of strings } rcl_variant_t; -/// \typedef rcl_node_params_t -/// \brief node_params_t stores all the parameters(key:value) of a single node +/// node_params_t stores all the parameters(key:value) of a single node +/* +* \typedef rcl_node_params_t +*/ typedef struct rcl_node_params_s { char ** parameter_names; ///< Array of parameter names (keys) @@ -74,8 +94,10 @@ typedef struct rcl_node_params_s size_t num_params; ///< Number of parameters in the node } rcl_node_params_t; -/// \typedef rcl_params_t -/// \brief params_t stores all the parameters of all nodes of a process +/// stores all the parameters of all nodes of a process +/* +* \typedef rcl_params_t +*/ typedef struct rcl_params_s { char ** node_names; ///< List of names of the node