Every plausible oscillator against every rate it reaches against every backend, on one chip per size-bearing class, under --full only. The baud ladder becomes a reachability predicate the enumeration filters on, so an unreachable point drops out instead of aborting the configure. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
40 lines
1.4 KiB
Bash
Executable File
40 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
||
# The port's gate: every chip's generated workflow — build, size matrix, and
|
||
# the simulator-driven protocol suites. --full adds the reflect-spot builds
|
||
# (libavr's rule: reflect compiles are bounded to its spot set, never the
|
||
# full matrix) and swaps the compact size matrix for the exhaustive
|
||
# clock × baud × backend cross product. LIBAVR_ROOT must point at the libavr
|
||
# checkout.
|
||
set -e
|
||
cd "$(dirname "$0")/.."
|
||
|
||
full=0
|
||
[[ "$1" == "--full" ]] && { full=1; shift; export PUREBOOT_FULL_MATRIX=1; }
|
||
|
||
CHIPS=(attiny13 attiny13a attiny25 attiny45 attiny85
|
||
atmega8 atmega8a atmega16 atmega16a atmega32 atmega32a
|
||
atmega48 atmega48a atmega48p atmega48pa
|
||
atmega88 atmega88a atmega88p atmega88pa
|
||
atmega168 atmega168a atmega168p atmega168pa
|
||
atmega328 atmega328p
|
||
atmega164a atmega164p atmega164pa
|
||
atmega324a atmega324p atmega324pa
|
||
atmega644 atmega644a atmega644p atmega644pa
|
||
atmega1284 atmega1284p)
|
||
REFLECT_SPOT=(attiny13a attiny85 atmega8 atmega16a atmega32a atmega48pa
|
||
atmega88 atmega168pa atmega328p atmega164a atmega644p atmega1284)
|
||
|
||
for chip in "${CHIPS[@]}"; do
|
||
echo "==== $chip ===="
|
||
cmake --workflow --preset "$chip-generated" "$@"
|
||
done
|
||
|
||
if ((full)); then
|
||
for chip in "${REFLECT_SPOT[@]}"; do
|
||
echo "==== $chip reflect ===="
|
||
cmake --workflow --preset "$chip-reflect" "$@"
|
||
done
|
||
fi
|
||
|
||
echo "check: every chip green"
|