Androidのスマホからラジオチューナー(Si4730)の制御を行い、スマホから音を出すという装置の開発を行った。
Android、チューナー間は USB Isochronous通信で行うのだが、まぁ動かない動かない。
これほど悪戦苦闘したのは本当にひさしぶり。トータルで2か月くらいかかってしまった(工数的には超大赤字w)。
チューナー側もきちんと送信できているのかわからない。
「よくわからないもの」と「なんだかよくわからないもの」をつないでも動くわけがなくw
ただ依頼いただいた方を裏切るわけにはいかないので、意地と根性だけでなんとか克服できました。
結局、AndroidでIsochronous通信を行う際は ・・
・ libusbの改造が必要
・ Javaで取り込んだDescriptorとFSをLibusbに渡さないといけない。
・ Isochronous通信のコールバック処理部で修正しないと使えなかった(今回の案件の場合)。
LibusbはLGPL2.1 なので、ソースの公開が必要なのかな?
そのうち公開するかも(案件の状況次第)。
※ もしUSBでIsochronous通信をしたいという方、ひと声かけてください!
0 件のコメント:
コメントを投稿