問題タブ [d2xx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ftdi - FTDI MPSSE と D2XX の競合 - MPSSE 対応チャネルから ftdi_sio を自動的に削除する方法は?
FT4232Hを搭載した実験基板を設計中です。FTDI デバイスのチャネルは次のように使用されます。
チャネル 1 -> SPI
チャンネル 2 -> I2C
チャネル 3 -> UART1
チャネル 4 -> UART2
ボードのプラグを抜かずに、これらすべてのチャネルを 1 つのセッションで使用する必要がある場合があります。通常、ボードを使用する前に、スクリプトを使用して MPSSE 対応チャネルの ftdi_sio を無効にします。これは問題ありませんが、ボードを再度接続するたびにこのスクリプトを実行する必要があることを意味します。udev ルールを使用した解決策があります。このソリューションは、不要なデバイスのバインドを完全に解除します。しかし、私の質問はもう少し広いです。このボードを多くのユーザーに送る必要があるので、ボードはさまざまなコンピューターとインターフェイスします。ボードを (任意の Linux) コンピューターに接続するときに、最初の 2 つのチャネルの ftdi_sio を自動的に無効にする方法を探しています。そのため、ユーザーはポートの問題に対処することなく、アプリケーションを直接実行できます。
解決策の 1 つは、デバイス ID を変更することです。このように、チャネルはまったくバインドされません。しかし、このソリューションは、必要な uart チャネルも殺します。だから、それは役に立たない。
アプリケーション (ftdi_sio を無効にするために使用するスクリプトと同様) を EEPROM に保存し、デバイスがコンピューターに接続されたときに、これらのコマンドを (任意のチャネルを介して) ホスト デバイスに自動的に送信して実行することはできますか?
他のすべてのアイデアは大歓迎です。問題の明確な説明: FTDI デバイスが任意のホスト デバイス (Linux) に接続されているときに、チャネル 1 と 2 を自動的にバインド解除する必要がありますか?