Skip to content

Commit f75820c

Browse files
authored
Use action FeedbackMessage and not Feedback message type to subscribe to the feedback topic (#60)
Signed-off-by: Ivan Santiago Paunovic <[email protected]>
1 parent ce736d3 commit f75820c

File tree

4 files changed

+24
-7
lines changed

4 files changed

+24
-7
lines changed

rcljava/src/test/java/org/ros2/rcljava/action/MockActionClient.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@
2626
import org.ros2.rcljava.subscription.Subscription;
2727

2828
public class MockActionClient {
29-
class FeedbackCallback implements Consumer<test_msgs.action.Fibonacci_Feedback> {
30-
public List<test_msgs.action.Fibonacci_Feedback> feedbackReceived;
29+
class FeedbackCallback implements Consumer<test_msgs.action.Fibonacci_FeedbackMessage> {
30+
public List<test_msgs.action.Fibonacci_FeedbackMessage> feedbackReceived;
3131

3232
public FeedbackCallback() {
3333
feedbackReceived = Collections.synchronizedList(
34-
new ArrayList<test_msgs.action.Fibonacci_Feedback>());
34+
new ArrayList<test_msgs.action.Fibonacci_FeedbackMessage>());
3535
}
3636

37-
public void accept(final test_msgs.action.Fibonacci_Feedback feedback) {
37+
public void accept(final test_msgs.action.Fibonacci_FeedbackMessage feedback) {
3838
this.feedbackReceived.add(feedback);
3939
}
4040
}
@@ -56,7 +56,7 @@ public synchronized void accept(final action_msgs.msg.GoalStatusArray statusArra
5656
public Client<action_msgs.srv.CancelGoal> cancelGoalClient;
5757
public FeedbackCallback feedbackCallback;
5858
public StatusCallback statusCallback;
59-
public Subscription<test_msgs.action.Fibonacci_Feedback> feedbackSubscription;
59+
public Subscription<test_msgs.action.Fibonacci_FeedbackMessage> feedbackSubscription;
6060
public Subscription<action_msgs.msg.GoalStatusArray> statusSubscription;
6161

6262
public MockActionClient(Node node, String actionName) throws IllegalAccessException, NoSuchFieldException {
@@ -70,8 +70,8 @@ public MockActionClient(Node node, String actionName) throws IllegalAccessExcept
7070
// Create mock subscriptions that make up an action client
7171
feedbackCallback = new FeedbackCallback();
7272
statusCallback = new StatusCallback();
73-
feedbackSubscription = node.<test_msgs.action.Fibonacci_Feedback>createSubscription(
74-
test_msgs.action.Fibonacci_Feedback.class,
73+
feedbackSubscription = node.<test_msgs.action.Fibonacci_FeedbackMessage>createSubscription(
74+
test_msgs.action.Fibonacci_FeedbackMessage.class,
7575
actionName + "/_action/feedback",
7676
feedbackCallback);
7777
statusSubscription = node.<action_msgs.msg.GoalStatusArray>createSubscription(

rosidl_generator_java/cmake/rosidl_generator_java_generate_interfaces.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ foreach(_abs_idl_file ${rosidl_generate_interfaces_ABS_IDL_FILES})
8282
"${_output_path}/${_parent_folder}/${_idl_name}_Goal.java"
8383
"${_output_path}/${_parent_folder}/${_idl_name}_Result.java"
8484
"${_output_path}/${_parent_folder}/${_idl_name}_Feedback.java"
85+
"${_output_path}/${_parent_folder}/${_idl_name}_FeedbackMessage.java"
8586
"${_output_path}/${_parent_folder}/${_idl_name}_SendGoal.java"
8687
"${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Request.java"
8788
"${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Response.java"
@@ -93,6 +94,7 @@ foreach(_abs_idl_file ${rosidl_generate_interfaces_ABS_IDL_FILES})
9394
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Goal.ep.${_typesupport_impl}.cpp")
9495
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Result.ep.${_typesupport_impl}.cpp")
9596
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Feedback.ep.${_typesupport_impl}.cpp")
97+
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_FeedbackMessage.ep.${_typesupport_impl}.cpp")
9698
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_SendGoal.ep.${_typesupport_impl}.cpp")
9799
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Request.ep.${_typesupport_impl}.cpp")
98100
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Response.ep.${_typesupport_impl}.cpp")

rosidl_generator_java/resource/action.java.em

+11
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ type_name = action.namespaced_type.name
1313
goal_type_name = action.goal.structure.namespaced_type.name
1414
result_type_name = action.result.structure.namespaced_type.name
1515
feedback_type_name = action.feedback.structure.namespaced_type.name
16+
feedback_message_type_name = action.feedback_message.structure.namespaced_type.name
1617
send_goal_type_name = action.send_goal_service.namespaced_type.name
1718
get_result_type_name = action.get_result_service.namespaced_type.name
1819

@@ -46,6 +47,14 @@ expand_template(
4647
output_file,
4748
template_basepath=template_basepath)
4849

50+
data.update({'message': action.feedback_message})
51+
output_file = os.path.join(output_dir, *namespaces[1:], feedback_message_type_name + '.java')
52+
expand_template(
53+
'msg.java.em',
54+
data,
55+
output_file,
56+
template_basepath=template_basepath)
57+
4958
data.update({'service': action.send_goal_service})
5059
output_file = os.path.join(output_dir, *namespaces[1:], send_goal_type_name + '.java')
5160
expand_template(
@@ -134,4 +143,6 @@ public class @(type_name) implements ActionDefinition {
134143
public static final Class<@(type_name)_Result> ResultType = @(type_name)_Result.class;
135144
136145
public static final Class<@(type_name)_Feedback> FeedbackType = @(type_name)_Feedback.class;
146+
147+
public static final Class<@(type_name)_FeedbackMessage> FeedbackMessageType = @(type_name)_FeedbackMessage.class;
137148
}

rosidl_generator_java/resource/msg.cpp.em

+4
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ for member in message.structure.members:
6666
include_prefix = include_prefix[:-8]
6767
elif include_prefix.endswith('__feedback'):
6868
include_prefix = include_prefix[:-10]
69+
elif include_prefix.endswith('__feedback_message'):
70+
include_prefix = include_prefix[:-18]
6971
elif include_prefix.endswith('__send_goal'):
7072
include_prefix = include_prefix[:-11]
7173
elif include_prefix.endswith('__get_result'):
@@ -87,6 +89,8 @@ elif message_c_include_prefix.endswith('__result'):
8789
message_c_include_prefix = message_c_include_prefix[:-8]
8890
elif message_c_include_prefix.endswith('__feedback'):
8991
message_c_include_prefix = message_c_include_prefix[:-10]
92+
elif message_c_include_prefix.endswith('__feedback_message'):
93+
message_c_include_prefix = message_c_include_prefix[:-18]
9094
elif message_c_include_prefix.endswith('__send_goal'):
9195
message_c_include_prefix = message_c_include_prefix[:-11]
9296
elif message_c_include_prefix.endswith('__get_result'):

0 commit comments

Comments
 (0)