libavr moves to its USI I2C rate accounting, the two override surfaces the fan-controller port filed - a PWM solve that can be pinned, a capture edge that is a value - and the shared preset loop's own fix. pureboot moves with it. This firmware names none of them and no image moved. `tools/check.sh` is new, and its absence was the defect: there was no committed gate at all, so "run the suite" was a snippet somebody remembered - and the order in a snippet is the one thing nobody re-derives. Every preset built before any is tested is subtle and load-bearing, because the mode-identity check reads the sibling mode's tree and a build-then-test-per-preset run holds a fresh image against a stale sibling. The loop is libavr's `tools/check-presets.sh`. Two defaults stop being the editing machine's. `.vscode/settings.json` named `D:/dev/libavr/local/toolchain/avr-gcc-16.1.0-mingw`, which is a path true of one machine (libavr guidance rule 50) and, since the in-repo toolchain copies went, true of none - `local/machine.cmake` is where a checkout says that and it already did. And `.gitattributes` gains `* text=auto eol=lf`: naming the source extensions left Markdown, Python, shell and CMake to whatever wrote them, which on the Windows side is CRLF, and a rewrite there buries the change it made. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
13 lines
519 B
Plaintext
13 lines
519 B
Plaintext
# Line endings are the repository's, not the editing machine's: this checkout
|
|
# is reached from two hosts, and a file rewritten by a Windows tool comes back
|
|
# with every line changed unless something says otherwise. Naming the source
|
|
# extensions left Markdown, Python, shell and CMake to whatever the writing
|
|
# tool defaulted to, which is CRLF on one of the two.
|
|
* text=auto eol=lf
|
|
|
|
# Atmel Studio writes these and expects them back.
|
|
*.vcxproj* eol=crlf
|
|
*.cppproj eol=crlf
|
|
*.sln eol=crlf
|
|
*.atsln eol=crlf
|