2020年10月2日金曜日

meishi2 の QMK ファームウェアのビルドをラズパイのコマンドラインでやってみた

名刺サイズ自作キーボード meishi2 を組み立てた後そのままにしていたので、引っ張り出してきて QMK ファームウェアをビルドして書き込んでみました。ラズパイのコマンドラインでやっています。ほぼ「 meishi2 keyboard ビルドガイド」に記載されていることをそのままやっています。

環境

QMK ファームウェアをビルドする母艦はラズパイを使いました。

  • Raspberry Pi 4B Model B 4GB Memory
  • Raspberry Pi OS Version: August 2020 (Raspbian GNU/Linux 10 buster)

QMK ファームウェアのビルド環境を構築

QMK ソースコードをダウンロード

$ git clone https://github.com/qmk/qmk_firmware.git

QMK ビルドに必要な依存を解決

$ cd qmk_firmware/
util/qmk_install.sh
  • 主に QMK ビルドに必要な Raspberry Pi OS の deb パッケージがインストールされるようです。

meishi2 をラズパイに接続

ログを見ながら meishi2 をラズパイに接続してみるのでまずはシスログをリアルタイムで確認

$ tail -f /var/log/syslog

meishi2 とラズパイを USB ケーブルで接続すると LED が点灯し、ログには以下のメッセージやその他いろいろ出てきました。

Sep 25 12:25:43 raspi4 kernel: [  409.663764] usb 1-1.1: Product: meishi2

QMK をビルドして meishi2 に書き込み

とりあえずやってみたらエラーになりました。

$ make meishi2:default:avrdude
QMK Firmware 0.10.17
WARNING: Some git submodules are out of date or modified.
 Please consider running make git-submodule.

Making meishi2 with keymap default and target avrdude

tmk_core/protocol/lufa.mk:14: lib/lufa/LUFA/makefile: No such file or directory
make[1]: *** No rule to make target 'lib/lufa/LUFA/makefile'.  Stop.
Make finished with errors
make: *** [Makefile:584: meishi2:default:avrdude] Error 1

メッセージに従い以下実施

$ make git-submodule

再度以下実行したらうまくいきました。

$ make meishi2:default:avrdude

途中で以下のメッセージが出ました。

Detecting USB port, reset your controller now

meishi2 基板上の pro micro の横のタクトスイッチ (シルク印刷で SW5 と記載) を押すと meishi2 のリセットがかかり書き込みが完了しました。この時にラズパイ上で meishi2 と接続されている USB デバイスファイルが /dev/ttyACM0 であると自動認識したようです。

meishi2 の pro micro の LDE は緑 x 1、赤 x 2 が点灯している状態になったので USB ケーブルの切断/再接続をしたところ緑 x 1 のみの点灯状態となりました。

これで meishi2 が使えるようになったようです。

動作確認

meishi2 には 4つのキーがあり、今回の QMK の初期設定で左から順番に以下の内容が設定されていました。

  • 左 CTRL + Z (やり直し)
  • 左 CTRL + X (切り取り)
  • 左 CTRL + C (コピー)
  • 左 CTRL + V (貼り付け)

meishi2 を PC と USB ケーブルで接続するとうまくキーボードとして認識されたようで、エディタ上で上記 4ボタンが期待通りに動きました。

参考