FT260で実験FT260をBBBに繋いで使い方の実験してみる。パッケージインストール始めにpythonで実験するために、hidapi周りのパッケージをインストールする。開発ボードにはI2C接続のEEPROMが搭載されていて、defaultではジャンパで接続されている。余計な接続をしない状態で実験したかったのでEEPROMなしの状態にジャンパを設定する。Babbleというメッセージが大量に出力されるが、一応認識されて繋がりはするようだ。Endpointsをみると、I2CとUARTがそれぞれ別のHIDとして認識されるようだ。hidraw0がI2C、hidraw1がUARTらしい。usb-musb-hdrc.1.auto-1/input0となり、I2Cのみになるので、これで実験することにする。pythonでのテスト以前、帯名さんがHIDデバイスのテストをした時のドキュメントを参考にしてみる。FT260の設定を取得してみる。見ていったところ、取得するデータによって使用する関数が違うらしい。get_feature_reportで行い、INPUT,OUTPUTはwrite,readで行うらしい。204]これでやっと、FT260にアクセスできることが確認できた。次にI2C上のスレーブデバイスにアクセス。温度センサモジュール。FT260開発ボードの3.3V電源と、IO0,IO1を接続した。GND温度センサのI2Cアドレスは0x48としておく。取得するデータ数は4byteだけど、6byteデータが出てくる。HIDヘッダも含めて4byte単位でデータが出てくるのだろう。88]が温度データ、次の[128]がStatus、[0]がConfigurationとなっているようだ。Configurationの7bit目が1なら16bit,0なら13bitデータになる。8192)/16となるらしい。この計算式に当てはめると、LSB=88,HSB=13の場合、26.6875[°C]となる。Registorの7bit目を1にする必要がある。やるか試行錯誤して、I2Cプロトコルにおける設定(書き込み)は、書き込みアドレスの後ろに設定データを付けて送ればいいことを思い出した。Registorが128(0x80)となっていて、16bitになっていることがわかる。65536)/128となる。計算式に当てはめると、LSB=75,HSB=13の場合、26.5859375[°C]となる。これで、FT260をつかったI2Cデバイスの制御に必要なコマンドは全て使い方が分かった。