shibosoftwaredev/f1c100s-linux-nema17-stepper-controller

A four-layer NEMA 17 motor-controller PCB combining an Allwinner F1C100S Linux computer, USB‑PD/buck power system, W5500 Ethernet, STM32 real-time motion control, DRV8825 stepper driver, protection/temperature/current telemetry, USB interfaces, and local LED/buzzer diagnostics.

Version
0.4.56
License
unset
Stars
0

whole-board-router.ts

import routes from "./routing/complete-routes.json"

/** All component pads are routed together offline; builds replay the checked
 * complete solution. No old module or carrier routing is preloaded. */
export async function wholeBoardRouter(input: any) {
  const handlers: Record<string, Array<(event: any) => void>> = {}
  return {
    input,
    isRouting: false,
    on(event: string, handler: (event: any) => void) {
      (handlers[event] ??= []).push(handler)
    },
    start() {
      queueMicrotask(() => handlers.complete?.forEach(handler =>
        handler({ type: "complete", traces: routes })))
    },
    stop() {},
    solveSync() { return routes },
  }
}