PyWinUSB无法解密的错误消息

时间:2012-10-16 02:03:51

标签: python python-2.7 usb windows-7-x64 pywinusb

我正在尝试使用PyWinUSB与我拥有的相当简单的USB设备进行通信。该设备是两个组件;无线收发器和设备本身,有5个按钮,一个旋转拨号和一个拨码开关。按下任何按钮(取决于拨盘和开关的设置),一个值将传输到收发器。

设备还可以接收各种信号。

使用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

1 个答案:

答案 0 :(得分:2)

最新版本包括一个用于探索设备功能的脚本show_hids.py,它位于./example folder(下载完整的源包)。

在命令行上运行它,将输出捕获到文件(> output.txt)以便于查看,然后查找输出和功能上限部分。在那里,您将找到设备报告描述符列出的所有用法(输入上限指向您可以接收的那些)。