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/TF_01A_Fabrication.tsx

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

const pinLabels = {
  pin1: ["DAT2"],
  pin2: ["CD_DAT3"],
  pin3: ["CMD"],
  pin4: ["VDD"],
  pin5: ["CLK"],
  pin6: ["VSS"],
  pin7: ["DAT0"],
  pin8: ["DAT1"],
  pin9: ["CD"],
  pin10: ["SHIELD1"],
  pin11: ["SHIELD4"],
  pin12: ["SHIELD3"],
  pin13: ["SHIELD2"],
} as const

const pinAttributes = {
  pin4: { requiresPower: true },
  pin6: { requiresGround: true },
  pin10: { requiresGround: true },
  pin11: { requiresGround: true },
  pin12: { requiresGround: true },
  pin13: { requiresGround: true },
} as const

// Imported normally from JLC C91145. HRO TF-01A Rev A (2014/9/29)
// recommends nine 0.70 x 1.30 mm signal lands; EasyEDA imports them as 0.60 mm.
// Only their widths are corrected here. Centers, shell lands, NPTHs and CAD
// retain the exact import. The manufacturer drawing specifies no no-pattern area.
// https://datasheet.lcsc.com/datasheet/pdf/7650eac21a54674b08ad4ba21e17fceb.pdf?productCode=C91145
export const TF_01A_Fabrication = (props: ConnectorProps) => (
  <connector
    pinLabels={pinLabels}
    pinAttributes={pinAttributes}
    supplierPartNumbers={{ jlcpcb: ["C91145"] }}
    manufacturerPartNumber="TF-01A"
    footprint={
      <footprint insertionDirection="from_above">
        <hole pcbX="-4.9499393mm" pcbY="-5.39108015mm" diameter="0.999998mm" />
        <hole pcbX="3.0500447mm" pcbY="-5.39108015mm" diameter="0.999998mm" />
        <smtpad portHints={["pin1"]} pcbX="2.2400133mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin2"]} pcbX="1.1399647mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin3"]} pcbX="0.0399161mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin4"]} pcbX="-1.0601325mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin5"]} pcbX="-2.1599525mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin6"]} pcbX="-3.2600011mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin7"]} pcbX="-4.3600497mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin8"]} pcbX="-5.4598697mm" pcbY="5.45108765mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin9"]} pcbX="-6.5599691mm" pcbY="5.45068125mm" width="0.7mm" height="1.2999974mm" shape="rect" />
        <smtpad portHints={["pin10"]} pcbX="-7.7599667mm" pcbY="4.60069565mm" width="1.1999976mm" height="1.3999972mm" shape="rect" />
        <smtpad portHints={["pin13"]} pcbX="6.9200141mm" pcbY="4.60069565mm" width="1.1999976mm" height="1.3999972mm" shape="rect" />
        <smtpad portHints={["pin12"]} pcbX="7.7599667mm" pcbY="-5.10108835mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
        <smtpad portHints={["pin11"]} pcbX="-7.7599667mm" pcbY="-5.10108835mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
        <silkscreenpath route={[
          { x: -7.365987300000029, y: 3.581139650000182 },
          { x: -7.365987300000029, y: -3.927989349999848 },
        ]} />
        <silkscreenpath route={[
          { x: 7.366012699999828, y: -3.991514749999851 },
          { x: 7.366012699999828, y: 3.501485250000087 },
        ]} />
        <silkscreenpath route={[
          { x: -7.365987300000029, y: -6.340963949999946 },
          { x: -7.365987300000029, y: -9.401054349999981 },
          { x: 7.366012699999828, y: -9.401028949999954 },
          { x: 7.366012699999828, y: -6.491027149999923 },
        ]} />
        <silkscreenpath route={[
          { x: -7.365987300000029, y: -8.915685749999966 },
          { x: -7.365987300000029, y: -8.691022750000116 },
          { x: 1.000010699999848, y: -8.691022750000116 },
          { x: 3.9370126999999684, y: -9.388100349999945 },
        ]} />
        <silkscreentext text="{NAME}" pcbX="0.0000127mm" pcbY="7.11097965mm" anchorAlignment="center" fontSize="1mm" />
        <fabricationnotepath route={[
          { x: -6.999998699999992, y: -9.490995750000025 },
          { x: -6.999998699999992, y: 2.0090066500000603 },
          { x: -6.999998699999992, y: -9.490995750000025 },
        ]} strokeWidth="0.254mm" />
        <fabricationnotepath route={[
          { x: 7.000024100000019, y: -9.490995750000025 },
          { x: 7.000024100000019, y: 2.0090066500000603 },
          { x: 6.0000007000001006, y: 2.0090066500000603 },
          { x: 6.0000007000001006, y: -9.490995750000025 },
          { x: 7.000024100000019, y: -9.490995750000025 },
        ]} strokeWidth="0.254mm" />
        <fabricationnotepath route={[
          { x: -5.999975300000074, y: 2.0090066500000603 },
          { x: 6.0000007000001006, y: 2.0090066500000603 },
          { x: 6.0000007000001006, y: 1.0090086500000552 },
          { x: -5.999975300000074, y: 1.0090086500000552 },
          { x: -5.999975300000074, y: 2.0090066500000603 },
        ]} strokeWidth="0.254mm" />
        <courtyardoutline outline={[
          { x: -8.606587300000115, y: 6.360979650000104 },
          { x: 8.606612699999914, y: 6.360979650000104 },
          { x: 8.606612699999914, y: -9.73462035 },
          { x: -8.606587300000115, y: -9.73462035 },
          { x: -8.606587300000115, y: 6.360979650000104 },
        ]} />
      </footprint>
    }
    cadModel={{
      objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.obj?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
      stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.step?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
      pcbRotationOffset: 0,
      modelOriginPosition: { x: -0.0022224999997728645, y: 5.101310850000045, z: -0.14733820000000009 },
    }}
    {...props}
  />
)