7755ec9fb8
Include m57.c for RGB matrix linking, add Python 3.14 math patch and platform fallback, and keep brightness step in info.json only.
80 lines
2.6 KiB
Markdown
80 lines
2.6 KiB
Markdown
# BCORNE firmware (DH747 / STM32F401)
|
|
|
|
Keyboard target: `sh01/m36:via`
|
|
|
|
## Prerequisites
|
|
|
|
1. Install [QMK CLI 1.2.0](https://docs.qmk.fm/#/cli) (or QMK MSYS on Windows).
|
|
2. Use **Python 3.11 or 3.12** for the build. Python 3.14 breaks the pinned vial-qmk commit unless patched (see Troubleshooting).
|
|
3. Clone vial-qmk at the IFKB-pinned commit:
|
|
|
|
```bash
|
|
git clone https://github.com/vial-kb/vial-qmk.git
|
|
cd vial-qmk
|
|
git checkout fcd56b119ea8c60142c9a03e997be5a7acba52b7
|
|
make git-submodule
|
|
```
|
|
|
|
## Install this keyboard port
|
|
|
|
Copy the contents of this folder into vial-qmk:
|
|
|
|
```bash
|
|
mkdir -p keyboards/sh01/m36
|
|
cp -r /path/to/kb-layouts/corne/firmware/* keyboards/sh01/m36/
|
|
```
|
|
|
|
The make target comes from that path: `keyboards/sh01/m36` → `sh01/m36:via`.
|
|
|
|
If you are on Python 3.14+, apply the QMK math patch from inside your vial-qmk checkout:
|
|
|
|
```bash
|
|
cd /path/to/vial-qmk
|
|
patch -p1 < /path/to/kb-layouts/corne/firmware/patches/vial-qmk-math-py.patch
|
|
```
|
|
|
|
## Build
|
|
|
|
```bash
|
|
make sh01/m36:via
|
|
```
|
|
|
|
Output: `sh01_m36_via.uf2` in the vial-qmk root.
|
|
|
|
## Flash
|
|
|
|
Flash **both halves** with the same UF2 file:
|
|
|
|
1. Connect the half to USB (left half is the normal USB host side).
|
|
2. Double-tap the reset button (not single tap).
|
|
3. A drive named `IFKB` should appear.
|
|
4. Drag the `.uf2` file onto the drive.
|
|
5. Repeat for the other half.
|
|
|
|
After flashing, load `../corne.vil` in Vial to restore your keymap.
|
|
|
|
## RGB brightness dial
|
|
|
|
Brightness step size is set in `info.json` under `rgb_matrix.val_steps` (currently `1`).
|
|
|
|
With `max_brightness: 50`, step `1` gives 51 brightness levels. Increase to `2` or `4` if the dial feels too slow.
|
|
|
|
Do not also define `RGB_MATRIX_VAL_STEP` in `config.h` — QMK warns when both are set.
|
|
|
|
## Troubleshooting
|
|
|
|
### `AttributeError: module 'ast' has no attribute 'Num'`
|
|
|
|
The pinned vial-qmk commit uses `ast.Num`, which was removed in Python 3.14. Fix options:
|
|
|
|
1. **Recommended:** build with Python 3.11 or 3.12 (`python3.12 -m venv .venv && source .venv/bin/activate && pip install qmk`).
|
|
2. **Alternative:** apply `patches/vial-qmk-math-py.patch` inside your vial-qmk checkout (see Install step above).
|
|
|
|
### `Platform not defined`
|
|
|
|
Usually a follow-on error from the `ast.Num` failure — QMK never parses `processor: STM32F401` from `info.json`. Fixing the Python issue should resolve this. `post_rules.mk` also provides a fallback (`PLATFORM_KEY = chibios`, `MCU = STM32F401`).
|
|
|
|
### `RGB_MATRIX_VAL_STEP in config.h is overwriting rgb_matrix.val_steps in info.json`
|
|
|
|
Keep the step size in **one place only** — use `val_steps` in `info.json`, not `#define RGB_MATRIX_VAL_STEP` in `config.h`.
|