我正在尝试使用PyWinUSB与我拥有的一个相当简单的USB设备进行通信。该设备由两部分组成:无线收发器和设备本身,该设备有5个按钮、一个旋转拨号和一个dip开关。当按下任何按钮(取决于拨盘和开关的设置)时,一个值被传送到收发器。
该设备还可以接收用于各种目的的信号。
使用PyWinUSB,我在接收来自设备的输入时没有遇到任何问题。我遇到的问题来自于我试图向设备发送内容。这导致了一个错误,到目前为止我还不能破译。即使对simple_send.py示例程序进行基本的更改,也会使其爆炸式增长。
我认为我遇到的问题是我不知道目标使用参数是什么。我不是百分之百确定这是做什么的,但当我发现它后,我从设备上抓取报告时,我已经有了一些运气,但除此之外,我还不能弄清楚为什么它一直有这个错误,以及我可以做些什么来修复它。
您可以找到错误本身的here,以及我的simple_send.py示例here版本。任何反馈都是值得感谢的。
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发布于 2012-12-07 04:05:26
最新版本包含一个探索设备功能的脚本,名为show_hids.py,位于./example folder (下载完整源码包)中。
在命令行上运行它,将输出捕获到一个文件(> output.txt)中以便于查看,然后查找输出和feature caps部分。在那里,您可以找到设备报告描述符中列出的所有用法(输入大写指向您可以接收的用法)。
https://stackoverflow.com/questions/12906542
复制相似问题