You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,3 +94,23 @@ In `key_action.h`:
94
94
## Code Review Philosophy
95
95
96
96
Focus on functional aspects, not nitpicks. Only flag magic constants if they're used in multiple places and may need future changes. Don't require comments unless truly necessary.
97
+
98
+
## UHK80 / Zephyr Dev Environment — Findings
99
+
100
+
Key gotchas discovered while setting up:
101
+
102
+
- **Re-run `./build.sh update` after any branch/manifest switch.** The west modules (zephyr, nrf, …)
103
+
are pinned per `west_nrfsdk.yml`; if they don't match the current checkout, CMake configure fails
104
+
with `Error finding board: uhk-80-right ... Malformed "build" section ... SchemaError`. This is a
105
+
Zephyr version mismatch, not a `board.yml` bug — `./build.sh update` (west update + patch) fixes it.
106
+
- **Single-device builds run in the foreground** (`./build.sh right build`), which is easiest for
107
+
testing; multi-device (`left right dongle`) fans out into tmux `buildsession` panes.
108
+
- **Dongle link depends on `keyboard/` sources.** `right/src/slave_drivers/kboot_driver.c` is compiled
109
+
for all UHK80 targets, but `device/src/CMakeLists.txt` only compiles `keyboard/*.c` (which includes
110
+
`uart_modules.c`) for left/right, **not** the dongle. So any symbol `kboot_driver.c` pulls from
111
+
`uart_modules.c` (e.g. the `KbootUart_*` UART-transport functions) must be stubbed/guarded for the
112
+
dongle or the dongle link fails with `undefined reference`.
113
+
- **Agent npm shadow.** `lib/agent` is nested inside this repo; the firmware root's `node_modules/npm`
114
+
(11.8.0, pinned by the root lockfile) shadows nvm's npm during the Agent build and trips its
115
+
`check-node-version` (>=11.13.0). Fix: `npm install npm@11.13.0 --no-save --no-package-lock` in the
116
+
firmware root. Details in the reference doc above.
0 commit comments