2020年9月23日水曜日

Androidスマホでラジオ制御

Androidのスマホからラジオチューナー(Si4730)の制御を行い、スマホから音を出すという装置の開発を行った。


Android、チューナー間は USB Isochronous通信で行うのだが、まぁ動かない動かない。

これほど悪戦苦闘したのは本当にひさしぶり。トータルで2か月くらいかかってしまった(工数的には超大赤字w)。


USB Isochronous通信のベースはlibusbを使用したけど、Isochronousの使い方がわからない。

チューナー側もきちんと送信できているのかわからない。

「よくわからないもの」と「なんだかよくわからないもの」をつないでも動くわけがなくw

 

ただ依頼いただいた方を裏切るわけにはいかないので、意地と根性だけでなんとか克服できました。

結局、AndroidでIsochronous通信を行う際は ・・

 ・ libusbの改造が必要

 ・ Javaで取り込んだDescriptorとFSをLibusbに渡さないといけない。

 ・ Isochronous通信のコールバック処理部で修正しないと使えなかった(今回の案件の場合)。

 

LibusbはLGPL2.1 なので、ソースの公開が必要なのかな?

そのうち公開するかも(案件の状況次第)。

 

※ もしUSBでIsochronous通信をしたいという方、ひと声かけてください!

0 件のコメント:

コメントを投稿