2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BLE Micro ProでAZ1UBALLを動かす奮闘記(諦めました)

Last updated at Posted at 2024-01-02

はじめに

BLE Micro ProでAZ1UBALLを動かしたくて悪戦苦闘している記録。2024/1/2 23:00時点でまだ動いていない。
大前提としてBMPを販売しているせきごんさんとしてはAZ1UBALLはサポートしていないので、動かないのがあたり前です。自分の勉強もかねて理想のキーボードに近づけるために奮闘している個人的な記録です。

まずはシンプルにコンパイル→エラー

以下のコマンドでせきごんさんのvial対応BMP用のqmk_firmwareをclone。

git clone --depth 1 -b dev/ble-micro-pro https://github.com/sekigon-gonnoc/vial-qmk.git qmk_firmware_bmp_vial

keyboards/ble_micro_proをコピーしてkeyboards/az1uballという名前にする。

cp -R keyboards/ble_micro_pro  keyboards/az1uball

keyboards/az1uball/rules.mkに以下を追記。

 POINTING_DEVICE_ENABLE = yes
 POINTING_DEVICE_DRIVER = pimoroni_trackball

以下のコマンドでcompileしてみる。az1uballというキーボードの、vialというキーマップをuf2形式でコンパイルするという意味。

make az1uball:vial:uf2

以下のエラーを得る。i2c_master.hが見つからない様だ。

fatal: No names found, cannot describe anything.
Compiling: .build/obj_az1uball_vial/src/default_keyboard.c                                         In file included from quantum/quantum.h:209,
                 from ./.build/obj_az1uball_vial/src/default_keyboard.h:27,
                 from .build/obj_az1uball_vial/src/default_keyboard.c:26:
quantum/pointing_device/pointing_device.h:50:14: fatal error: i2c_master.h: No such file or directory
 #    include "i2c_master.h"
              ^~~~~~~~~~~~~~
compilation terminated.
 [ERRORS]
 | 
 | 
 | 
make[1]: *** [.build/obj_az1uball_vial/.build/obj_az1uball_vial/src/default_keyboard.o] Error 1
make: *** [az1uball:vial:uf2] Error 1
Make finished with errors

I2C_DRIVER_REQUIREDをyesにしてみる→ダメ

keyboards/az1uball/rules.mkI2C_DRIVER_REQUIRED = yesを追記。して試してみるも同じエラーで詰まる。

I2C_DRIVER_REQUIRED = yes
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pimoroni_trackball

qmk_install.shやってみる→ダメ

ChatGPTに聞いてみると./util/qmk_install.shを動かしてみたら?とのことだったのでやってみたが、結果はかわらず。同じエラーが出る。

i2c_master.hの場所を確認してみる→何もわからない

ちなみにi2c_master.hの場所を確認してみる。通常のqmk_firmwareだと以下にある。sekigonさんのqmk_firmwareでも同じ場所にあった。パスが変わってるわけではなさそう。

./tmk_core/protocol/arm_atsam

POINTING_DEVICE_DRIVERをコメントアウトしてみる→違うエラー

POINTING_DEVICE_DRIVERを設定しないとどうなるのか試してみる。多分デバイスが指定されてないためエラーになっていそう。

% make az1uball:vial:uf2                                                                                                                                     (git)-[dev/ble-micro-pro]
Making az1uball with keymap vial and target uf2


 * POINTING_DEVICE_DRIVER= is not a valid pointing device type                                         [ERRORS]

builddefs/common_features.mk:140: *** Invalid POINTING_DEVICE_DRIVER.  Stop.
make: *** [az1uball:vial:uf2] Error 1

tmk_coreをqmk_firmwareからもってくる→ダメ

既存のtmk_coreのディレクトリ名を変更して、qmk_firmwareからコピーしてくる

% mv tmk_core tmk_core_original
% cp -R ../qmk_firmware/tmk_core ./

すると別のエラーになった。bmp.mkを読みにいこうとしたけれどないって感じ。

% make az1uball:vial:uf2                                                                                                                   (git)-[dev/ble-micro-pro]
Making az1uball with keymap vial and target uf2

builddefs/build_keyboard.mk:445: tmk_core/protocol/bmp/bmp.mk: No such file or directory
make[1]: *** No rule to make target `tmk_core/protocol/bmp/bmp.mk'.  Stop.
make: *** [az1uball:vial:uf2] Error 1
Make finished with errors

以下のコマンドでbmpフォルダを持ってくる。

cp -R tmk_core_original/protocol/bmp tmk_core/protocol/

するとまたi2c_master.hが見つからないとのこと。

% make az1uball:vial:uf2                                                                                                                   (git)-[dev/ble-micro-pro]
Making az1uball with keymap vial and target uf2

fatal: No names found, cannot describe anything.
fatal: No names found, cannot describe anything.
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 (release) [gcc-8-branch revision 273027]
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

fatal: No names found, cannot describe anything.
Compiling: .build/obj_az1uball_vial/src/default_keyboard.c                                         In file included from quantum/quantum.h:209,
                 from ./.build/obj_az1uball_vial/src/default_keyboard.h:27,
                 from .build/obj_az1uball_vial/src/default_keyboard.c:26:
quantum/pointing_device/pointing_device.h:50:14: fatal error: i2c_master.h: No such file or directory
 #    include "i2c_master.h"
              ^~~~~~~~~~~~~~
compilation terminated.
 [ERRORS]
 | 
 | 
 | 
make[1]: *** [.build/obj_az1uball_vial/.build/obj_az1uball_vial/src/default_keyboard.o] Error 1
make: *** [az1uball:vial:uf2] Error 1
Make finished with errors

bmp.mkにパスを追加したらうまくいくのか?

bmp.mkにパスを追記→エラーが変わる

tmk_core/protocol/bmp/bmp.mkの末尾に以下の行を追加

VPATH += $(TMK_PATH)/$(PROTOCOL_DIR)/arm_atsam

エラーの内容が変わった。今度はsamd51ji18a.hが見つからないらしい。

Making az1uball with keymap vial and target uf2

fatal: No names found, cannot describe anything.
fatal: No names found, cannot describe anything.
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 (release) [gcc-8-branch revision 273027]
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

fatal: No names found, cannot describe anything.
Compiling: .build/obj_az1uball_vial/src/default_keyboard.c                                         In file included from quantum/pointing_device/pointing_device.h:5,
                 from quantum/quantum.h:209,
                 from ./.build/obj_az1uball_vial/src/default_keyboard.h:27,
                 from .build/obj_az1uball_vial/src/default_keyboard.c:26:
tmk_core/protocol/arm_atsam/i2c_master.h:23:14: fatal error: samd51j18a.h: No such file or directory
 #    include "samd51j18a.h"
              ^~~~~~~~~~~~~~
compilation terminated.
 [ERRORS]
 | 
 | 
 | 
make[1]: *** [.build/obj_az1uball_vial/.build/obj_az1uball_vial/src/default_keyboard.o] Error 1
make: *** [az1uball:vial:uf2] Error 1
Make finished with errors

bmp.mkにさらに追記する→エラーが変わる

bmp.mkに以下を追加。

VPATH += lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include

すると以下のエラー。今度はcore_cm4.h。これじゃもぐらたたきか...

% make az1uball:vial:uf2                                                                                                                   (git)-[dev/ble-micro-pro]
Making az1uball with keymap vial and target uf2

fatal: No names found, cannot describe anything.
fatal: No names found, cannot describe anything.
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 (release) [gcc-8-branch revision 273027]
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

fatal: No names found, cannot describe anything.
Compiling: .build/obj_az1uball_vial/src/default_keyboard.c                                         In file included from tmk_core/protocol/arm_atsam/i2c_master.h:23,
                 from quantum/pointing_device/pointing_device.h:50,
                 from quantum/quantum.h:209,
                 from ./.build/obj_az1uball_vial/src/default_keyboard.h:27,
                 from .build/obj_az1uball_vial/src/default_keyboard.c:26:
lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/samd51j18a.h:546:10: fatal error: core_cm4.h: No such file or directory
 #include <core_cm4.h>
          ^~~~~~~~~~~~
compilation terminated.
 [ERRORS]
 | 
 | 
 | 
make[1]: *** [.build/obj_az1uball_vial/.build/obj_az1uball_vial/src/default_keyboard.o] Error 1
make: *** [az1uball:vial:uf2] Error 1
Make finished with errors

考察というか妄想

BLE Micro Proで左右分割キーボードを作る際はi2c通信を使う様なので、i2c_master.hを介さずにi2cをコントロールする様にあえてi2c_master関連のパスは通さない様にしているのか...?

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?