diff --git a/rclcpp/CMakeLists.txt b/rclcpp/CMakeLists.txt index 46eab20..49c02dc 100644 --- a/rclcpp/CMakeLists.txt +++ b/rclcpp/CMakeLists.txt @@ -11,9 +11,10 @@ find_package(rosidl_generator_cpp REQUIRED) find_package(rosidl_typesupport_c REQUIRED) find_package(rosidl_typesupport_cpp REQUIRED) -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") - add_compile_options(-Wall -Wextra -Wpedantic) +if(WIN32) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra -Wpedantic") endif() include_directories(include) diff --git a/rclcpp_lifecycle/CMakeLists.txt b/rclcpp_lifecycle/CMakeLists.txt index 234d5ff..07fa076 100644 --- a/rclcpp_lifecycle/CMakeLists.txt +++ b/rclcpp_lifecycle/CMakeLists.txt @@ -2,9 +2,10 @@ cmake_minimum_required(VERSION 3.5) project(rclcpp_lifecycle) -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") - add_compile_options(-Wall -Wextra -Wpedantic) +if(WIN32) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra -Wpedantic") endif() find_package(ament_cmake REQUIRED) diff --git a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp index 586dbe4..039b5d7 100644 --- a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp +++ b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_node.hpp @@ -356,7 +356,7 @@ public: RCLCPP_LIFECYCLE_PUBLIC const State & - trigger_transition(unsigned int transition_id); + trigger_transition(uint8_t transition_id); RCLCPP_LIFECYCLE_PUBLIC bool diff --git a/rclcpp_lifecycle/include/rclcpp_lifecycle/state.hpp b/rclcpp_lifecycle/include/rclcpp_lifecycle/state.hpp index 3b2d3e2..2d153b6 100644 --- a/rclcpp_lifecycle/include/rclcpp_lifecycle/state.hpp +++ b/rclcpp_lifecycle/include/rclcpp_lifecycle/state.hpp @@ -32,7 +32,7 @@ public: State(); RCLCPP_LIFECYCLE_PUBLIC - State(unsigned int id, const std::string & label); + State(uint8_t id, const std::string & label); RCLCPP_LIFECYCLE_PUBLIC explicit State(const rcl_lifecycle_state_t * rcl_lifecycle_state_handle); @@ -41,7 +41,7 @@ public: virtual ~State(); RCLCPP_LIFECYCLE_PUBLIC - unsigned int + uint8_t id() const; RCLCPP_LIFECYCLE_PUBLIC diff --git a/rclcpp_lifecycle/include/rclcpp_lifecycle/transition.hpp b/rclcpp_lifecycle/include/rclcpp_lifecycle/transition.hpp index 35bb296..529a8fb 100644 --- a/rclcpp_lifecycle/include/rclcpp_lifecycle/transition.hpp +++ b/rclcpp_lifecycle/include/rclcpp_lifecycle/transition.hpp @@ -33,11 +33,11 @@ public: Transition() = delete; RCLCPP_LIFECYCLE_PUBLIC - explicit Transition(unsigned int id, const std::string & label = ""); + explicit Transition(uint8_t id, const std::string & label = ""); RCLCPP_LIFECYCLE_PUBLIC Transition( - unsigned int id, const std::string & label, + uint8_t id, const std::string & label, State && start, State && goal); RCLCPP_LIFECYCLE_PUBLIC @@ -47,7 +47,7 @@ public: virtual ~Transition(); RCLCPP_LIFECYCLE_PUBLIC - unsigned int + uint8_t id() const; RCLCPP_LIFECYCLE_PUBLIC diff --git a/rclcpp_lifecycle/src/lifecycle_node.cpp b/rclcpp_lifecycle/src/lifecycle_node.cpp index 1998c6d..c20477f 100644 --- a/rclcpp_lifecycle/src/lifecycle_node.cpp +++ b/rclcpp_lifecycle/src/lifecycle_node.cpp @@ -289,7 +289,7 @@ LifecycleNode::trigger_transition(const Transition & transition) } const State & -LifecycleNode::trigger_transition(unsigned int transition_id) +LifecycleNode::trigger_transition(uint8_t transition_id) { return impl_->trigger_transition(transition_id); } diff --git a/rclcpp_lifecycle/src/lifecycle_node_interface_impl.hpp b/rclcpp_lifecycle/src/lifecycle_node_interface_impl.hpp index ae718e5..4daac48 100644 --- a/rclcpp_lifecycle/src/lifecycle_node_interface_impl.hpp +++ b/rclcpp_lifecycle/src/lifecycle_node_interface_impl.hpp @@ -202,7 +202,7 @@ public: throw std::runtime_error( "Can't get available states. State machine is not initialized."); } - for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) { + for (uint8_t i = 0; i < state_machine_.transition_map.states_size; ++i) { lifecycle_msgs::msg::State state; state.id = static_cast(state_machine_.transition_map.states[i].id); state.label = static_cast(state_machine_.transition_map.states[i].label); @@ -223,7 +223,7 @@ public: return; } - for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) { + for (uint8_t i = 0; i < state_machine_.transition_map.transitions_size; ++i) { rcl_lifecycle_transition_t & rcl_transition = state_machine_.transition_map.transitions[i]; lifecycle_msgs::msg::TransitionDescription trans_desc; trans_desc.transition.id = rcl_transition.id; @@ -247,7 +247,7 @@ public: get_available_states() { std::vector states; - for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) { + for (uint8_t i = 0; i < state_machine_.transition_map.states_size; ++i) { State state(&state_machine_.transition_map.states[i]); states.push_back(state); } @@ -259,7 +259,7 @@ public: { std::vector transitions; - for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) { + for (uint8_t i = 0; i < state_machine_.transition_map.transitions_size; ++i) { Transition transition( &state_machine_.transition_map.transitions[i]); transitions.push_back(transition); @@ -279,7 +279,7 @@ public: // keep the initial state to pass to a transition callback State initial_state(state_machine_.current_state); - unsigned int transition_id = static_cast(lifecycle_transition); + uint8_t transition_id = lifecycle_transition; if (rcl_lifecycle_trigger_transition(&state_machine_, transition_id, true) != RCL_RET_OK) { fprintf(stderr, "%s:%d, Unable to start transition %u from current state %s: %s\n", __FILE__, __LINE__, transition_id, @@ -348,7 +348,7 @@ public: } const State & - trigger_transition(unsigned int transition_id) + trigger_transition(uint8_t transition_id) { change_state(transition_id); return get_current_state(); diff --git a/rclcpp_lifecycle/src/state.cpp b/rclcpp_lifecycle/src/state.cpp index 40f8dd9..fae2856 100644 --- a/rclcpp_lifecycle/src/state.cpp +++ b/rclcpp_lifecycle/src/state.cpp @@ -26,7 +26,7 @@ State::State() : State(lifecycle_msgs::msg::State::PRIMARY_STATE_UNKNOWN, "unknown") {} -State::State(unsigned int id, const std::string & label) +State::State(uint8_t id, const std::string & label) : owns_rcl_state_handle_(true) { if (label.empty()) { @@ -53,7 +53,7 @@ State::~State() } } -unsigned int +uint8_t State::id() const { return state_handle_->id; diff --git a/rclcpp_lifecycle/src/transition.cpp b/rclcpp_lifecycle/src/transition.cpp index 6bf7434..7fff732 100644 --- a/rclcpp_lifecycle/src/transition.cpp +++ b/rclcpp_lifecycle/src/transition.cpp @@ -22,7 +22,7 @@ namespace rclcpp_lifecycle { -Transition::Transition(unsigned int id, const std::string & label) +Transition::Transition(uint8_t id, const std::string & label) : owns_rcl_transition_handle_(true) { auto transition_handle = new rcl_lifecycle_transition_t; @@ -35,7 +35,7 @@ Transition::Transition(unsigned int id, const std::string & label) } Transition::Transition( - unsigned int id, const std::string & label, + uint8_t id, const std::string & label, State && start, State && goal) : owns_rcl_transition_handle_(true) { @@ -75,7 +75,7 @@ Transition::~Transition() } } -unsigned int +uint8_t Transition::id() const { return transition_handle_->id; diff --git a/rclcpp_lifecycle/test/test_state_machine_info.cpp b/rclcpp_lifecycle/test/test_state_machine_info.cpp index caf5e87..b14441e 100644 --- a/rclcpp_lifecycle/test/test_state_machine_info.cpp +++ b/rclcpp_lifecycle/test/test_state_machine_info.cpp @@ -34,40 +34,40 @@ TEST_F(TestStateMachineInfo, available_states) { auto test_node = std::make_shared("testnode"); std::vector available_states = test_node->get_available_states(); - EXPECT_EQ((unsigned int)11, available_states.size()); + EXPECT_EQ(11u, available_states.size()); // Primary States - EXPECT_EQ((unsigned int)0, available_states[0].id()); // unknown - EXPECT_EQ((unsigned int)1, available_states[1].id()); // unconfigured - EXPECT_EQ((unsigned int)2, available_states[2].id()); // inactive - EXPECT_EQ((unsigned int)3, available_states[3].id()); // active - EXPECT_EQ((unsigned int)4, available_states[4].id()); // finalized + EXPECT_EQ(0, available_states[0].id()); // unknown + EXPECT_EQ(1, available_states[1].id()); // unconfigured + EXPECT_EQ(2, available_states[2].id()); // inactive + EXPECT_EQ(3, available_states[3].id()); // active + EXPECT_EQ(4, available_states[4].id()); // finalized // Transition States - EXPECT_EQ((unsigned int)10, available_states[5].id()); // configuring - EXPECT_EQ((unsigned int)11, available_states[6].id()); // cleaningup - EXPECT_EQ((unsigned int)12, available_states[7].id()); // shuttingdown - EXPECT_EQ((unsigned int)13, available_states[8].id()); // activating - EXPECT_EQ((unsigned int)14, available_states[9].id()); // deactivating - EXPECT_EQ((unsigned int)15, available_states[10].id()); // errorprocessing + EXPECT_EQ(10, available_states[5].id()); // configuring + EXPECT_EQ(11, available_states[6].id()); // cleaningup + EXPECT_EQ(12, available_states[7].id()); // shuttingdown + EXPECT_EQ(13, available_states[8].id()); // activating + EXPECT_EQ(14, available_states[9].id()); // deactivating + EXPECT_EQ(15, available_states[10].id()); // errorprocessing } TEST_F(TestStateMachineInfo, available_transitions) { auto test_node = std::make_shared("testnode"); std::vector available_transitions = test_node->get_available_transitions(); - EXPECT_EQ((unsigned int)25, available_transitions.size()); + EXPECT_EQ(25u, available_transitions.size()); for (rclcpp_lifecycle::Transition & transition : available_transitions) { EXPECT_FALSE(transition.label().empty()); - EXPECT_TRUE(transition.start_state().id() <= (unsigned int)4 || - (transition.start_state().id() >= (unsigned int)10 && - (transition.start_state().id() <= (unsigned int)15))); + EXPECT_TRUE(transition.start_state().id() <= 4 || + (transition.start_state().id() >= 10 && + (transition.start_state().id() <= 15))); EXPECT_FALSE(transition.start_state().label().empty()); - EXPECT_TRUE(transition.goal_state().id() <= (unsigned int)4 || - (transition.goal_state().id() >= (unsigned int)10 && - (transition.goal_state().id() <= (unsigned int)15))); + EXPECT_TRUE(transition.goal_state().id() <= 4 || + (transition.goal_state().id() >= 10 && + (transition.goal_state().id() <= 15))); EXPECT_FALSE(transition.goal_state().label().empty()); } }