pixalynx/edge-connector
Configures USB-A, Micro-USB, and USB-C PCB-edge connectors with exposed copper contacts and automatically shaped, positioned board tongues.
- Version
- 1.0.0
- License
- GPL-3.0-only
- Stars
- 0
EdgeContactFootprint.tsx
import { Fragment } from "react"
export interface EdgeContact {
pin: string
x: number
y: number
width: number
height: number
layer: "top" | "bottom"
}
/** Exposed contacts with no stencil openings, on their original copper faces. */
export function EdgeContactFootprint({
pads,
solderMaskMargin = 0.025,
}: {
pads: readonly EdgeContact[]
solderMaskMargin?: number
}) {
return (
<footprint insertionDirection="from_top">
{pads.map((pad) => (
<Fragment key={pad.pin}>
<smtpad
portHints={[pad.pin]}
pcbX={pad.x}
pcbY={pad.y}
width={pad.width}
height={pad.height}
shape="rect"
layer={pad.layer}
coveredWithSolderMask={false}
solderMaskMargin={solderMaskMargin}
solderPasteMargin={-pad.width / 2}
/>
</Fragment>
))}
</footprint>
)
}