ShiboSoftwareDev/linux-gameboy-advance

Restores PCB assembly metadata by assigning part numbers and 3D CAD models, removing test-point bodies, and validating top-side SMT solder-paste features without altering copper or pads.

Version
1.0.17
License
unset
Stars
0

handheld-imports/KH_6X6X15H_SMT_FS_D.tsx

import type { ChipProps } from "@tscircuit/props"

const pinLabels = {
  pin1: ["pin1"],
  pin2: ["pin2"],
  pin3: ["pin3"],
  pin4: ["pin4"],
} as const

/** The same 6 x 6 mm, 15 mm actuator switch used by abse/gameboy. */
export const KH_6X6X15H_SMT_FS_D = (
  props: ChipProps<typeof pinLabels>,
) => (
  <chip
    pinLabels={pinLabels}
    symbol={
      <symbol>
        <port name="pin4" pinNumber={4} aliases={["4"]} direction="right" schX={0.4} schY={-0.2} schStemLength={0.2} />
        <port name="pin3" pinNumber={3} aliases={["3"]} direction="left" schX={-0.4} schY={-0.2} schStemLength={0.2} />
        <port name="pin2" pinNumber={2} aliases={["2"]} direction="right" schX={0.4} schY={0.2} schStemLength={0.2} />
        <port name="pin1" pinNumber={1} aliases={["1"]} direction="left" schX={-0.4} schY={0.2} schStemLength={0.2} />
        <schematicpath points={[{ x: -0.2, y: 0.2 }, { x: 0.2, y: 0.2 }]} strokeColor="#880000" />
        <schematicpath points={[{ x: -0.2, y: -0.2 }, { x: 0.2, y: -0.2 }]} strokeColor="#880000" />
        <schematicpath points={[{ x: -0.04, y: 0.08 }, { x: -0.08, y: -0.08 }]} strokeColor="#880000" />
      </symbol>
    }
    supplierPartNumbers={{ jlcpcb: ["C18186519"] }}
    manufacturerPartNumber="KH_6X6X15H_SMT_FS_D"
    footprint={
      <footprint>
        <smtpad portHints={["pin1"]} pcbX="-4.200017mm" pcbY="2.249805mm" width="1.850009mm" height="1.0999978mm" shape="rect" />
        <smtpad portHints={["pin2"]} pcbX="4.200017mm" pcbY="2.249805mm" width="1.850009mm" height="1.0999978mm" shape="rect" />
        <smtpad portHints={["pin3"]} pcbX="-4.200017mm" pcbY="-2.249805mm" width="1.850009mm" height="1.0999978mm" shape="rect" />
        <smtpad portHints={["pin4"]} pcbX="4.200017mm" pcbY="-2.249805mm" width="1.850009mm" height="1.0999978mm" shape="rect" />
        <silkscreenpath route={[{ x: -3.048, y: -3.048 }, { x: 3.048, y: -3.048 }, { x: 3.048, y: 3.048 }, { x: -3.048, y: 3.048 }, { x: -3.048, y: -3.048 }]} />
        <silkscreencircle pcbX="0mm" pcbY="0mm" radius="1.500251mm" />
        <silkscreentext text="{NAME}" pcbX="0mm" pcbY="4.045587mm" anchorAlignment="center" fontSize="1mm" />
        <courtyardoutline outline={[{ x: -5.384991, y: 3.295587 }, { x: 5.376609, y: 3.295587 }, { x: 5.376609, y: -3.300413 }, { x: -5.384991, y: -3.300413 }, { x: -5.384991, y: 3.295587 }]} />
      </footprint>
    }
    cadModel={{
      objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C18186519.obj?uuid=152d242aeb424b63a926a84b518edee1",
      stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C18186519.step?uuid=152d242aeb424b63a926a84b518edee1",
      pcbRotationOffset: 0,
      modelOriginPosition: { x: -0.0000127, y: 0.00005, z: 0 },
    }}
    {...props}
  />
)