Skip to content

Commit 8a37339

Browse files
committed
Python service related snippets
1 parent 14299b7 commit 8a37339

File tree

4 files changed

+40
-2
lines changed

4 files changed

+40
-2
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
## [0.3.0]
6+
- Added python service related snippets
7+
- Updated readme
8+
59
## [0.2.3]
610
- Fixed typo
711

README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,9 @@ Snippets list for launch files:
2727
* `subscriber` - ROS subscriber,
2828
* `publisher` - ROS publisher,
2929
* `rosnode template` - Python template for ROS node implementation,
30-
* `periodic timer` - ROS periodic function call,
30+
* `timer` - ROS periodic function call,
3131
* `param` - Get ROS param.
32+
* `service server` - Service server handler
33+
* `service client` - Service client handler
34+
* `service wait` - Wait for service
35+
* `service wait client` - Service server handler with wait for service

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "ros-snippets",
33
"displayName": "ROS snippets",
44
"description": "ROS (Robot operating system) snippets.",
5-
"version": "0.2.3",
5+
"version": "0.3.0",
66
"publisher": "pijar",
77
"repository": {
88
"type": "git",

snippets/ros_py_snippets.json

+30
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,35 @@
3939
"prefix": "param",
4040
"body": "${1:param} = rospy.get_param(\"~${2:param}\", default=\"${3:0}\")\n${0}",
4141
"description": "ROS get param"
42+
},
43+
"service server": {
44+
"scope": "py",
45+
"prefix": "service",
46+
"body": "${1:srv_server_handler} = rospy.Service(${2:service_name}, ${3:service_type}, ${4:service_callback})\n${0}",
47+
"description": "ROS service server"
48+
},
49+
"service client": {
50+
"scope": "py",
51+
"prefix": "service",
52+
"body": "${1:srv_client_handler} = rospy.ServiceProxy(${2:service_name}, ${3:service_type})\n${0}",
53+
"description": "ROS service client"
54+
},
55+
"service wait": {
56+
"scope": "py",
57+
"prefix": "service",
58+
"body": "rospy.wait_for_service(${1:service_name})\n${0}",
59+
"description": "ROS service wait"
60+
},
61+
"service wait client": {
62+
"scope": "py",
63+
"prefix": "service",
64+
"body": [
65+
"rospy.wait_for_service(${1:service_name})",
66+
"try:",
67+
"\t${2:srv_client_handler} = rospy.ServiceProxy(${1:service_name}, ${3:service_type})\n\t${0}",
68+
"except rospy.ServiceException as e:",
69+
"\tprint(e)"
70+
],
71+
"description": "ROS service client wrapped with try/except and prior wait for service."
4272
}
4373
}

0 commit comments

Comments
 (0)