ShiboSoftwareDev/f1c100s-linux-stepper-controller
A four-layer Linux motor-control carrier built around an Allwinner F1C100S SoC, USB‑C, SPI flash, multi-rail power regulation, DRV8825 stepper-driver stage with protection/current sensing, temperature monitoring, and external I/O connectors.
- Version
- 0.1.1
- License
- unset
- Stars
- 0
routing-boundary.ts
import { applyPartMetadata, applyCadMetadata, applyAssemblyPasteMetadata } from "./assembly-metadata"
/** Keep the reservation in the autorouter input, then remove the non-fabricated
* helper after routing and before copper generation / final DRC. */
export function routingKeepoutRef(keepout: any) {
if (!keepout) return
keepout.doInitialPcbCopperPourRender=()=>{
if (keepout.root && keepout.pcb_keepout_id)
keepout.root.db.pcb_keepout.delete(keepout.pcb_keepout_id)
}
}
/** Apply assembly metadata before the unmodified full DRC. */
export function routingBoundaryRef(board: any) {
// React 19 calls callback refs with null during cleanup.
if (!board?.doInitialPcbDesignRuleChecks) return
const check=board.doInitialPcbDesignRuleChecks.bind(board)
board.doInitialPcbDesignRuleChecks=()=>{ applyPartMetadata(board); check() }
const parts=board.doInitialPartsEngineRender.bind(board)
board.doInitialPartsEngineRender=()=>{ applyCadMetadata(board); applyAssemblyPasteMetadata(board); return parts() }
}