def handle_wiimote_state(self, msg):
        with self._lock:
            if self.vz == -msg.angular_velocity_zeroed.z and \
               self.vx == msg.angular_velocity_zeroed.x and \
               self.vy == -msg.angular_velocity_zeroed.y:
                self.stale_count += 1
            else:
                self.stale_count = 0

            if self.stale_count == MAX_STALE_COUNT:
                rospy.logwarn('Attempting to reset a stale device')
                self.stale_handler()
                return

            self.vz = -msg.angular_velocity_zeroed.z
            self.vx = msg.angular_velocity_zeroed.x
            self.vy = -msg.angular_velocity_zeroed.y
            self.last_state = msg

            if not msg.LEDs[0]:
                feedback_array_msg = JoyFeedbackArray()
                feedback_msg = JoyFeedback()
                feedback_msg.intensity = 1.0
                feedback_array_msg.array.append(feedback_msg)
                self.feedback_pub.publish(feedback_array_msg)
Example #2
0
    def handle_wiimote_state(self, msg):
        with self._lock:
            if self.vz == -msg.angular_velocity_zeroed.z and \
               self.vx == msg.angular_velocity_zeroed.x and \
               self.vy == -msg.angular_velocity_zeroed.y:
                self.stale_count += 1
            else:
                self.stale_count = 0

            if self.stale_count == MAX_STALE_COUNT:
                rospy.logwarn('Attempting to reset a stale device')
                self.stale_handler()
                return

            self.vz = -msg.angular_velocity_zeroed.z
            self.vx = msg.angular_velocity_zeroed.x
            self.vy = -msg.angular_velocity_zeroed.y
            self.last_state = msg

            if not msg.LEDs[0]:
                feedback_array_msg = JoyFeedbackArray()
                feedback_msg = JoyFeedback()
                feedback_msg.intensity = 1.0
                feedback_array_msg.array.append(feedback_msg)
                self.feedback_pub.publish(feedback_array_msg)
 def joy_feedback_array(cls, msg, obj):
     for i in range(msg['_length']):
         jf = JoyFeedback()
         jf.type = msg['%s_type' % i]
         jf.id = msg['%s_id' % i]
         jf.intensity = msg['%s_intensity' % i]
         obj.array.append(jf)
     return(obj)
    def cb_rum(self, event):      
        if self.gripperL._state.force > 20 and self.rumFlag == True:
            rum = JoyFeedback()
            rum.type = JoyFeedback.TYPE_RUMBLE
            rum.id = 0
            rum.intensity = 0.51
            msg = JoyFeedbackArray()
            msg.array = [rum]            
            self.pub.publish(msg)
            rospy.sleep(0.3)
            rum.intensity = 0.0
            msg.array = [rum]
            self.pub.publish(msg)
            self.rumFlag = False

        if self.gripperL._state.force == 0:
            self.rumFlag = True
Example #5
0
 def setPS3LED(self):
     led0 = JoyFeedback()
     led0.type = JoyFeedback.TYPE_LED
     led0.id = 0
     led0.intensity = 1.
     led1 = JoyFeedback()
     led1.type = JoyFeedback.TYPE_LED
     led1.id = 1
     led1.intensity = 0.
     led2 = JoyFeedback()
     led2.type = JoyFeedback.TYPE_LED
     led2.id = 2
     led2.intensity = 0.
     led3 = JoyFeedback()
     led3.type = JoyFeedback.TYPE_LED
     led3.id = 3
     led3.intensity = 0.
     rum0 = JoyFeedback()
     rum0.type = JoyFeedback.TYPE_RUMBLE
     rum0.id = 0
     rum0.intensity = 0.
     rum1 = JoyFeedback()
     rum1.type = JoyFeedback.TYPE_RUMBLE
     rum1.id = 1
     rum1.intensity = 0.
     feedback = JoyFeedbackArray()
     feedback.array = [led0,led1,led2,led3,rum0,rum1]    
     self.ps3joy_pub.publish(feedback)
     rospy.loginfo("setPS3LED: "+str(feedback))
def talker():
    pub = rospy.Publisher('/joy/set_feedback', JoyFeedbackArray)
    rospy.init_node('ledControlTester', anonymous=True)

    led0 = JoyFeedback()
    led0.type = JoyFeedback.TYPE_LED
    led0.id = 0
    led1 = JoyFeedback()
    led1.type = JoyFeedback.TYPE_LED
    led1.id = 1
    led2 = JoyFeedback()
    led2.type = JoyFeedback.TYPE_LED
    led2.id = 2
    led3 = JoyFeedback()
    led3.type = JoyFeedback.TYPE_LED
    led3.id = 3
    rum = JoyFeedback()
    rum.type = JoyFeedback.TYPE_RUMBLE
    rum.id = 0

    while not rospy.is_shutdown():
        msg = JoyFeedbackArray()
        msg.array = [led0, led1, led2, led3, rum]

        rum.intensity = 0.6

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)

        rum.intensity = 0

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)
Example #7
0
def light_thread():
    global lights, max_delay
    on = True
    delay = 0.5
    all_blink = True
    while not rospy.is_shutdown():
        set_lights = lights[:-1]
        msg = JoyFeedbackArray()
        for i in range(4):
            unit_msg = JoyFeedback()
            unit_msg.type = 0
            unit_msg.id = i
            if set_lights[i] == True:
                unit_msg.intensity = 30.0
            if set_lights[i] == "blinking" and on:
                unit_msg.intensity = 30.0
            if set_lights[i] == False:
                unit_msg.intensity = 0.0
            if set_lights[i] == "blinking" and not on:
                unit_msg.intensity = 0.0
            msg.array.append(unit_msg)
        light_pub.publish(msg)
        sleep(delay)
        on = not on
def talker():
    pub = rospy.Publisher('/joy/set_feedback', JoyFeedbackArray, queue_size=1)
    rospy.init_node('ledControlTester', anonymous=True)

    led0 = JoyFeedback()
    led0.type = JoyFeedback.TYPE_LED
    led0.id = 0
    led1 = JoyFeedback()
    led1.type = JoyFeedback.TYPE_LED
    led1.id = 1
    led2 = JoyFeedback()
    led2.type = JoyFeedback.TYPE_LED
    led2.id = 2
    led3 = JoyFeedback()
    led3.type = JoyFeedback.TYPE_LED
    led3.id = 3
    rum = JoyFeedback()
    rum.type = JoyFeedback.TYPE_RUMBLE
    rum.id = 0

    while not rospy.is_shutdown():

        msg = JoyFeedbackArray()
        msg.array = [led0, led1, led2, led3, rum]

        led0.intensity = 0.2
        led3.intensity = 0.2
        rum.intensity = 0.49

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)

        led0.intensity = 1.0
        rum.intensity = 0.51

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)

        led0.intensity = 0.0
        led1.intensity = 1.0
        rum.intensity = 0.0

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)

        led1.intensity = 0.0
        led2.intensity = 1.0
        rum.intensity = 0.7

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)

        led2.intensity = 0.0
        led3.intensity = 1.0
        rum.intensity = 0.49

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)

        led1.intensity = 1.0
        led2.intensity = 1.0
        rum.intensity = 1.0

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)

        led0.intensity = 1.0
        led1.intensity = 0.4
        led2.intensity = 0.4

        msg.array = [led0, led1, led2]

        if msg is not None:
            rospy.logdebug("Msg: " + str(msg))
            pub.publish(msg)
            rospy.sleep(INTER_PATTERN_SLEEP_DURATION)
Example #9
0
led0 = JoyFeedback()
led0.type = JoyFeedback.TYPE_LED
led0.id = 0
led1 = JoyFeedback()
led1.type = JoyFeedback.TYPE_LED
led1.id = 1
led2 = JoyFeedback()
led2.type = JoyFeedback.TYPE_LED
led2.id = 2
led3 = JoyFeedback()
led3.type = JoyFeedback.TYPE_LED
led3.id = 3
rum = JoyFeedback()
rum.type = JoyFeedback.TYPE_RUMBLE
rum.id = 0

msg = JoyFeedbackArray()
msg.array = [led0, led1, led2, led3, rum]

led0.intensity=1
led1.intensity=1


if __name__ == '__main__':

    try:
        rospy.spin()
    except KeyboardInterrupt:
        ser.close()
        sys.exit()