New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add parameter-related templates to LifecycleNode #645
Conversation
@vinnamkim looks like there are some whitespace errors in this patch. I would recommend running |
@Karsten1987, thanks for your comments. I did double check with ament_lintcpp and colcon test. It seems there are no errors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm. Just one little nitpick and we're good to merge.
Signed-off-by: vinnamkim <vinnam.kim@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please don't force push on this PR because it's difficult to partially review it.
It looks like there is another/new style error, in form of a missing new line.
Co-Authored-By: vinnamkim <vinnam.kim@gmail.com>
thanks for iterating over this |
No problem. Since I'm a newbie on an open source project, It have been helpful to me a lot. |
This patch introduced new linter warnings: see https://ci.ros2.org/view/nightly/job/nightly_linux_debug/lastCompletedBuild/testReport/(root)/projectroot/cpplint/ Please address them asap. Also please make sure that the CI passes green on the latest state of the patch (or at least run tests locally after making changes to the patch) in the future. |
My bad, should have run CI again. Linter is addressed here: #672 new CI: |
* Add interfaces for events in memory_strategy Signed-off-by: Miaofei <miaofei@amazon.com> * refactor waitables Signed-off-by: Miaofei <miaofei@amazon.com> * Attempt to fix cppcheck (ros2#646) Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * add event callbacks to publisher, subscriber, client, service Signed-off-by: Miaofei <miaofei@amazon.com> * fix some ros2 build issues Signed-off-by: Miaofei <miaofei@amazon.com> * Add a method to the LifecycleNode class to get the logging interface (ros2#652) There are getters for the other interfaces, but the logging interface appears to have been overlooked. Signed-off-by: Michael Jeronimo <michael.jeronimo@intel.com> * Add Doxyfile for rclcpp_action Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add documentation to rclcpp_action Signed-off-by: Jacob Perron <jacob@openrobotics.org> * update to use separated action types (ros2#601) * match renamed action types * fix action type casting * rename type/field to use correct term * rename custom GoalID type to avoid naming collision, update types using unique_identifier_msgs * remove obsolete comments * change signature of set_succeeded / set_canceled * change signature of on_terminal_state_(uuid_, result_msg);set_succeeded / set_canceled * change signature of set_aborted * change signature of publish_feedback * update another test Signed-off-by: Miaofei <miaofei@amazon.com> * update client-facing API Signed-off-by: Miaofei <miaofei@amazon.com> * Don't hardcode int64_t for duration type representations (ros2#648) In LLVM's `libcxx`, `int64_t` doesn't match chrono literals. See example below. To compile, run `clang++-6.0 -stdlib=libc++ -std=c++14 TEST.cpp` ``` using namespace std::chrono_literals; template<typename RatioT = std::milli> bool wait_for_service( std::chrono::duration<int64_t, RatioT> timeout ) { return timeout == std::chrono::nanoseconds(0); } int main() { wait_for_service(2s); return 0; } ``` Result of compilation ``` TEST.cpp:6:1: note: candidate template ignored: could not match 'long' against 'long long' wait_for_service( ``` Signed-off-by: Emerson Knapp <eknapp@amazon.com> Signed-off-by: Steven! Ragnarök <steven@nuclearsandwich.com> * improve usability of the SubscriptionOptions and PublisherOptions classes Signed-off-by: Miaofei <miaofei@amazon.com> * Fix test_time_source test (ros2#639) * Fix flakey test Signed-off-by: Pete Baughman <pete.baughman@apex.ai> * Fix lint and uncrustify issues Signed-off-by: Pete Baughman <pete.baughman@apex.ai> * fix lint errors Signed-off-by: Miaofei <miaofei@amazon.com> * apply uncrustify Signed-off-by: Miaofei <miaofei@amazon.com> * add section about DCO to CONTRIBUTING.md * update for rcl API changes Signed-off-by: Miaofei <miaofei@amazon.com> * Fix lint and build warnings and API inconsistency Signed-off-by: Emerson Knapp <eknapp@amazon.com> * Avoid race that triggers timer too often (ros2#621) The two distinct operations of acquiring and subsequent checking of a timer have to be protected by one lock_guard against races with other threads. The releasing of a timer has to be protected by the same lock. Given this requirement there is no use for a second mutex. Signed-off-by: Marko Durkovic <marko@ternaris.com> * Back out Waitable and GraphEvent-related changes Signed-off-by: Emerson Knapp <eknapp@amazon.com> * add publisher and subscription events to AllocatorMemoryStrategy * Add stub API for assert_liveliness * Fix use_sim_time issue on LifeCycleNode (ros2#651) Signed-off-by: vinnamkim <vinnam.kim@gmail.com> * revert changes to client and services address PR comments Signed-off-by: Miaofei <miaofei@amazon.com> * Add parameter-related templates to LifecycleNode (ros2#645) * Add parameter-related templates to LifecycleNode Signed-off-by: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp Co-Authored-By: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp * update API calls into rcl * fix linter errors in rclcpp_lifecycle (ros2#672) Signed-off-by: Karsten Knese <karsten@openrobotics.org>
* New interfaces for incoming QoS features Adds new PublisherOptions and SubscriptionOptions classes, with new Publisher and Subscriber constructors to accept them. Adds the liveliness assertion callbacks that will be needed for the new Liveliness QoS policy Signed-off-by: Emerson Knapp <eknapp@amazon.com> * Fix options usage in implementation, and add test to catch that code path. Signed-off-by: Emerson Knapp <eknapp@amazon.com> * rclcpp QoS implementation (#2) * Add interfaces for events in memory_strategy Signed-off-by: Miaofei <miaofei@amazon.com> * refactor waitables Signed-off-by: Miaofei <miaofei@amazon.com> * Attempt to fix cppcheck (ros2#646) Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * add event callbacks to publisher, subscriber, client, service Signed-off-by: Miaofei <miaofei@amazon.com> * fix some ros2 build issues Signed-off-by: Miaofei <miaofei@amazon.com> * Add a method to the LifecycleNode class to get the logging interface (ros2#652) There are getters for the other interfaces, but the logging interface appears to have been overlooked. Signed-off-by: Michael Jeronimo <michael.jeronimo@intel.com> * Add Doxyfile for rclcpp_action Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add documentation to rclcpp_action Signed-off-by: Jacob Perron <jacob@openrobotics.org> * update to use separated action types (ros2#601) * match renamed action types * fix action type casting * rename type/field to use correct term * rename custom GoalID type to avoid naming collision, update types using unique_identifier_msgs * remove obsolete comments * change signature of set_succeeded / set_canceled * change signature of on_terminal_state_(uuid_, result_msg);set_succeeded / set_canceled * change signature of set_aborted * change signature of publish_feedback * update another test Signed-off-by: Miaofei <miaofei@amazon.com> * update client-facing API Signed-off-by: Miaofei <miaofei@amazon.com> * Don't hardcode int64_t for duration type representations (ros2#648) In LLVM's `libcxx`, `int64_t` doesn't match chrono literals. See example below. To compile, run `clang++-6.0 -stdlib=libc++ -std=c++14 TEST.cpp` ``` using namespace std::chrono_literals; template<typename RatioT = std::milli> bool wait_for_service( std::chrono::duration<int64_t, RatioT> timeout ) { return timeout == std::chrono::nanoseconds(0); } int main() { wait_for_service(2s); return 0; } ``` Result of compilation ``` TEST.cpp:6:1: note: candidate template ignored: could not match 'long' against 'long long' wait_for_service( ``` Signed-off-by: Emerson Knapp <eknapp@amazon.com> Signed-off-by: Steven! Ragnarök <steven@nuclearsandwich.com> * improve usability of the SubscriptionOptions and PublisherOptions classes Signed-off-by: Miaofei <miaofei@amazon.com> * Fix test_time_source test (ros2#639) * Fix flakey test Signed-off-by: Pete Baughman <pete.baughman@apex.ai> * Fix lint and uncrustify issues Signed-off-by: Pete Baughman <pete.baughman@apex.ai> * fix lint errors Signed-off-by: Miaofei <miaofei@amazon.com> * apply uncrustify Signed-off-by: Miaofei <miaofei@amazon.com> * add section about DCO to CONTRIBUTING.md * update for rcl API changes Signed-off-by: Miaofei <miaofei@amazon.com> * Fix lint and build warnings and API inconsistency Signed-off-by: Emerson Knapp <eknapp@amazon.com> * Avoid race that triggers timer too often (ros2#621) The two distinct operations of acquiring and subsequent checking of a timer have to be protected by one lock_guard against races with other threads. The releasing of a timer has to be protected by the same lock. Given this requirement there is no use for a second mutex. Signed-off-by: Marko Durkovic <marko@ternaris.com> * Back out Waitable and GraphEvent-related changes Signed-off-by: Emerson Knapp <eknapp@amazon.com> * add publisher and subscription events to AllocatorMemoryStrategy * Add stub API for assert_liveliness * Fix use_sim_time issue on LifeCycleNode (ros2#651) Signed-off-by: vinnamkim <vinnam.kim@gmail.com> * revert changes to client and services address PR comments Signed-off-by: Miaofei <miaofei@amazon.com> * Add parameter-related templates to LifecycleNode (ros2#645) * Add parameter-related templates to LifecycleNode Signed-off-by: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp Co-Authored-By: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp * update API calls into rcl * fix linter errors in rclcpp_lifecycle (ros2#672) Signed-off-by: Karsten Knese <karsten@openrobotics.org> * Update to use the new interface definitions Signed-off-by: Emerson Knapp <eknapp@amazon.com> * Remove duplicate event_handlers_
* Add parameter-related templates to LifecycleNode Signed-off-by: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp Co-Authored-By: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp Signed-off-by: Jacob Hassold <jhassold@dcscorp.com>
* Add parameter-related templates to LifecycleNode Signed-off-by: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp Co-Authored-By: vinnamkim <vinnam.kim@gmail.com> * Update rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
In vendor packages where we're installing an executable, we use USE_SOURCE_PERMISSIONS to make sure that the executable permissions on the binaries are maintained when the external project's staging directory is recursively installed to the final installation directory. In most of our vendor packages, we aren't using that flag where we don't expect an executable binary to be installed. However, for reasons I won't go into here, some systems use executable permissions on shared object libraries as well. The linker seems to handle this on our behalf, but we're losing the permissions during the recursive copy operation if we don't use this flag. Signed-off-by: Scott K Logan <logans@cottsay.net>
This commit is related to issue #642
Signed-off-by: vinnamkim vinnam.kim@gmail.com