From 24e1964d06afa9719bc7d5def10ff4903ee36514 Mon Sep 17 00:00:00 2001 From: Sven Bock Date: Wed, 12 Aug 2015 17:19:36 +0200 Subject: [PATCH 1/3] Initializing a camera controller does not raise an exception, if the camera is not opened. This is useful to check, if a camera is opened or closed. --- src/baxter_interface/camera.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/baxter_interface/camera.py b/src/baxter_interface/camera.py index ea2b57e..a658add 100644 --- a/src/baxter_interface/camera.py +++ b/src/baxter_interface/camera.py @@ -75,7 +75,7 @@ def __init__(self, name): list_svc = rospy.ServiceProxy('/cameras/list', ListCameras) rospy.wait_for_service('/cameras/list', timeout=10) - if not self._id in list_svc().cameras: + if not self._id in ["left_hand_camera","right_hand_camera","head_camera"]: raise AttributeError( ("Cannot locate a service for camera name '{0}'. " "Close a different camera first and try again.".format(self._id))) From 72616783769746078b5d546ac09e848538e8d026 Mon Sep 17 00:00:00 2001 From: Sven Bock Date: Wed, 12 Aug 2015 17:20:32 +0200 Subject: [PATCH 2/3] On state change in addition to the state, the itb name, "button" or "wheel" and the button id or wheel position is sent in the arguments. This is useful to use one callback for all buttons. --- src/baxter_interface/navigator.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/baxter_interface/navigator.py b/src/baxter_interface/navigator.py index 114f9fc..36f4199 100644 --- a/src/baxter_interface/navigator.py +++ b/src/baxter_interface/navigator.py @@ -177,11 +177,11 @@ def _on_state(self, msg): ] for i, signal in enumerate(buttons): if old_state.buttons[i] != msg.buttons[i]: - signal(msg.buttons[i]) + signal(msg.buttons[i],self._id,"button",i) if old_state.wheel != msg.wheel: diff = msg.wheel - old_state.wheel if abs(diff % 256) < 127: - self.wheel_changed(diff % 256) + self.wheel_changed(diff % 256,self._id,"wheel",msg.wheel) else: - self.wheel_changed(diff % (-256)) + self.wheel_changed(diff % (-256),self._id,"wheel",msg.wheel) From 861ea2a91dc3d7b4fc039fa258485d4ce020891f Mon Sep 17 00:00:00 2001 From: Sven Bock Date: Wed, 12 Aug 2015 17:22:20 +0200 Subject: [PATCH 3/3] On state change the name of the button is sent in addtion to its state. Useful for common callbacks --- src/baxter_interface/digital_io.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/baxter_interface/digital_io.py b/src/baxter_interface/digital_io.py index b65e088..65bb99c 100644 --- a/src/baxter_interface/digital_io.py +++ b/src/baxter_interface/digital_io.py @@ -95,7 +95,7 @@ def _on_io_state(self, msg): # trigger signal if changed if old_state is not None and old_state != new_state: - self.state_changed(new_state) + self.state_changed(new_state,self._id) @property def is_output(self):