Add 8HP layout with fully automated routing pipeline
- Update PCB to 8HP format (40x100mm) with v2 component placement - Add automated routing scripts (autoroute.py runs full pipeline headlessly) - Update panel spec and SVG for 8HP dimensions - Board routes in <1 second with 0 unconnected pads Scripts: - autoroute.py: Full CLI pipeline (place → export → route → import → DRC) - autoroute_full.py: Same pipeline for KiCad scripting console - place_8hp.py: Component placement only - route.sh/freeroute.sh: Routing helpers
This commit is contained in:
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
# Freerouting automation script
|
||||
# Usage: ./scripts/freeroute.sh
|
||||
#
|
||||
# Prerequisites: Export DSN from KiCad first (File → Export → Specctra DSN)
|
||||
|
||||
set -e
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
DSN_FILE="SN-L00.dsn"
|
||||
SES_FILE="SN-L00.ses"
|
||||
FREEROUTING_JAR="/tmp/freerouting.jar"
|
||||
FREEROUTING_URL="https://github.com/freerouting/freerouting/releases/download/v2.0.1/freerouting-2.0.1.jar"
|
||||
|
||||
echo "=================================="
|
||||
echo "SN-L00 Freerouting Automation"
|
||||
echo "=================================="
|
||||
|
||||
# Check DSN exists
|
||||
if [ ! -f "$DSN_FILE" ]; then
|
||||
echo "ERROR: $DSN_FILE not found"
|
||||
echo "Export from KiCad: File → Export → Specctra DSN"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Download Freerouting if needed
|
||||
if [ ! -f "$FREEROUTING_JAR" ]; then
|
||||
echo "Downloading Freerouting..."
|
||||
curl -L -o "$FREEROUTING_JAR" "$FREEROUTING_URL"
|
||||
fi
|
||||
|
||||
# Run Freerouting
|
||||
echo "Running Freerouting..."
|
||||
java -jar "$FREEROUTING_JAR" \
|
||||
-de "$DSN_FILE" \
|
||||
-do "$SES_FILE" \
|
||||
-mp 200 \
|
||||
-mt 1 \
|
||||
-oit
|
||||
|
||||
echo ""
|
||||
echo "=================================="
|
||||
echo "DONE! Import in KiCad:"
|
||||
echo " File → Import → Specctra Session"
|
||||
echo " Select: $SES_FILE"
|
||||
echo "=================================="
|
||||
Reference in New Issue
Block a user