Skip to content

Commit b849a6c

Browse files
committed
Add default_value field to GetParam interface
1 parent 73a94b5 commit b849a6c

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

rosapi/scripts/rosapi_node

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
import os
3535
import sys
36+
from json import dumps, loads
3637

3738
import rclpy
3839
from rclpy.callback_groups import ReentrantCallbackGroup
@@ -317,8 +318,17 @@ class Rosapi(Node):
317318
except Exception as e:
318319
response.successful = False
319320
response.reason = str(e)
320-
# return empty JSON string so the client doesn't fail if it tries to parse it
321-
response.value = '""'
321+
322+
default = ""
323+
if request.default_value != "":
324+
try:
325+
default = loads(request.default_value)
326+
except ValueError:
327+
self.get_logger().error(
328+
"Failed to parse default value: {}".format(request.default_value)
329+
)
330+
331+
response.value = dumps(default)
322332
else:
323333
response.successful = True
324334

rosapi_msgs/srv/GetParam.srv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
string name
2+
string default_value
23
---
34
string value
45
bool successful

0 commit comments

Comments
 (0)