SSブログ

Mac用USBデバイス-92 デスクリプタの生成 [Mac用USBデバイス工作]

前回まででUSBの標準デスクリプタを整理した。たくさんあるし、汎用的なデータ構造が使えないのでいちいち定義しないといけない。面倒だし1ビット違っただけでUSB機器として機能しなくなってしまうということになる。いや、もちろん普通のソフトでも1ビット違えば機能しなくなるんだけど、冗長性を持たすことがまったくできない。これはちゃんと自動生成する方法を考えないといけない。

5  USB Desimpを作る

さて、デスクリプタのおおまかなところはわかった。めちゃめちゃめんどくさい。しかも標準デスクリプタだけでこれだけある。さらにクラスごとにまたデスクリプタが定義されている。

これを手動で記述するのはかなり手間。どう考えてもデスクリプタのコードを出力するアプリを書かないとやってられない。Windows用にはあるらしいけど、当然Mac用なんてない。

というわけで作ろう。名前はUSB Desimp(USB DEScriptor IMPlimenter)とでもしよう。Windows用のやつは見ないようにしよう。UIの先入観ができてしまうと困る(どうせダサいに決まってるし)。

どんなアプリかというと
  • Cocoaドキュメントアプリである
  • 全体はOutlineViewで表示して、選択肢はPopupで、数字や文字はTextBoxで入力
  • 無意味な設定はUI上でできないように、矛盾する設定は警告する
  • バイト数やインデクスなどは自動計算する
  • 設定が終わったらsdccのソースファイルとして出力する
というようなもの。ユーザインターフェイスがすごくめんどくさい。でもまあ、これからもEZ-USBで遊ぶなら作っておけば便利だし、手入力でデスクリプタを書いていたらあまりにデバグで死ぬのは目に見えている。

さて、こういうUIリッチなアプリはあまり作ってこなかったので勝手が違う。ここはひとつ、これまで積極的には使ってこなかったCocoaバインディングをしっかり使ってなるべく簡単にしよう。

数ヶ月ぶりにまたCocoaアプリを書くことになるが、UIリッチもたまにはやらないといかん。たまには。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

献立04/16献立04/17 ブログトップ

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