Changes between Version 4 and Version 5 of epics/bbb/debian/thermometer/ft260


Ignore:
Timestamp:
09/06/17 11:50:35 (8 years ago)
Author:
Tetsuya Michikawa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/bbb/debian/thermometer/ft260

    v4 v5  
    241241
    242242これで、FT260をつかったI2Cデバイスの制御に必要なコマンドは全て使い方が分かったので、IOC化することができそうである。
     243
     244== 複数デバイス接続 ==
     245
     246FT260開発ボードをUSBハブで複数繋いでみると、当たり前だが普通に認識して/dev/hidraw*が生成される。[[br]]
     247FT232RやFT230Xには、デフォルトでチップ毎にシリアル番号が設定されていて、それを使えばデバイス名の固定が可能だが、FT260にはそれがない。
     248
     249{{{
     250debian@beaglebone:~$ udevadm info -a -p $(udevadm info -q path -n /dev/hidraw0)
     251
     252     :
     253  looking at parent device '/devices/platform/ocp/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb1/1-1/1-1.2':
     254    KERNELS=="1-1.2"
     255    SUBSYSTEMS=="usb"
     256    DRIVERS=="usb"
     257    ATTRS{authorized}=="1"
     258    ATTRS{avoid_reset_quirk}=="0"
     259    ATTRS{bConfigurationValue}=="1"
     260    ATTRS{bDeviceClass}=="00"
     261    ATTRS{bDeviceProtocol}=="00"
     262    ATTRS{bDeviceSubClass}=="00"
     263    ATTRS{bMaxPacketSize0}=="64"
     264    ATTRS{bMaxPower}=="100mA"
     265    ATTRS{bNumConfigurations}=="1"
     266    ATTRS{bNumInterfaces}==" 1"
     267    ATTRS{bcdDevice}=="2200"
     268    ATTRS{bmAttributes}=="a0"
     269    ATTRS{busnum}=="1"
     270    ATTRS{configuration}==""
     271    ATTRS{devnum}=="118"
     272    ATTRS{devpath}=="1.2"
     273    ATTRS{idProduct}=="6030"
     274    ATTRS{idVendor}=="0403"
     275    ATTRS{ltm_capable}=="no"
     276    ATTRS{manufacturer}=="FTDI"
     277    ATTRS{maxchild}=="0"
     278    ATTRS{product}=="FT260"
     279    ATTRS{quirks}=="0x0"
     280    ATTRS{removable}=="unknown"
     281    ATTRS{speed}=="12"
     282    ATTRS{urbnum}=="16"
     283    ATTRS{version}==" 2.00"
     284     :
     285
     286}}}
     287
     288FT232R等の他のチップでは、{{{ATTRS{SerialNumber}==xxxx}}}のような表示が入る。(詳細な属性名は不明)[[br]]
     289データシートを見ると、I2C接続した外付けEEPROMに書き込むと、表示されるようになるらしい。[[br]]
     290実験の初めにEEPROMを外して実験していたが、接続しなおしてから、シリアル番号を書き込んでみる。[[br]]
     291設定の変更はI2Cコマンドでできるようだが、[http://www.ftdichip.com/Support/Utilities.htm#FT_Prog FT_Prog]というユティリティをFTDIが用意してくれているので、今回はそれを使う。[[br]]
     292
     293[[Image(FT_Prog.png,300)]]
     294
     295{{{USB String Descriptors -> Serial Number Enabled}}}と{{{Auto Generate Serial No}}}にチェックを入れて、メインメニューの{{{DEVICES -> Program}}}を選択すると、
     296
     297[[Image(FT_Prog_Write.png)]]
     298
     299のダイアログボックスで{{{Program}}}すれば自動的にシリアル番号が生成されてEEPROMに書き込まれる。[[br]]
     300書き込み実行後に再度デバイス情報を見てみると、今度は{{{ATTRS{serial}==}}}が設定されている。[[br]]
     301
     302{{{
     303debian@beaglebone:~$ udevadm info -a -p $(udevadm info -q path -n /dev/hidraw0)
     304
     305     :
     306  looking at parent device '/devices/platform/ocp/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb1/1-1/1-1.1':
     307    KERNELS=="1-1.1"
     308    SUBSYSTEMS=="usb"
     309    DRIVERS=="usb"
     310    ATTRS{authorized}=="1"
     311    ATTRS{avoid_reset_quirk}=="0"
     312    ATTRS{bConfigurationValue}=="1"
     313    ATTRS{bDeviceClass}=="00"
     314    ATTRS{bDeviceProtocol}=="00"
     315    ATTRS{bDeviceSubClass}=="00"
     316    ATTRS{bMaxPacketSize0}=="64"
     317    ATTRS{bMaxPower}=="128mA"
     318    ATTRS{bNumConfigurations}=="1"
     319    ATTRS{bNumInterfaces}==" 1"
     320    ATTRS{bcdDevice}=="2200"
     321    ATTRS{bmAttributes}=="a0"
     322    ATTRS{busnum}=="1"
     323    ATTRS{configuration}==""
     324    ATTRS{devnum}=="124"
     325    ATTRS{devpath}=="1.1"
     326    ATTRS{idProduct}=="6030"
     327    ATTRS{idVendor}=="0403"
     328    ATTRS{ltm_capable}=="no"
     329    ATTRS{manufacturer}=="FTDI"
     330    ATTRS{maxchild}=="0"
     331    ATTRS{product}=="FT260"
     332    ATTRS{quirks}=="0x0"
     333    ATTRS{removable}=="unknown"
     334    ATTRS{serial}=="FT27KQDF"
     335    ATTRS{speed}=="12"
     336    ATTRS{urbnum}=="18"
     337    ATTRS{version}==" 2.00"
     338     :
     339}}}
     340