Fix BCORNE firmware build for vial-qmk on modern Python.

Include m57.c for RGB matrix linking, add Python 3.14 math patch and platform fallback, and keep brightness step in info.json only.
This commit is contained in:
2026-09-06 18:03:36 -05:00
parent 1d6f6bed9e
commit 7755ec9fb8
5 changed files with 48 additions and 8 deletions
+29 -7
View File
@@ -5,7 +5,8 @@ Keyboard target: `sh01/m36:via`
## Prerequisites
1. Install [QMK CLI 1.2.0](https://docs.qmk.fm/#/cli) (or QMK MSYS on Windows).
2. Clone vial-qmk at the IFKB-pinned commit:
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
@@ -25,6 +26,13 @@ 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
@@ -47,11 +55,25 @@ After flashing, load `../corne.vil` in Vial to restore your keymap.
## RGB brightness dial
Brightness step size is controlled in `config.h`:
Brightness step size is set in `info.json` under `rgb_matrix.val_steps` (currently `1`).
```c
#define RGB_MATRIX_VAL_STEP 1
```
With `max_brightness: 50`, step `1` gives 51 brightness levels. Increase to `2` or `4` if the dial feels too slow.
With `max_brightness: 50` in `info.json`, 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`.