Skip to content

Commit d86393d

Browse files
norroJanStaschulat
authored andcommitted
Fixes get available states service
Signed-off-by: Nordmann Arne (CR/ADT3) <[email protected]> Signed-off-by: Jan Staschulat <[email protected]>
1 parent 5de86bd commit d86393d

File tree

2 files changed

+3
-11
lines changed

2 files changed

+3
-11
lines changed

rclc_lifecycle/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ if(NOT CMAKE_C_STANDARD)
66
set(CMAKE_C_STANDARD 99)
77
endif()
88

9-
# maximum number of states - should cover all default lifecycle states
10-
set(RCLC_LIFECYCLE_MAX_STATES 10 CACHE STRING "Set the maximum number of states.")
11-
add_definitions(-DRCLC_LIFECYCLE_MAX_STATES=${RCLC_LIFECYCLE_MAX_STATES})
12-
139
# maximum string length - should cover all lifecycle state and transition names
1410
set(RCLC_LIFECYCLE_MAX_STRING_LENGTH 20 CACHE STRING "Set the maximum length for strings.")
1511
add_definitions(-DRCLC_LIFECYCLE_MAX_STRING_LENGTH=${RCLC_LIFECYCLE_MAX_STRING_LENGTH})

rclc_lifecycle/src/rclc_lifecycle/rclc_lifecycle.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ rclc_make_node_a_lifecycle_node(
8989
lifecycle_msgs__srv__GetAvailableStates_Response__init(&lifecycle_node->gas_res);
9090
lifecycle_msgs__msg__State__Sequence__init(
9191
&lifecycle_node->gas_res.available_states,
92-
RCLC_LIFECYCLE_MAX_STATES);
92+
state_machine->transition_map.states_size);
9393
lifecycle_node->gas_res.available_states.size = 0;
94-
for (size_t i = 0; i < RCLC_LIFECYCLE_MAX_STATES; ++i) {
94+
for (size_t i = 0; i < state_machine->transition_map.states_size; ++i) {
9595
rosidl_runtime_c__String__assign(
9696
&lifecycle_node->gas_res.available_states.data[i].label,
9797
(const char *) empty_string);
@@ -392,12 +392,8 @@ rclc_lifecycle_get_available_states_callback(
392392
rcl_lifecycle_state_machine_t * sm =
393393
context_in->lifecycle_node->state_machine;
394394

395-
lifecycle_msgs__srv__GetAvailableStates_Response__init(res_in);
396-
lifecycle_msgs__msg__State__Sequence__init(
397-
&res_in->available_states,
398-
sm->transition_map.states_size);
399-
400395
bool success = true;
396+
res_in->available_states.size = sm->transition_map.states_size;
401397
for (unsigned int i = 0; i < sm->transition_map.states_size; ++i) {
402398
res_in->available_states.data[i].id = sm->transition_map.states[i].id;
403399
success &= rosidl_runtime_c__String__assign(

0 commit comments

Comments
 (0)