我正在尝试使用 PyWinUSB 与我拥有的一个非常简单的 USB 设备进行通信。该装置是两个组件;一个无线收发器和设备本身,它有 5 个按钮、一个旋转拨盘和一个 DIP 开关。按下任何按钮(取决于拨盘和开关的设置)时,都会向收发器传输一个值。
该设备还可以接收用于各种目的的信号。
使用 PyWinUSB,我从设备接收输入没有问题。我遇到的问题来自我尝试向设备发送内容时。这会导致我至今无法破译的错误。即使对 simple_send.py 示例程序进行基本的更改也会使其爆炸。
我认为我遇到的问题是我不知道目标使用参数是什么。我不是 100% 确定这是做什么的,但是当我在找到它之后从设备中获取报告时,我有一些运气,但除此之外,我无法弄清楚为什么它一直有错误以及我可以做些什么来解决它。
您可以在此处找到错误本身,并在此处找到我的 simple_send.py 示例版本。任何反馈表示赞赏。
Traceback (most recent call last):
File "C:\2.7.x\pywinusb-0.3.1 2.7\examples\simple_send.py", line 45, in <module>
click_signal(target_usage, target_vendor_id)
File "C:\2.7.x\pywinusb-0.3.1 2.7\examples\simple_send.py", line 32, in click_signal
report.send()
File "C:\Python27\lib\site-packages\pywinusb-0.3.1-py2.7.egg\pywinusb\hid\core.py", line 1446, in send
self.__prepare_raw_data()
File "C:\Python27\lib\site-packages\pywinusb-0.3.1-py2.7.egg\pywinusb\hid\core.py", line 1401, in __prepare_raw_data
byref(self.__raw_data), self.__raw_report_size) )
File "C:\Python27\lib\site-packages\pywinusb-0.3.1-py2.7.egg\pywinusb\hid\winapi.py", line 382, in __init__
raise helpers.HIDError("hidP error: %s" % self.error_message_dict[error_code])
HIDError: hidP error: data index not found