JP4in1 MultiProtocol TX Module ーソースのダウンロードとArduinoの準備 [DIY]
ソースのダウンロード
ファームウェアのアップデートに関して、二つの方法があり、
コンパイル済みバイナリのダウンロードして、それを書き込む方法
ソースからコンパイルをローカルで行い、できたバイナリを書き込む方法
の二つがあるが、ここでは、自力でコンパイルを行って、書き込む方法を選択する。
まずはソースのダウンロードについて。
前のページでも書いたけど、Jp4in1は、ハードウェアの提供のみで、ソースはおまけで、自分でバンバンしなさいと書いてあり、そこに、ソースのありかが書いてある。まずは、そこに行ってみる
すると右のほうに”Clone or Download"というボタンが出てくるので、それを押してZIPでダウンロードする。
でダウンロードしたものを、展開すると次のようになっているので、適当な場所に展開する。
Arduinoのダウンロード
DIY Mulitiprotocol のコンパイルは、Arduinoを使用する。Arduinoは、AVRのマイコンを使って、インターフェースなど共通規定化し、いろいろなセンサ等のハードウェアをお試しできるシステムがあって、ここでは、そのIDEを使用する。Arduinoの標準では、AVRのコンパイラが付いてくる、Jp4in1はSTM32を使うので、別途コンパイラを用意しないといけないが、このソースを開発したPascal Langerさんは、ボード定義や、コンパイラを含めたパッケージを用意してくれているので、それをダウンロードするだけで、コンパイルが可能となる。
まずは、Arduinoのダウンロードとインストールをするわけだけど、それはいろんなところで紹介されてるので、そちらで。。
いまからJp4in1をコンパイルするための、Arduinoの設定をするわけだけど、詳しいことは、
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Arduino_IDE_Boards.md
に書いてあるので、英語で蕁麻疹が出ない人はこっちに当たったほうが正確です。
Arduinoを起動して、”ファイル”→”環境設定”のダイアログを開き、
追加のボードマネージャのURLに、以下を入力する。
https://raw.githubusercontent.com/pascallanger/DIY-Multiprotocol-TX-ModuleBoards/master/package_multi_4in1_board_index.json
そしてOKを押して、
”ツール”→”ボード:xxxxxx*→”ボードマネージャ”を選択して、
検索ボックスに ”multi"と入力すると、Pascal Langer さんのパッケージが3つ表示される。そのうちSTM32って書いてあるやつだけをダウンロードすればいい。
STM32書いてあるところの箱を一回クリックすると、右下にバージョン選択ボックスとインストールボタンが表示されるので、それで、インストールをクリックする。
するとコンパイルが可能になる。
検証コンパイル
コンパイラの準備ができたので、コンパイルを実施する。がその前に、
ボードを選択する必要がある。
”ツール”→”ボード:xxxx”→ボードマネージャの一覧に
Multi 4-in-1 (STM32F103CB)
が追加されているのでそれを選択する。
選択がうまくいくと、Arduinoのフレームの右下の表示がCOM5のMulti 4-in-1 (STM32F103CB)のように変わる。COM5の番号はここでは不問。
そこで先ほどダウンロードして、展開したソースファイルから、
DIY-Multiprotocol-TX-Module\Multiprotocol\Multiprotocol.ino
をオープンする。
この段階で、ほぼ準備はできているがもう一つやることがある。
このプロジェクトでは、アップロードのメソッドをコンパイル時に指定する必要があらしくデフォルトの設定ではコンパイルが失敗する。送信機からのアップロード用に設定されていて、環境を何かにあ焦る必要があるみたいだけど、それが不明というか調べてない。
で、何にする必要があるかというと、
Upload via Serial inc. Bootloader (FTDI)
を選択する。これで、コンパイルまでできる準備が完了したので、
検証コンパイル(丸のチェックボタンを押す)をやってみる。
すると何事もなくコンパイルが開始され、終了する
はず。
ここまできたら、Jp4In1をコンピュータに接続ずる。普通に売ってるUSB A->miniBのケーブルでいい。
Winodowsコントロールパネルのデバイスマネージャを開く。
ちゃんとWinodws10でもあるので、Start->Windowsシステムメニュー→コントロールパネル→デバイスマネージャで起動した後、Jp4In1を接続する。すると、COMポートに新しくデバイスが追加される。
僕のでは、
”Silicon labs CP210x USB to UART Bridge"が”COM5"に接続されている様子がわかる。
このCOM5を記憶しておく。
ケーブル100均のやつでもいいじゃないかと思うけど、気になる人は高いのをどうぞ。それより、コンピュータ側のハードの側の状態のほうがどうも怪しい気がしていて、シリアルをつかった設定をするときは、マシンごとリセットをしたほうがいい感じがしている。特にノートパソコンは。現に書き込みに際して、うまく認識はするけど、書き込みはできないなんてときにそんな状態が起こっている感じがある。うまくいかなかったら、マシンのリセットをして、それでもだめならほかの手を打つほうがいいような感じがしている。
そしたら、Arduino IDEの”ツール”→”シリアルポート:COMxx*->からCOM5を選択する。
そこで、ファイルメニューの下の、右向き矢印ボタンをクリックすると、再度アップロード向けコンパイルが実施される。コンパイルなしで直接書く方法もあるんだろうけど、調べてない。コンパイルもそこそこかかるので、できれば飛ばしたい時もある。
このときは、コンパイルが終わると、自動的にアップロードも開始される。抜粋するけど、代替こんな感じ。
うまくアップロードまで終了すると、最後に
Wrote and verified address 0x08016e64 (100.00%) Done.
Starting execution at address 0x08002000... done.
と表示され、アップロードが完了し、新しいファームで、Jp4in1が動き出す。
まずはアップロードまで。
次回バインド編。