SSブログ

macOSからPi Picoを使う - その21 [Pi Pico]

前回まででvendor specific classを実装する大枠はわかったことにする。今回はpico-sdkでTinyUSBを含めるにはどうすればいいかを見る...

続きを読む


nice!(0)  コメント(0) 

macOSからPi Picoを使う - その20 [Pi Pico]

TinyUSBでUSB descriptorをどうやって返すかはわかった。僕みたいな組み込みをやったことのないプログラマはアラインメントなんか気にしたことがなくて、それで効率が良くなるならpaddingとかコンパイラの好きにして、というスタンスが普通だろう。別に違うプラットフォームに移植するつもりがなくても、ビットバイトしたコードは本能的に避ける、というのが身についている。

こういう奇数バイトの構造体を詰め込む、なんていうことは普段気にしたこともない、というかそもそも単一のバイト幅のデータを使うなんてことがまずない(整数データは3、4値しか取らないとわかっていても、最低でも4バイトにしてしまう)ので、ちょっと考え方を変えないといけない。

USB descriptorの話はひと段落として、今日からはvendor specific classをどうやって実装するか...

続きを読む


nice!(0)  コメント(0) 

macOSからPi Picoを使う - その19 [Pi Pico]

TinyUSBがUSBのdescriptorをどう扱うかをサクッと見た。こうやって見てくると、ようするにUSBの規格をそのままstructとして実装した、というだけのようである。まあ当たり前かもしれないけど、それならそれでもう少しdecsriptorを書く手間を省いてくれるような工夫をしてくれてもいいような気がする。しかしdescriptorを書き慣れた人にはかえってそういうのがウザいのかもしれない...

続きを読む


nice!(0)  コメント(0) 

macOSからPi Picoを使う - その18 [Pi Pico]

TinyUSBを読んでいる。前回はUSBのdevice descriptorをTinyUSBではどう扱っているかをみた。基本的にはUSBの規格に準拠した単なる構造体として定義されて、それをコールバックで返すようになっている。今日は残りのdescriptorを見てみる....

続きを読む


nice!(0)  コメント(0) 

macOSからPi Picoを使う - その17 [Pi Pico]

前回tusb.hを読んでみて、必要なUSB classのヘッダしか読み込まれないし、不要なclass用のコードはリンクされなくて、その呼び出しは関数ポインタを並べた構造体を経由して行われることがわかった。ちょっと遠回りのような気もするけど、なるべくコードサイズを抑えるための配慮だと思われる。組み込みではこうするのが普通なのかな。そのへんはよくわからない。

今日はUSB descriptorをTinyUSBではどう扱うかを見ていく....

続きを読む


nice!(0)  コメント(0) 

macOSからPi Picoを使う - その16 [Pi Pico]

急遽読み出したTinyUSB。前回前々回とTinyUSBのディレクトリ構造をみた。Pi Picoのsrcディレクトリに比べればずっと簡単。examplesディレクトリはほぼ全部一緒。複雑なUSB classではやることも難しいけど、TinyUSBをPi Picoのc-sdkと一緒に動作させるのはexamplesを見てるとなんとなくわかるような気がした。今日はTinyUSBのumbrella headerの役目を果たしているtusb.hがどうなってるかを見る....

続きを読む


nice!(0)  コメント(0) 

macOSからPi Picoを使う - その15 [Pi Pico]

急遽、TinyUSBを真面目にみることにした。前回はとりあえずソースディレクトリのトップレベルがどうなってるか見た。ディレクトリ構造は浅くて、サブディレクトリを持つのはUSBのデバイスクラス別の記述だけのようなので、それほど悩むことはなさそうに思える。今日は残りの部分を見てみる....

続きを読む


nice!(0)  コメント(0) 

macOSからPi Picoを使う - その14 [Pi Pico]

と、ここまで書いたんだけど、書いてしまってからなんだかすごくダサい気がしてきた。典型的なWorkaroundで、しかし一旦これを使い始めると結局そのままになって、そしてある日突然互換性の問題で動かなかくなってあたふたと慌てる、というのが目に見えている。おお、僕には未来が見える、自分のやることに関してだけは。

どうせならやっぱりvendor specificなクラスでやろう、と思いなおした....

続きを読む


nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。