def __init__(self, location): """ Constructor. @type location: str @param location: body location (prefix) of Navigator to control. Valid locations are in L{Navigator.__LOCATIONS}:: left, right, torso_left, torso_right """ if not location in self.__LOCATIONS: raise AttributeError("Invalid Navigator name '%s'" % (location,)) self._id = location self._state = None self.button0_changed = baxter_dataflow.Signal() self.button1_changed = baxter_dataflow.Signal() self.button2_changed = baxter_dataflow.Signal() self.wheel_changed = baxter_dataflow.Signal() nav_state_topic = 'robot/itb/%s_itb/state' % (self._id,) self._state_sub = rospy.Subscriber( nav_state_topic, ITBState, self._on_state) self._inner_led = digital_io.DigitalIO( '%s_itb_light_inner' % (self._id,)) self._outer_led = digital_io.DigitalIO( '%s_itb_light_outer' % (self._id,)) init_err_msg = ("Navigator init failed to get current state from %s" % (nav_state_topic,)) baxter_dataflow.wait_for(lambda: self._state != None, timeout_msg=init_err_msg)
def __init__(self, location): if not location in self.__LOCATIONS: raise AttributeError("Invalid Navigator name '%s'" % (location,)) self._id = location self._state = None self.button0_changed = baxter_dataflow.Signal() self.button1_changed = baxter_dataflow.Signal() self.button2_changed = baxter_dataflow.Signal() self.wheel_changed = baxter_dataflow.Signal() nav_state_topic = 'robot/itb/%s_itb/state' % (self._id,) self._state_sub = rospy.Subscriber( nav_state_topic, ITBState, self._on_state) self._inner_led = digital_io.DigitalIO( '%s_itb_light_inner' % (self._id,)) self._outer_led = digital_io.DigitalIO( '%s_itb_light_outer' % (self._id,)) init_err_msg = ("Navigator init failed to get current state from %s" % (nav_state_topic,)) baxter_dataflow.wait_for(lambda: self._state != None, timeout_msg=init_err_msg)
def test_interface(io_component='left_itb_light_outer'): """ Blinks a Digital Output on then off. """ b = DIO.DigitalIO(io_component) print("Blinking Digital Output: %s" % io_component) print "Initial state: ", b.state() # turn on light b.set_output(True) rospy.sleep(1) print "New state: ", b.state() # reset output b.set_output(False)
def test_interface(io_component='left_outer_light'): """Blinks a Digital Output on then off.""" rospy.loginfo("Blinking Digital Output: %s", io_component) b = DIO.DigitalIO(io_component) print("Initial state: ", b.state) # turn on light b.set_output(True) rospy.sleep(1) print("New state: ", b.state) # reset output b.set_output(False) rospy.sleep(1) print("Final state:", b.state)