Device – HID – Custom DemosのMacアプリをビルドして動作確認してみます。
サンプルコードを準備する
“Device – HID – Custom Demos”にはMacのサンプルアプリも含まれています。場所はここです。
元のコードは触らないように、別の場所に移します。今回はホームフォルダにDevelopmentフォルダを作成、その下にPnPDemoフォルダを作り、”Mac OS X Cocoa Objective-C”の中身をまるごとコピーします。こんな感じです。
ビルド環境
以下の環境でビルドしました。
項目 | バージョン |
---|---|
Mac OS X | 10.8.3(Build 12D78) |
Xcode | 4.6.1(Build 4H512) |
Xcodeでビルドする
次にXcodeでこのプロジェクトを開きます。Xcodeを立ち上げて、Fileメニュー → Open…メニューを選択します。
プロジェクトオープンダイアログから、”HID PnP Demo.xcodeproj”を選択します。
エラーがないか確認してみると、
致命的なエラーはなさそうですが、なんか怪しげなメッセージがいろいろ出ています。が、いろいろと問題をあぶり出すためにもビルドしてみます。(って、なんか不安…)
まずは、ビルド以前の確認がありました。「デバッグ機能の一部にパスワード入力が必要なものがあり、そのような時にXcodeがパスワード要求なしに実行することを許可しますか? (これをDeveloper Modeというらしいです)」という内容です。ターミナルアプリを使われたことがある方ならご存じかもしれませんが、一部のコマンドではパスワード要求がありますが、その入力のことだと思います。
特に問題ないので “Enable” ボタンを押して進めます。
次に、プロジェクトのクリーンアップや類似の動作の時に、自動的にプロジェクトのスナップショットを取っておくか、という質問です。取っておいても損はないと思いますので、”Enalbe”をクリックして次に。
なんかいろいろとうるさいですね。やっぱりすぐにビルドできるわけないか。メッセージの内容は「このままでは現在の環境で動作しないので、このバージョンのXcodeでサポートしているSDKを指定しなさい」というような感じです。SDK関係は古いものを指定しているようですので、指定しなおします。
プロジェクトのエラーメッセージの項目を開いて、”Validate Project Settings”をクリックします。
すると、修正すべき項目が以下のようにリストされます。
なんかひとつひとつ確認するのも面倒なので、問題先送りで “Perform Changes” をクリックします。クリック後、再度ビルドすると、なんとか通りました。(Warningは結構残っていますが)
アプリを立ち上げてみる
とりあえず、ビルドしたアプリを立ち上げてみます。
なんか動いたっぽいです。
PICにプログラムを書き込む
すみません。スクリーンショットなしですが、MPLAB Xで、”Device – HID – Custom Demos”のプロジェクトを “PIC16F1459” 用にビルドしてターゲットの回路に書き込みました。
書き込みは、前回と同様、エラーがいくつか出ましたが無視です (`・ω・´)
ターゲット回路を接続してみる
回路を接続してみます。
動作してるっぽいです。”Device Found”となり、可変抵抗の電圧も読み取れているみたいです。
回路側の可変抵抗を回すと、
電圧も変わりました。
あと、アプリ側の “ToggleLED(s)”ボタンを押すと、
LEDが消えたりついたりします。
ということで、なんか警告を無視しましたが、とりあえず動作したようです。
このサンプルをベースにフットキーボードにデータを送るアプリが作れるかも。
このあとどうしよう
ここまでで、参考となるソースは揃ったので、どう進めるか考えてみました。
- Macのサンプルアプリを公開できるように書き直す
Macのサンプルアプリは公開してもよい条件が見当たりませんでしたので、公開できるように書き直したいな、なんて思ってます。が、敷居が高そう。 - フットキーボードとMacアプリが通信できるようにする
実は、フットキーボード回路に、フットキーボードのファームを書き込んで、Macのサンプルアプリをつないだところ、フットキーボードが認識されませんでした。おそらくUSB IDが異なるからかな、と思います。どうすれば認識するか調査必要です。 - Macのアプリからデータを送って、フットキーボードの文字割り当て設定を書き換える
少なくとも”ToggleLED(s)”ボタンでデータを送ることができたので、フットキーボードにデータを送る方法を調べてみます。そもそもキーボードに任意のデータを送れるんでしょうか。
変更履歴
日付 | 変更内容 |
---|---|
2013.3.31 | 初版 |