我正在使用更简单的StormLauncher(https://github.com/nmilford/stormLauncher)版本从Raspberry Pi调用Thunder USB Missile Launcher。一旦我将它连接到有源USB集线器,它就可以工作。
两次。
现在当我打电话给我时,我明白了:
Traceback (most recent call last):File "launcherFire.py", line 15, in <module>
turret.set_configuration()
File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 559, in set_configuration
self._ctx.managed_set_configuration(self, configuration)
File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 92, in managed_set_configuration
self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 741, in set_configuration
_check(self.lib.libusb_set_configuration(dev_handle.handle, config_value))
File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 571, in _check
raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno None] Unknown error
我已经尝试拔掉并重新插回来,这似乎有效here,但它没有改变任何东西。
这是我的代码:
import usb.core
turret = usb.core.find(idVendor=0x2123, idProduct=0x1010)
if turret is None:
raise ValueError('Launcher not found.')
try:
turret.detach_kernel_driver(0)
except Exception, e:
pass # already unregistered
turret.set_configuration()
turret.ctrl_transfer(0x21, 0x09, 0, 0, [0x02, 0x10, 0x00,0x00,0x00,0x00,0x00,0x00])
任何软件或硬件方面的尝试都会很棒。
更新:USB启动器本身似乎是硬件故障。我更换了它,完全相同的代码运行正常(虽然幽默地这个发射器也有一个损坏的电机,但至少空气触发器仍在运行)。
答案 0 :(得分:0)
可以有这些解决方案:
以sudo模式运行代码
确保任何其他驱动程序已在使用该设备(例如usbhid)
答案 1 :(得分:0)
这是硬件故障。一个新的启动器按预期工作,使用相同的代码。