0

私が持っているかなり単純な USB デバイスと通信するために PyWinUSB を使用しようとしています。デバイスは 2 つのコンポーネントです。ワイヤレス トランシーバーと、5 つのボタン、ロータリー ダイヤル、ディップ スイッチを備えたデバイス本体。いずれかのボタンを押すと (ダイヤルとスイッチの設定によって異なります)、値がトランシーバーに送信されます。

デバイスは、さまざまな目的で信号を受信することもできます。

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
4

1 に答える 1

2

最新のリリースには、デバイスの機能を探索するためのスクリプトが含まれておりshow_hids.py、これは./example folder(完全なソース パッケージをダウンロード) にあります。

コマンド ラインで実行し、確認しやすいように出力をファイル ( > output.txt) にキャプチャしてから、出力とフィーチャ キャップのセクションを探します。そこには、デバイス レポート記述子によって一覧表示されたすべての使用法があります (入力キャップは、受け取ることができるものを指します)。

于 2012-12-06T20:05:26.353 に答える