MustafaMulla29/rp2040-bldc-motor-controller-new

A USB‑C PD–powered RP2040 BLDC motor controller PCB with 3.3 V logic, MCT8329A sensorless commutation, three MOSFET half-bridges, protected power switching, USB data, controls, and motor connectors.

Version
0.3.82
License
unset
Stars
0

scripts/capture-routing-input.mjs

import {Circuit} from '@tscircuit/core'
import {writeFileSync,readFileSync} from 'node:fs'
import Board from '../index.circuit.tsx'
const plan=JSON.parse(readFileSync('circuit/route-plan.json'))
const routingAlgorithm=async input=>{
 writeFileSync('../candidate-input.json',JSON.stringify(input))
 const events=new Map()
 return {on(n,f){events.set(n,f)},start(){events.get('complete')({traces:process.argv.includes('--empty')?[]:structuredClone(plan.traces)})},stop(){}}
}
const c=new Circuit({platform:{partsEngineDisabled:true,schematicDisabled:!process.argv.includes("--schematic")}})
c.add(Board({routingAlgorithm}));await c.renderUntilSettled()
const json=c.getCircuitJson();writeFileSync('../candidate.circuit.json',JSON.stringify(json))
const errors=json.filter(x=>x.type.endsWith('_error'))
writeFileSync('../candidate-errors.json',JSON.stringify(errors,null,2));console.log('Candidate errors',errors.length)
if(errors.length)process.exitCode=1