ShiboSoftwareDev/mspm0g3507-usb-c-dev-board

This circuit features a USB Type-C connector with integrated resistors and passives, a USB ESD protection device, a CH340 USB-to-serial interface chip, a 3.3V regulator (AP2112K), multiple decoupling and bulk capacitors, and a Microcontroller (MSPM0G3507) with associated I2C and SPI connections, providing USB communication, power regulation, and RGB LED control.

Version
1.4.1
License
unset
Stars
0

scripts/check-schematic-placement.mjs

import { spawnSync } from "node:child_process"

const result = spawnSync(
  "tsci",
  ["check", "schematic-placement", "index.circuit.tsx"],
  { encoding: "utf8", maxBuffer: 8 * 1024 * 1024 },
)

if (result.error) throw result.error
if (result.status !== 0) {
  process.stderr.write(result.stderr)
  process.stderr.write(result.stdout)
  process.exit(result.status ?? 1)
}

const issueBlock = result.stdout.match(
  /<SchematicPlacementIssues>[\s\S]*?<\/SchematicPlacementIssues>/,
)?.[0]
const traceSimplificationAdvisories =
  issueBlock?.match(/<TraceCanBeSimplifiedByMovingComponent\b[^>]*\/>/g) ?? []
const blockingIssues = issueBlock
  ?.replace(/<\/?SchematicPlacementIssues>/g, "")
  .replace(/<TraceCanBeSimplifiedByMovingComponent\b[^>]*\/>/g, "")
  .trim()

if (blockingIssues) {
  process.stderr.write(`${issueBlock}\n`)
  process.exit(1)
}

console.log(
  `No blocking schematic placement issues detected (${traceSimplificationAdvisories.length} trace-simplification advisories)`,
)