pixalynx/nrf9151-gps-tracker

A compact 44×32 mm, 4-layer nRF9151 LTE-M/NB-IoT/GNSS tracker PCB with nPM1300 LiPo/USB-C power, nano-SIM/eSIM switching, nRF7002 Wi‑Fi scanning, accelerometer, antennas, buzzer, LEDs, SOS button, and SWD/debug connectors.

Version
0.1.4
License
unset
Stars
0

scripts/prepare-routing.sh

#!/bin/sh
# Rebuild the generated copper from scratch after a placement change:
# placement + hand-routed RF build -> ground mesh -> build -> Specctra DSN for the Freerouting pass.
# Follow with: bun run route:run ; bun run route:import ; bun run build ; bun run check
set -e
cd "$(dirname "$0")/.."
mkdir -p .tmp/router
echo '{ "source": "", "router": "", "legs": [] }' > routing/index-routes.json
echo '{ "stubs": [], "links": [], "unresolved": [] }' > routing/index-gnd.json
npx tsci build index.circuit.tsx > .tmp/place.log 2>&1 || { grep -i "error" .tmp/place.log | head; exit 1; }
python3 scripts/gen-gnd-mesh.py dist/index/circuit.json routing/index-gnd.json GND
npx tsci build index.circuit.tsx > .tmp/unrouted.log 2>&1 || { grep -i "error" .tmp/unrouted.log | head; exit 1; }
# re-frame stubs of parts whose pcbPath anchor is not their bounds centre (J5, J6), then rebuild before exporting
python3 scripts/fix-anchors.py --mesh
npx tsci build index.circuit.tsx > .tmp/unrouted.log 2>&1 || { grep -i "error" .tmp/unrouted.log | head; exit 1; }
python3 scripts/fix-anchors.py --mesh
python3 scripts/audit-copper.py dist/index/circuit.json | tail -2
python3 scripts/export-router-dsn.py index
# no deletes here: tsci dev crashes when a file it has seen disappears; Freerouting overwrites the .ses