見出し画像

Poke-Controller Arduino Leonardo用 Joystick.hexの作成

初めに

本手順はPoke-ControllerからArduino Leonardoを操作するためのプログラムをコンパイルする手順になります

準備

Poke-Controller-Modifiedのダウンロード

下の赤く囲まれた部分を実行します

lufaのダウンロード

下の赤で囲まれた部分を実行します

WinAVR(Version20100110)のダウンロード

下の赤で囲まれた部分を実行します

WinAVRの64bit用パッチのダウンロード

こちらのリンクからダウンロードします
https://www.madwizard.org/download/electronics/msys-1.0-vista64.zip

サクラエディタのダウンロード
https://github.com/sakura-editor/sakura/releases/download/v2.4.2/sakura-tag-v2.4.2-build4203-a3e63915b-Win32-Release-Exe.zip

圧縮プログラムの解凍

ダウンロードした各ZIP書庫を解凍します
lufa-masterだけはlufaフォルダに名前を変更してください

書き換えたlufaフォルダをPoke-Controller-Modified-master配下に上書き移動します

Poke-Controller-Modified-masterフォルダをC:¥PokeConフォルダに移動します

WinAVRのインストール

ダウンロードしたWinAVRのインストーラーを実行します
はいを選択します




WinAVRへのパッチの適用


ダウンロードしたmsys-1.0-vista64.zipファイルを解凍すると「msys-1.0.dll」が出てきますので、インストール先のC:\WinAVR-20100110\utils\bin\に上書き保存します

makefileの編集

Poke-Controller-Modified-master配下にobjフォルダを作成します

サクラエディタでPoke-Controller-Modified-master配下のmakefileを開きます

MCUの記述を変更します
変更前 atmega16u2

変更後 atmega32u4

変更したmakefileを保存します

Joystick.cの編集

サクラエディタでPoke-Controller-Modified-master配下のJoystick.cを開きます
389行目を//でコメントアウトして保存します
※関数の宣言位置が使用位置より後ろの為コンパイルエラーが発生しますが、直すのも面倒なので今回はコメントアウトで対応します

Lufaの修正

Poke-Controller-Modified-master\lufa\LUFA\Drivers\Board配下のButtons.hファイルをサクラエディタで開きます

98行目の{ return 0}を下記内容にコピペして書き換えて保存します

			static inline uint_reg_t Buttons_GetStatus(void) { return 0; }

Joystick.hexの作成


コマンドプロンプトで下記コマンドを実行します
make clean
make

Finished building project "Joystick"と表示されることを確認します

Joystick.hexの書き込み

書き込みにだけチェックを付け下のOKボタンを押します

空のスケッチをArduinoIDEから書き込みます
PORTSの表示が出たらArduino Leonardo本体のボタンをダブルクリックします

赤で囲まれた ↓ リセットボタンをダブルクリック

ポート番号とコマンドをテキストコピーしておきます

この場合はコピーしたコマンドが下記の通りだったので、ダブルクウォーテーションで囲みます
※空白があるとコマンドが失敗するため

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -PCOM9 -b57600 -D -Uflash:w:C:\PokeCon\Poke-Controller-Modified-master\Joystick.hex:i


※今回の場合、囲むところはProgram Files (x86)の空白を含むパスを2か所囲んでいます
※bootloaderのポート番号は9だったため -PCOM9を指定

"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" -C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega32u4 -cavr109 -PCOM9 -b57600 -D -Uflash:w:C:\PokeCon\Poke-Controller-Modified-master\Joystick.hex:i

コマンドプロンプトを起動し、上記コマンドを張り付けます

下記はデバイスマネージャでの表示例

再度、Arduino Leonardoのリセットボタンをダブルクリックし、bootloaderが起動している10秒以内にエンターキーを押してコマンドを実行します

下記コマンドプロンプトの様に、100%の書き込みが成功することをを確認します

PCからArduino Leonardoを外します

Pokken Controllerの認識確認

下記サイトを開きます

Arduino LeonardoをPCに接続します

POKKEN CONTROLLER(Vendor:0f0d Product:0092)として認識することを確認します

以上でPoke-ControllerからArduino Leonardoを操作するためのプログラムをコンパイルする手順は完了です

この記事が気に入ったらサポートをしてみませんか?