Files
kb-layouts/corne/firmware/readme.md
T
numbers 7755ec9fb8 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.
2026-09-06 18:03:36 -05:00

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`.