gokul/acoustic-guitar-tuner

This code defines the physical pin configuration and footprint layouts for the ATtiny1616 microcontroller and a matching tactile switch component, including their key hardware connection points, dimensions, and 3D models.

Version
1.0.10
License
unset
Stars
1

scripts/prepare-flat-kicad.mjs

import { readFileSync, writeFileSync, mkdirSync } from "node:fs"

// tscircuit 0.0.2509's ZIP export omits child schematic files. This board has
// exactly one sheet: flatten only its sheet metadata for the KiCad conversion.
// Keep all symbols, nets, traces, positions and PCB data unchanged.
const circuit = JSON.parse(readFileSync("dist/index/circuit.json", "utf8"))
const sheets = circuit.filter(item => item.type === "schematic_sheet")
if (sheets.length !== 1) throw new Error("This export workaround is only valid for one schematic sheet")
const flat = circuit.filter(item => item.type !== "schematic_sheet").map(item => {
  const { schematic_sheet_id, ...rest } = item
  return rest
})
mkdirSync(".tscircuit/audit/kicad-flat", {recursive:true})
writeFileSync(".tscircuit/audit/kicad-flat/circuit.json", JSON.stringify(flat))
console.log("Prepared single-sheet KiCad export input without changing circuit connectivity.")