MustafaMulla29/wireless-mouse-pcb

This code defines a 3.3V low dropout voltage regulator chip (AP2112K-3.3TRG1) with five pins (VIN, GND, Enable, NC, VOUT) and its associated PCB footprint and 3D models for hardware implementation.

Version
1.0.6
License
unset
Stars
0

sections/MouseInputsSection.tsx

import { D2FC_F_7N_20M_ } from "../imports/D2FC_F_7N_20M_"
import { EC10E1220505 } from "../imports/EC10E1220505"
import { EVQPUC02K } from "../imports/EVQPUC02K"
import { EVQPLHA15 } from "../imports/EVQPLHA15"
import { NetTrace, withSchematicSheet } from "./shared"

const OptionalButton = EVQPUC02K as any

export const MouseInputsSection = () => withSchematicSheet("inputs", (
  <>
    <D2FC_F_7N_20M_ name="SW_LEFT" noConnect={["pin3"]} pcbX={-15} pcbY={-18.5} pcbRotation={90} schX={46.66} schY={4} schHeight={0.4} schSectionName="MouseInputs" />
    <D2FC_F_7N_20M_ name="SW_RIGHT" noConnect={["pin3"]} pcbX={17.5} pcbY={-18.5} pcbRotation={90} schX={46} schY={-4} schHeight={0.4} schSectionName="MouseInputs" />
    <EC10E1220505
      name="ENC_WHEEL"
      symbol={undefined}
      noConnect={["pin4", "pin5"]}
      schWidth={1.2}
      schHeight={0.6}
      schPinArrangement={{
        leftSide: { pins: ["A", "B"], direction: "top-to-bottom" },
        rightSide: { pins: ["C", "pin4", "pin5"], direction: "top-to-bottom" },
      }}
      pcbX={9}
      pcbY={-15}
      pcbRotation={90}
      schX={54}
      schY={0}
      schSectionName="MouseInputs"
    />
    {/* Top-actuated switches. Duplicate contacts and case pads follow Panasonic's pin diagram. */}
    <EVQPLHA15 name="SW_MIDDLE" internallyConnectedPins={[["pin1", "pin2"], ["pin3", "pin4"], ["pin5", "pin6"]]} pcbX={0} pcbY={-15} pcbRotation={90} schX={57.5} schY={3} schSectionName="MouseInputs" />
    <EVQPLHA15 name="SW_DPI" internallyConnectedPins={[["pin1", "pin2"], ["pin3", "pin4"], ["pin5", "pin6"]]} pcbX={18} pcbY={-6} pcbRotation={90} schX={61} schY={0} schSectionName="MouseInputs" />
    <OptionalButton name="SW_SIDE1" doNotPlace pcbX={-17.4} pcbY={0} pcbRotation={270} schX={67} schY={3} schSectionName="MouseInputs" />
    <OptionalButton name="SW_SIDE2" doNotPlace pcbX={-17.4} pcbY={-8} pcbRotation={270} schX={67} schY={-3} schSectionName="MouseInputs" />
    <resistor name="R_LEFT_SERIES" resistance="33" footprint="0402" pcbX={13.2} pcbY={25} schX={41.7} schY={4} schSectionName="MouseInputs" />
    <resistor name="R_ENC_A" resistance="33" footprint="0402" pcbX={9} pcbY={17} pcbRotation={90} schX={50} schY={3} schSectionName="MouseInputs" />
    <resistor name="R_ENC_B" resistance="33" footprint="0402" pcbX={7.5} pcbY={17.2} pcbRotation={90} schX={50} schY={0} schSectionName="MouseInputs" />
    <resistor name="R_MIDDLE" resistance="33" footprint="0402" pcbX={15} pcbY={4} pcbRotation={90} schX={57.5} schY={5} schSectionName="MouseInputs" />

    {/* Button and encoder inputs use the nRF52810's firmware-configurable internal pull-ups. */}
    <NetTrace from=".SW_LEFT > .pin1" to="net.GND" />
    <NetTrace from=".SW_LEFT > .pin2" to="net.LEFT_SW" />
    <NetTrace from="net.LEFT_SW" to=".R_LEFT_SERIES > .pin1" />
    <NetTrace from=".R_LEFT_SERIES > .pin2" to="net.LEFT" />
    <NetTrace from=".SW_RIGHT > .pin1" to="net.GND" />
    <NetTrace from=".SW_RIGHT > .pin2" to="net.RIGHT" />

    <NetTrace from=".ENC_WHEEL > .A" to="net.ENC_A_SW" />
    <NetTrace from="net.ENC_A_SW" to=".R_ENC_A > .pin1" />
    <NetTrace from=".R_ENC_A > .pin2" to="net.ENC_A" />
    <NetTrace from=".ENC_WHEEL > .B" to="net.ENC_B_SW" />
    <NetTrace from="net.ENC_B_SW" to=".R_ENC_B > .pin1" />
    <NetTrace from=".R_ENC_B > .pin2" to="net.ENC_B" />
    <NetTrace from=".ENC_WHEEL > .C" to="net.GND" />

    <NetTrace from=".SW_MIDDLE > .pin1" to="net.MIDDLE_SW" />
    <NetTrace from=".SW_MIDDLE > .pin2" to="net.MIDDLE_SW" />
    <NetTrace from="net.MIDDLE_SW" to=".R_MIDDLE > .pin1" />
    <NetTrace from=".R_MIDDLE > .pin2" to="net.MIDDLE" />
    <NetTrace from=".SW_MIDDLE > .pin3" to="net.GND" />
    <NetTrace from=".SW_MIDDLE > .pin4" to="net.GND" />
    <NetTrace from=".SW_MIDDLE > .GND1" to="net.GND" />
    <NetTrace from=".SW_MIDDLE > .GND2" to="net.GND" />

    <NetTrace from=".SW_DPI > .pin1" to="net.DPI" />
    <NetTrace from=".SW_DPI > .pin2" to="net.DPI" />
    <NetTrace from=".SW_DPI > .pin3" to="net.GND" />
    <NetTrace from=".SW_DPI > .pin4" to="net.GND" />
    <NetTrace from=".SW_DPI > .GND1" to="net.GND" />
    <NetTrace from=".SW_DPI > .GND2" to="net.GND" />

    <NetTrace from=".SW_SIDE1 > .pin1" to="net.SIDE1" />
    <NetTrace from=".SW_SIDE1 > .pin3" to="net.SIDE1" />
    <NetTrace from=".SW_SIDE1 > .pin2" to="net.GND" />
    <NetTrace from=".SW_SIDE1 > .pin4" to="net.GND" />
    <NetTrace from=".SW_SIDE2 > .pin1" to="net.SIDE2" />
    <NetTrace from=".SW_SIDE2 > .pin3" to="net.SIDE2" />
    <NetTrace from=".SW_SIDE2 > .pin2" to="net.GND" />
    <NetTrace from=".SW_SIDE2 > .pin4" to="net.GND" />
  </>
), -54.35)