From 18a8c4b8728dd901fb36db48631eae54ae2dff57 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 9efbb001577a950fe48862b5b87551c352aab911 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 022d23e9850f808ec0f5bc228010bb910c8e106a 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):