Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
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)