前回のエントリで作ったスイッチが5個ついたフットキーポード用のプログラムをビルドします。この記事、長いです。
ただビルドするだけなのに
フットキーポード用のプログラムはMicrochip社のUSBライブラリを使用しますが、ソースコードの公開についてはライセンス条件がいまいちよくわからないので、というか公開はダメっぽいので、ソースコード丸ごとの公開はできなさそうです。
そこで、公開できるようにソースコードを書き直しました。ただ、公開ソースコードのみではビルドできず、Microchip社が提供するファイルも指定する必要があります。Microchip社の開発環境は人によってインストール位置やフォルダ名など異なりますので、各自いろいろ設定する必要があります。
そこで、今回は公開ソースコードをビルドできるように設定も含めて手順を説明します。
準備するもの
必要なものは以下の環境です。括弧内は参考記事へのリンクです。
あと、今回作成したフットキーボード用のソースコードです。以下からダウンロードできます。ダウンロードしたら適当な場所に解凍しておいてください。デスクトップとかにコピーしておくとわかりやすいと思います。
https://github.com/tool-lab/build-program-for-foot-keyboard
ゴール
これから細かい作業になりますので、まずはゴールがどんな感じになるか確認しておきます。
これから、MPLABXで新規プロジェクトを作って、以下のようにファイルを設定する作業を行います。このようにファイルを設定してようやくビルドできる、という感じです。
なお、今回公開するソースコードは赤枠のもの、緑枠のものは、Microchip社から提供されているものをそのまま使います。緑枠のファイルは、Libraries for Applicationsのフォルダに入っています。それではこれからMicrochip社提供のソースも含めて設定方法をステップバイステップでご説明します。
新規プロジェクトを作成
まずMPLABXを立ち上げます。立ち上げたら、FileメニューからNew Project…を選択します。
プロジェクト作成ウィザードのダイアログになりますので、ひとつひとつ片付けていきましょう。
まず、プロジェクトタイプを選択します。ここでは、Microchip Embedded → Standalone Projectを選択します。
次に、PICマイコンの種類を指定します。Device欄にPIC16F1459と入力します。リストから選択できますが、かなり数が多いので直接入力した方が早いです。
次にデバッグオプション指定ですが、ここではこのままにしておきます。
次にPICKITを選択します。PICKIT3で作業しますので、PICkit3を選択します。
次にコンパイラを選択します。XC8を選択してください。
最後にプロジェクト名を入力します。何でもいいですが、ここではFootKeyboardにしました。また、プロジェクトの保存位置(Project Location)やプロジェクトフォルダ名(Project Foler)は環境毎に異なります。デフォルトでは /Users/[ホームフォルダ]/MPLABXProjectsフォルダの下に、[プロジェクト名].Xというフォルダ名で作成されます。ここで指定したフォルダ位置は覚えておいてください。後でこのフォルダにファイルをコピーしたり、この位置を指定したりします。
最後にFinishボタンをクリックして完了します。
ファイルをコピーする
先ほど展開したフットキーポード用のソースコードを作成したFootKeyboardフォルダにコピーします。コピーするとこんな感じになると思います。
次に、PIC16F1459のハードウエアプロファイルのヘッダファイルをコピーします。このファイルは、Microchip Libraries for Applicationsフォルダ内にあります。具体的には、[Libraries for Applicationsフォルダ] → USB → Device – HID – Keyboard → Firmwareにあります。ファイル名は
HardwareProfile – LPC USB Development Kit – PIC16F1459.h
です。長っ。
このファイルをフットキーボードのプロジェクトフォルダにコピーして、ファイル名を “HardwareProfile.h” に変更してください。こんな感じになります。
ちょっとここでビルドをしてみます。まだほとんど設定していないのでエラーになりますが、ここで一度ビルドしておかないとmakeファイルがきちんと生成されないことがありました。おまじないですかね。
そのおまじないですが、まず、MPLABXのプロジェクトフォルダのFootKeyboardを開いて、”Source Files”という名前のところを右クリックします。メニューがでてきますので、Add Existing Item…を選択します。
ファイル選択画面になりますので、先ほどFootKeyboardフォルダにコピーしたkeyboard.cを選択します。選択するとこんな感じになります。
この状態でビルドしてください。ビルドボタンを押せばOKです。
思いっきり怒られます。というか、さらっとビルドエラーがでて終わると思います。これでOKです。
プロジェクトにヘッダファイルを追加する
続いて、プロジェクトにヘッダファイルを追加します。
まず、MPLABXのFootKeyboardプロジェクト、Header Filesを右クリックして、Add Existing Item…を選択します。
まず、FootKeyboardフォルダにあるヘッダファイルを3つ追加します。追加するファイルは、
- HardwareProfile.h
- Keyboard.h
- usb_config.h
です。ファイル選択画面で、commandキーを押しながら選択すると複数選択できますので、この3つのファイルを選択してSelectボタンをクリックします。
選択すると、こんな感じになると思います。
次に、Microchip社から提供されているヘッダファイルを追加します。このヘッダファイルは編集しませんので、フォルダを作ってそこに入れておきます。なお、このフォルダとは仮想のフォルダで、実際にどこかに作られるわけではありません。まず、MPLABXのFootKeyboardプロジェクトのHeader Filesを右クリックして、New Logical Folderを選択します。
New Folder 1という名称のフォルダができると思います。これじゃ、そっけない名前なので名称変更します。そのフォルダを右クリックして、Rename…をします。
こんな感じになると思います。
次に、このUSBフォルダにヘッダファイルを追加します。やり方は今までと同じで、USBフォルダを右クリックしてAdd Existing Fileを選択してファイルを指定します。ちょっと大変ですが、以下のファイルを追加してください。
[Libraries for Applicationsフォルダ] – Microchip – include – USBフォルダにあるファイル
usb.h
usb_ch9.h
usb_common.h
usb_device.h
usb_function_hid.h
usb_hal.h
[Libraries for Applicationsフォルダ] – Microchip – USBフォルダにあるファイル
usb_device_local.h
usb_hal_local.h
これらのファイル追加が終わるとこのようになると思います。
プロジェクトにソースファイルを追加する
なんかげんなりしてきましたね。。。でもあと一息ですよ。
まず、FootKeyboardフォルダにある、usb_descriptor.cをMPLABXのプロジェクトフォルダ、Source Filesに追加してください。
また、Source FilesにUSBフォルダを作成、そこに以下のファイルを追加してください。
[Libraries for Applicationsフォルダ] – Microchip – USBフォルダにあるファイル
usb_device.c
[Libraries for Applicationsフォルダ] – Microchip – USB – HID Device Driverフォルダにあるファイル
usb_function_hid.c
以下のようになればOKです。
プロジェクト属性を設定する
ごめんなさい、まだ設定があります。
コンパイラがコンパイルするときに、ヘッダファイルを探しますので、その探す場所を教えてあげる必要があります。
まず、FootKeyboardプロジェクトを右クリックしてPropertiesメニューを選択します。
プロパティ設定ダイアログが開いたら、左側のCategories領域から、XC8 Compilerを選択します。すると、XC8コンパイラの属性設定画面になります。この画面で、Include Directoriesの選択ボタンをクリックしてください。
ディレクトリを指定するダイアログになりますので、右上のBrowseボタンをクリックして、
[Libraries for Applicationsフォルダ] – Microchip – include
を指定します。具体的には、Microchipディレクトリを開き、そこで、includeを選択して、「開く」ボタンをクリックします。
続いて、FootKeyboard.Xフォルダも指定します。
この2つのディレクトリを指定すると、以下のようになると思います。
OKボタンをクリックして閉じます。
これでプロジェクト属性設定OKです。
ビルドする
早速ビルドしてみます。ビルドボタンをクリックします。
ビルドの結果はMPLABXの右下のウィンドウに表示されます。以下のように
BUILD SUCCESSFUL
と
Loading completed
が表示されればOKです。
ここでエラーになる場合、ちょっと大変かもしれませんが、もう一度手順を見直してみてください。
動作確認する
できあがったらフットキーボードに書き込んで動作確認します。なお、LEDは点灯したままとなります。
次回、すでに作成したMacアプリをちょっと改造して、このLEDをつけたり消したりしてみます。
一応使えますかね
これで一応Google ReaderやFeedlyが足で操作できるフットキーボードができました。ただ、いろいろと勉強したいので、この設定を変更するMacアプリを作っていきたいと思います。
変更履歴
日付 | 変更内容 |
---|---|
2013.4.7 | 新規投稿 |
2019.3.24 | ダウンロードファイルをGithubに引越し |