* use new error handling API from rcutils
Signed-off-by: William Woodall <william@osrfoundation.org>
* use semicolons after macros
Signed-off-by: William Woodall <william@osrfoundation.org>
* use new error handling API from rcutils
Signed-off-by: William Woodall <william@osrfoundation.org>
* minimize vertical whitespace
Signed-off-by: William Woodall <william@osrfoundation.org>
* use semicolons after macros
Signed-off-by: William Woodall <william@osrfoundation.org>
* Fix buggy if-conditions in transition functions.
* Bugfix: incease number of states by one
* Cleanup CMakeLists.txt and package.xml
* Move goal state machine implementation details from header to C file
* Create rcl_action package with proposed headers for:
- Action client
- Action server
- Goal handle
- Goal state machine
- Types
* Add rcl_action.h and Doxyfile
* Add functions for adding action clients and action servers to a wait set
* Add default QoS profile for status topic and document default options for action clients/servers
* Include all headers in a .c file for testing compilation
* Add semicolons to all RCLCPP and RCUTILS macros.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Add semicolons in Windows stdatomic_helper.h
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* rcl_wait() on timers with ROS clock
Timers handle time jump callbacks
rcl_wait() wakes when ros time gets a time after timer's next call time
* Set timer impl to NULL after fini
* Clock has multiple time jump callbacks
Replaces pre_update and post_update
Adds callbacks when ROS time is activated or deactivated
Add rcl_clock_change_t, rcl_time_jump_t, rcl_jump_threshold_t
Add rcl_clock_add_jump_callback()
Add rcl_clock_remove_jump_callback()
* Fini generic clock after confirming correct clock type
* test_time no ASAN detections
In get_value() function ret_val is allocated from rcutils_strdup when type is DATA_TYPE_STRING,
Should be deallocate in switch val_type=DATA_TYPE_STRING case.
Signed-off-by: Chris Ye <chris.ye@intel.com>
* initialize timer with clock
* use rcl_clock_get_now
* call rcl_clock_fini at the end of each test
* modify rcl_clock_get_now to take a rcl_time_point_value_t
* update docblock
* update to pass time_point_value
* add check for NULL
* add rcl_timer_clock()
* fix style
* doc fixes
* fini clock
* Set default logger level from command line
* Return INVALID_REMAP_RULE
* Add tests
* Do string parsing in rcutils
* Set log level after parsing all arguments
Less convenient but seems cleaner
* Document log arg format, custom return code
* Rename function
* Rename argument
* Refactor argument parsing after rebasing to include param files
* Renaming from param files support
* Doc fixup
* __log -> __log_level
* Use RCUTILS_SAFE_FWRITE_TO_STDERR on bad alloc
* doc fixup
* doc fixup
* Document behaviour if multiple __log_level rules found
* Update docblock formatting
* Label all documentation in arguments.c as internal
* remove old memory tools
* updates to use new memory_tools from osrf_testing_tools_cpp
* fixup new test
* fix lambda captures for Windows
* uncrustify fix
* extra_test_env -> rmw_implementation_env_var
* Stray extra_test_libraries
* Use default rmw impl outside of for_each_rmw_implementation loop
* style fixup
* fix typo
* wip
* rcl_arguments_get_param_files() with char **
Restore version of function that outputs a char **
* _rcl_parse_param_rule() allocates string
Before this commit `rcl_parse_params` was allocating space the size of
the argument, but the space only needs to be as big as the argument
minus the prefix length.
* Debug print before incrementing num files
* Alloc and make sure to dealloc on failure
* fix print of parsed parameter rule
* rcutils types not needed as we dont use rcutils_string_array anymore
* minimal test
* cleanup debug prints
* linter fixup
* add tests for param arguments
* lint tests
* Doc for rcl_arguments_get_param_files_count()
* Shrink parameter files
* const param_prefix_len
* Copy parameter file names
* deallocate parameter files in fini
* free memory after tests pass