Hi Eddie,

This looks like a firmware problem, at least most cases end up being a
firmware bug.

2017-03-18 20:43 GMT-03:00 Eddie A. Goble <eddie.go...@gmail.com>:
> Hello all:
>
> I am using a Raspberry PI 3 in attempts to control my Owi Robotic Arm via
> USB with Python scripting.  I am intermittently getting a "Operation timed
> out" error which halts the code.  75% of the time the program runs from
> start to finish with no problems.  Any ideas on how I can mitigate this?  Is
> there a way to increase the timeout threshold?  Many thanks in advance.
>
> Error:
>
> Traceback (most recent call last):
>
>   File "arm2.py", line 59, in <module>
>
>     MoveArm("ShoulderUp",4.2)
>
>   File "arm2.py", line 47, in MoveArm
>
>     RoboArm.ctrl_transfer(0x40,6,0x100,0,ArmCmd,3)
>
>   File "build/bdist.linux-armv7l/egg/usb/core.py", line 711, in
> ctrl_transfer
>
>   File "build/bdist.linux-armv7l/egg/usb/backend/libusb1.py", line 836, in
> ctrl_transfer
>
>   File "build/bdist.linux-armv7l/egg/usb/backend/libusb1.py", line 571, in
> _check
>
> usb.core.USBError: [Errno 110] Operation timed out
>
>
> From my Python script:
>
> import usb.core, usb.util, time, sys
>
> RoboArm = usb.core.find(idVendor=0x1267, idProduct=0x000)
>
> if RoboArm is None:
>
> raise ValueError("Arm not found")
>
> Duration=1
>
> def MoveArm(ArmCmd,Duration):
>
> if ArmCmd == "Base+":
>
> print "M5-%s : Rotate base clockwise" % Duration
>
> ArmCmd=[0,1,0]
>
> elif ArmCmd == "Base-":
>
> print "M5+%s : Rotate base counter clockwise" % Duration
>
> ArmCmd=[0,2,0]
>
> elif ArmCmd == "ShoulderDown":
>
> print "M4-%s : Shoulder down" % Duration
>
> ArmCmd=[64,0,0]
>
> elif ArmCmd == "ShoulderUp":
>
> print "M4+%s : Shoulder up" % Duration
>
> ArmCmd=[128,0,0]
>
> elif ArmCmd == "ElbowDown":
>
> print "M3-%s : Elbow down" % Duration
>
> ArmCmd=[16,0,0]
>
> elif ArmCmd == "ElbowUp":
>
> print "M3+%s : Elbow up" % Duration
>
> ArmCmd=[32,0,0]
>
> elif ArmCmd == "WristDown":
>
> print "M2-%s : Wrist down" % Duration
>
> ArmCmd=[4,0,0]
>
> elif ArmCmd == "WristUp":
>
> print "M2+%s : Wrist up" % Duration
>
> ArmCmd=[8,0,0]
>
> elif ArmCmd == "GripClose":
>
> print "M1-%s : Grip close" % Duration
>
> ArmCmd=[2,0,0]
>
> elif ArmCmd == "GripOpen":
>
> print "M1+%s : Grip open" % Duration
>
> ArmCmd=[1,0,0]
>
> elif ArmCmd == "LightOff":
>
> print "L1-%s : Light off" % Duration
>
> ArmCmd=[0,0,1]
>
> elif ArmCmd == "LightOn":
>
> print "L1+%s : Light on" % Duration
>
> ArmCmd=[0,0,0]
>
> else:
>
> print "Unknown command"
>
> sys.exit()
>
>
> RoboArm.ctrl_transfer(0x40,6,0x100,0,ArmCmd,3)
>
> time.sleep(Duration)
>
> ArmCmd=[0,0,0]
>
> RoboArm.ctrl_transfer(0x40,6,0x100,0,ArmCmd,3)
>
>
> #MoveArm("ShoulderUp",.1)
>
> #sys.exit()
>
>
> MoveArm("Base+",7.7)
>
> MoveArm("ShoulderDown",4)
>
> MoveArm("ElbowDown",1)
>
> MoveArm("ElbowUp",1)
>
> MoveArm("ShoulderUp",4.2)
>
> MoveArm("Base-",8.4)
>
> sys.exit()
>
> Eddie A Goble
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> pyusb-users mailing list
> pyusb-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pyusb-users
>



-- 
Best Regards,
Wander Lairson Costa

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users

Reply via email to