imrishabh18/nema-23-stepper-controller

A 57 mm four-layer RP2040 NEMA23 stepper-controller PCB with USB‑C/USB‑PD power input, protected motor rail, DRV8452 dual-winding driver, bidirectional current sensing, temperature/enable interlock, optional magnetic encoder, RGB LED and buzzer status indicators, and motor/test connectors.

Version
1.2.3
License
unset
Stars
0

scripts/verify-toolchain.mjs

import {fileURLToPath} from 'node:url'
import {readFileSync,existsSync} from 'node:fs'
import {dirname,join} from 'node:path'
import assert from 'node:assert/strict'

function installed(name,from=import.meta.url){
  const entry=fileURLToPath(import.meta.resolve(name,from))
  let dir=dirname(entry)
  while(!existsSync(join(dir,'package.json')))dir=dirname(dir)
  return {entry,...JSON.parse(readFileSync(join(dir,'package.json'),'utf8'))}
}
const ts=installed('tscircuit')
const core=installed('@tscircuit/core',new URL('file://'+ts.entry).href)
const solver=installed('@tscircuit/schematic-trace-solver',new URL('file://'+core.entry).href)
const router=installed('@tscircuit/capacity-autorouter',new URL('file://'+core.entry).href)
assert.equal(ts.version,'0.0.2729')
assert.equal(core.version,'0.0.2050')
assert.equal(solver.version,'0.0.223')
assert.equal(router.version,'0.0.951')
const cli=installed('@tscircuit/cli')
const easyeda=installed('easyeda')
assert.equal(cli.version,'0.1.2228')
assert.equal(easyeda.version,'0.0.364')
for(const p of [ts,cli,easyeda,core,solver,router])console.log(`${p.name}: ${p.version}\n  ${p.entry}`)
console.log('PASS: current tscircuit, CLI, converter, core, schematic solver and autorouter resolve correctly.')