AnasSarkiz/rp2040-usb-c-single-axis-dm542t-motion-controller--01a0e89c

A USB‑C RP2040 controller board with external QSPI flash, crystal clock, regulated 3.3/1.1/5 V power, boost-converted motor-driver supply, protected USB and limit inputs, status LEDs, reset/boot switches, and AO3400A MOSFET outputs for stepper-control signals.

Version
0.1.0-prototype.19
License
unset
Stars
0

tooling/regression-tests/core/tests/components/primitive-components/plated-hole-solder-paste-disabled.test.tsx

import { expect, test } from "bun:test"
import { getTestFixture } from "tests/fixtures/get-test-fixture"

test("paste can be disabled for through holes without removing copper or mask", () => {
  const { circuit } = getTestFixture()
  circuit.add(
    <board width={20} height={12} routingDisabled>
      <platedhole
        name="CIRCLE"
        pcbX={-6}
        shape="circle"
        holeDiameter={1}
        outerDiameter={2}
        solderPasteDisabled
      />
      <platedhole
        name="PILL"
        pcbX={-2}
        shape="pill"
        holeWidth={1}
        holeHeight={2}
        outerWidth={2}
        outerHeight={3}
        solderPasteDisabled
      />
      <platedhole
        name="OVAL"
        pcbX={2}
        shape="oval"
        holeWidth={1}
        holeHeight={2}
        outerWidth={2}
        outerHeight={3}
        solderPasteDisabled
      />
      <platedhole
        name="DEFAULT"
        pcbX={6}
        shape="circle"
        holeDiameter={1}
        outerDiameter={2}
      />
    </board>,
  )
  circuit.render()
  const holes = circuit.db.pcb_plated_hole.list()
  expect(holes).toHaveLength(4)
  for (const hole of holes) expect(hole.is_covered_with_solder_mask).toBe(false)
  const paste = circuit.db.pcb_solder_paste.list()
  expect(paste).toHaveLength(2)
  expect(paste.map((aperture) => aperture.layer).sort()).toEqual([
    "bottom",
    "top",
  ])
  for (const aperture of paste) expect(aperture.x).toBe(6)
  expect(circuit).toMatchPcbSnapshot(import.meta.path)
})