Warn on strapping pins instead of rejecting them #128

Merged
Claude merged 2 commits from feat/yaml-strapping-warning into feat/yaml-nodes 2026-10-16 06:27:17 +00:00
Collaborator

YN-9. Real wiring uses strapping pins (the bathroom PIR on D0, the lighting kitchen ceiling on GPIO 5) and boots fine, so the generator now warns instead of failing. It applies to every endpoint, input or output, for a single pin and for each pins entry. The check is in one place, parse_pin, which collects a one-line message naming the file, field and pin and saying the device must not hold the pin at the wrong level during power-up. render prints the warnings to stderr, so they show in the build output. CAN-board and input-only rejections are unchanged.

The schema's per-board pin lists now include strapping pins for every type, and the pin descriptions name which ones the generator warns about, so a front end can too. README states the new rule.

Tested: Python 39 (was 36), none skipped locally. Tests cover a warning for an input, an output and a pins entry (naming pins[1]), and the stderr output; disabling the warning fails them. A real gen_lolin32 build with a pin 5 load printed the warning and succeeded. All three fixtures build.

YN-9. Real wiring uses strapping pins (the bathroom PIR on D0, the lighting kitchen ceiling on GPIO 5) and boots fine, so the generator now warns instead of failing. It applies to every endpoint, input or output, for a single `pin` and for each `pins` entry. The check is in one place, `parse_pin`, which collects a one-line message naming the file, field and pin and saying the device must not hold the pin at the wrong level during power-up. `render` prints the warnings to stderr, so they show in the build output. CAN-board and input-only rejections are unchanged. The schema's per-board pin lists now include strapping pins for every type, and the pin descriptions name which ones the generator warns about, so a front end can too. README states the new rule. Tested: Python 39 (was 36), none skipped locally. Tests cover a warning for an input, an output and a `pins` entry (naming `pins[1]`), and the stderr output; disabling the warning fails them. A real `gen_lolin32` build with a pin 5 load printed the warning and succeeded. All three fixtures build.
Warn on strapping pins instead of rejecting them
Some checks failed
Build and test / release (pull_request) Has been cancelled
Build and test / build (pull_request) Has been cancelled
325389674e
Tidy the strapping note in the schema generator
All checks were successful
Build and test / build (pull_request) Successful in 5m12s
Build and test / release (pull_request) Has been skipped
e4ea477abc
Claude merged commit 461d5b29d9 into feat/yaml-nodes 2026-10-16 06:27:17 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rob/CampervanControlSystems!128
No description provided.