diff --git a/lifecycle_msgs/CMakeLists.txt b/lifecycle_msgs/CMakeLists.txt new file mode 100644 index 00000000..e0b6e466 --- /dev/null +++ b/lifecycle_msgs/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.5) + +project(lifecycle_msgs) + +if(NOT WIN32) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra") +endif() + +find_package(ament_cmake REQUIRED) +find_package(rosidl_default_generators REQUIRED) +find_package(std_msgs REQUIRED) + +set(msg_files + "msg/Transition.msg" +) +set(srv_files + "srv/ChangeState.srv" + "srv/GetState.srv" +) + +rosidl_generate_interfaces(${PROJECT_NAME} + ${msg_files} + ${srv_files} + DEPENDENCIES std_msgs + ADD_LINTER_TESTS +) + +ament_export_dependencies(rosidl_default_runtime) + +ament_package() diff --git a/lifecycle_msgs/msg/Transition.msg b/lifecycle_msgs/msg/Transition.msg new file mode 100644 index 00000000..d21d96b3 --- /dev/null +++ b/lifecycle_msgs/msg/Transition.msg @@ -0,0 +1,12 @@ +# Default values for primary states +# as described on +# http://design.ros2.org/articles/node_lifecycle.html + +uint8 STATE_UNKNOWN = 0 +uint8 STATE_UNCONFIGURED = 1 +uint8 STATE_INACTIVE = 2 +uint8 STATE_ACTIVE = 3 +uint8 STATE_FINALIZED = 4 + +uint8 start_state +uint8 goal_state diff --git a/lifecycle_msgs/package.xml b/lifecycle_msgs/package.xml new file mode 100644 index 00000000..4303c32c --- /dev/null +++ b/lifecycle_msgs/package.xml @@ -0,0 +1,23 @@ + + + + lifecycle_msgs + 0.0.0 + A package containing some lifecycle related message and service definitions. + Karsten Knese + Apache License 2.0 + + ament_cmake + rosidl_default_generators + + std_msgs + + rosidl_default_runtime + std_msgs + + ament_lint_common + + + ament_cmake + + diff --git a/lifecycle_msgs/srv/ChangeState.srv b/lifecycle_msgs/srv/ChangeState.srv new file mode 100644 index 00000000..55228e0e --- /dev/null +++ b/lifecycle_msgs/srv/ChangeState.srv @@ -0,0 +1,11 @@ +uint8 TRANSITION_CONFIGURING = 10 +uint8 TRANSITION_CLEANINGUP = 11 +uint8 TRANSITION_SHUTTINGDOWN = 12 +uint8 TRANSITION_ACTIVATING = 13 +uint8 TRANSITION_DEACTIVATING = 14 +uint8 TRANSITION_ERRORPROCESSING = 15 + +string node_name +uint8 transition +--- +bool success diff --git a/lifecycle_msgs/srv/GetState.srv b/lifecycle_msgs/srv/GetState.srv new file mode 100644 index 00000000..b66e0b8e --- /dev/null +++ b/lifecycle_msgs/srv/GetState.srv @@ -0,0 +1,3 @@ +string node_name +--- +uint8 current_state