Rename to rpmroute
The router began as a port of FreeRouting and has grown its own engine (negotiated congestion, tree nets, exact checks, axis escapes), and 'freeroute' was one letter from the project it no longer follows. The package, module and command are now rpmroute; the freeroute command stays as an alias, and the RPMROUTE / RPMROUTE_ORACLE_JAVA variables fall back to the old FREEROUTE names. Version 2026.10.07. Routing is unchanged: a PCBench board routes to a byte-identical session either way.
This commit is contained in:
+5
-5
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Route one KiCad board with freeroute and judge the result with KiCad's DRC.
|
||||
# Route one KiCad board with rpmroute and judge the result with KiCad's DRC.
|
||||
#
|
||||
# bench/drc_check.sh [--keep] <board.kicad_pcb> <out-dir> [freeroute args...]
|
||||
# bench/drc_check.sh [--keep] <board.kicad_pcb> <out-dir> [rpmroute args...]
|
||||
#
|
||||
# Copies the board (and its .kicad_pro) into <out-dir>, strips its tracks and
|
||||
# vias unless --keep is given (then they reach the router as fixed wiring),
|
||||
@@ -10,14 +10,14 @@
|
||||
# shorts, opens, hole problems (whatever severity the board gives them) and
|
||||
# the other errors. The source board is never touched.
|
||||
#
|
||||
# FREEROUTE (default: this checkout's .venv/bin/freeroute) and MCK (default
|
||||
# RPMROUTE (or the older FREEROUTE; default: this checkout's .venv/bin/rpmroute) and MCK (default
|
||||
# ~/claude/mckicad) pick the builds to judge.
|
||||
set -euo pipefail
|
||||
keep=0
|
||||
if [[ "${1:-}" == "--keep" ]]; then keep=1; shift; fi
|
||||
src="$1"; out="$2"; shift 2
|
||||
here="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
FREEROUTE="${FREEROUTE:-$here/.venv/bin/freeroute}"
|
||||
RPMROUTE="${RPMROUTE:-${FREEROUTE:-$here/.venv/bin/rpmroute}}"
|
||||
MCK="${MCK:-$HOME/claude/mckicad}"
|
||||
rm -rf "$out"; mkdir -p "$out"
|
||||
cp "${src%.kicad_pcb}.kicad_pro" "$out/board.kicad_pro" 2>/dev/null || true
|
||||
@@ -43,7 +43,7 @@ assert FreeRoutingEngine().export_dsn_from_kicad('$out/board.kicad_pcb', '$out/b
|
||||
>/dev/null 2>&1 || { echo "$out: DSN export failed"; exit 1; }
|
||||
|
||||
start=$(date +%s.%N)
|
||||
"$FREEROUTE" "$out/board.dsn" -do "$out/board.ses" "$@" >"$out/route.log" 2>&1 || true
|
||||
"$RPMROUTE" "$out/board.dsn" -do "$out/board.ses" "$@" >"$out/route.log" 2>&1 || true
|
||||
secs=$(python3 -c "print(round($(date +%s.%N)-$start,1))")
|
||||
[[ -s "$out/board.ses" ]] || { echo "$out: no session ($(tail -1 "$out/route.log"))"; exit 1; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user