Arudino UNO R3(その2)
次のテーマの
・Arudino UNO R3はAndroidにつながるか?
をやってみる。
まずは、そのままさすと何か反応があるかと思ったら無反応(TT)
しょうがないので自分でやってみる。
元にしたのはFTDIのもの。
http://d.hatena.ne.jp/ksksue/20111103/1320347853
https://github.com/ksksue/FTDriver
ここには汎用的なCDCクラスがある。
なのでUSBViewなどでVIDやPIDを調べる。
VID=0x2341,PID=0x0043(手持ちのもの)
bcdDeviceは1(USBViewで見える),numOfChannelsも1(多分)。
http://digital.ni.com/public.nsf/allkb/1DEC366794E3584A862570980007A73A
それでソースを修正する。
FTDriver.javaで
new UsbId(0x0000, 0x0000, 0, 1, FTDICHIPTYPE.CDC), // CDC
の下ぐらいに以下を追加。
new UsbId(0x2341, 0x0043, 1, 1, FTDICHIPTYPE.CDC), // CDC
ついでにボーレイト部分も修正する。
public static final int BAUD230400 = 230400;
の下ぐらいに以下を追加。
public static final int BAUD460800 = 460800;
public static final int BAUD921600 = 921600;
おまけでをdevice_filter.xml修正する。(<>は全角になってます。)
<usb-device vendor-id="1027" product-id="24596" />
の下ぐらいに以下を追加。
<usb-device vendor-id="9025" product-id="67" />
以上でFTSampleTermをリコンパイル。
でやってみるとちゃんとつながる。(^^)
が...115200bpsでも文字化けする。(TT)
FDTIScopeというかオシロをやってみると115200bpsでもアプリがクラッシュして立ち上がらない。FDTIだと何事もなく立ち上がる。
これも想像だが、Arudino UNO R3はAndroidだと115200bpsはきついのかもしれない。
FTSampleTermはクラッシュしないが、FDTIScopeはバイナリのストリームのせいか非常に弱い。稀に立ち上がるが、その時でも正常に描画できずかなり取りこぼしがあるようだ。
とどのつまり、FTDIの方が安定しているような気がする。恐らく水晶を変えたほうが信頼性もあがるように感じた。
どうもUSB-Serialの処理能力のような気がする。つまりATmega16U2よりはFTDIの方が処理能力が高いような...。115200bpsでもかなりきつそうな印象がある。(バイナリの連続データの場合)
コメントはありません