imrishabh18/STM32F746G-DISCO

This code defines the hardware layout of a USB audio vu-meter circuit, including key components such as voltage regulators, microcontroller (STM32F303CCT6), audio codec (PCM2902), USB-Ethernet isolator, power regulation, reset switches, and associated passive components, with their physical footprints, pin configurations, and routing for PCB design.

Version
1.0.2
License
unset
Stars
0

dist/index.cjs

'use strict';

var jsxRuntime = require('react/jsx-runtime');
var react = require('react');

const pinLabels$7 = {
    pin1: ["OSC1"],
    pin2: ["GND1"],
    pin3: ["OSC2"],
    pin4: ["GND2"],
};
const X322512MSB4SI = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$7, supplierPartNumbers: {
            jlcpcb: ["C9002"],
        }, manufacturerPartNumber: "X322512MSB4SI", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.100074mm", pcbY: "-0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.100074mm", pcbY: "-0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "1.100074mm", pcbY: "0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.100074mm", pcbY: "0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -2.028596400000083, y: -1.6784827999999834 },
                        { x: -2.028596400000083, y: 1.678736800000138 },
                        { x: 2.0285963999999694, y: 1.678736800000138 },
                        { x: 2.0285963999999694, y: -1.6784827999999834 },
                        { x: -2.028596400000083, y: -1.6784827999999834 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -2.257196399999998, y: -0.24988519999988057 },
                        { x: -2.257196399999998, y: -1.9070827999998983 },
                        { x: -0.39999920000002476, y: -1.9070827999998983 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -2.5106000000000677, y: 1.9265270000000783 },
                        { x: 2.2819999999999254, y: 1.9265270000000783 },
                        { x: 2.2819999999999254, y: -2.1548729999999523 },
                        { x: -2.5106000000000677, y: -2.1548729999999523 },
                        { x: -2.5106000000000677, y: 1.9265270000000783 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C9002.obj?uuid=02485e56ba8d4732a26526d2983fc729",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C9002.step?uuid=02485e56ba8d4732a26526d2983fc729",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: 0 },
        }, ...props }));
};

const jlc = (part) => ({ jlcpcb: [part] });
const supplierPartNumbers = {
    pinHeader: jlc("C492405"),
    resistor0603: jlc("C23186"),
    capacitor0603_100n: jlc("C14663"),
    capacitor0603_22p: jlc("C1653"),
    capacitor0603_1u: jlc("C15849"),
    capacitor0805_10u: jlc("C15850"),
    led0603Green: jlc("C72043"),
    led0603Yellow: jlc("C72038"),
    led0603Red: jlc("C2286"),
};
const pcm2902Part = {
    manufacturerPartNumber: "PCM2902CDBR",
    supplierPartNumbers: jlc("C467656"),
};

const BOARD_WIDTH_MM = 100;
const BOARD_HEIGHT_MM = 60;
const TRACE_WIDTHS = {
    usb: "0.18mm",
    signal: "0.15mm",
    power: "0.45mm",
    led: "0.15mm",
};
const LED_SPACING_MM = 4;
const LED_START_X_MM = -38;
const LAYOUT = {
    usb: {
        connector: { x: -46.5, y: -2 },
        esd: { x: -39, y: -2 },
        fuse: { x: -42, y: -12 },
        cc1: { x: -44, y: 8 },
        cc2: { x: -44, y: 5 },
        label: { x: -39, y: 11.5 },
    },
    power: {
        c1: { x: -40, y: -15.5 },
        c2: { x: -36, y: -17 },
        regulator: { x: -30, y: -13 },
        c3: { x: -22, y: -14 },
        c4: { x: -18.5, y: -17 },
        label: { x: -26, y: -17.5 },
    },
    codec: {
        pcm2902: { x: -21, y: 0 },
        crystal: { x: -10, y: 8 },
        c5: { x: -18, y: 10 },
        c6: { x: -2, y: 10 },
        c7: { x: -29, y: 8 },
        c8: { x: -29, y: 5 },
        c9: { x: -29, y: 2 },
        c10: { x: -13, y: -9 },
        label: { x: -21, y: 12.5 },
    },
    mcu: {
        stm32: { x: 2, y: 0 },
        decouplingY: 10,
        resetPulldowns: {
            r3: { x: 9, y: -7 },
            r4: { x: 11, y: -5 },
            switch: { x: 0, y: -11 },
        },
        label: { x: 2, y: 12.7 },
        resetLabel: { x: -4, y: -15.2 },
    },
    ledBar: {
        driversY: 3,
        decouplingY: 11,
        resistorsY: 15,
        ledsY: 18,
        leftLabel: { x: -20, y: 20.7 },
        rightLabel: { x: 25, y: 20.7 },
    },
    display: {
        module: { x: 32, y: -16, width: 28, height: 26 },
        activeArea: { x: 32, y: -14, width: 23, height: 12 },
        header: { x: 32, y: -26 },
        pullupScl: { x: 10, y: -25 },
        pullupSda: { x: 13, y: -25 },
        label: { x: 32, y: -3.5 },
    },
    debug: {
        swd: { x: -4, y: -26 },
        boot0: { x: -20, y: -26 },
        swdLabel: { x: -4, y: -22 },
        boot0Label: { x: -20, y: -22 },
    },
    boardText: {
        title: { x: 0, y: 27 },
        usbNote: { x: -27, y: 24 },
    },
};

const nets = {
    gnd: "net.GND",
    vbus: "net.VBUS_5V",
    v3v3: "net.V3_3",
    usbDp: "net.USB_DP",
    usbDm: "net.USB_DM",
    audioMclk: "net.AUDIO_MCLK",
    audioBclk: "net.AUDIO_BCLK",
    audioLrck: "net.AUDIO_LRCK",
    audioData: "net.AUDIO_DATA",
    oledScl: "net.OLED_SCL",
    oledSda: "net.OLED_SDA",
    ledData: "net.LED_DATA",
    ledSrclk: "net.LED_SRCLK",
    ledLatch: "net.LED_LATCH",
    ledOe: "net.LED_OE",
    boot0: "net.BOOT0",
    reset: "net.NRST",
};

const pcm2902PinLabels = {
    pin1: "VCC5",
    pin2: "DGND",
    pin3: "DPLUS",
    pin4: "DMINUS",
    pin5: "VBUS",
    pin6: "XTI",
    pin7: "XTO",
    pin8: "AGND",
    pin9: "VCCL",
    pin10: "VCOM",
    pin11: "LOUT",
    pin12: "ROUT",
    pin13: "HPL",
    pin14: "HPR",
    pin15: "SSPND",
    pin16: "PSEL",
    pin17: "SCKO",
    pin18: "BCK",
    pin19: "DIN",
    pin20: "DOUT",
    pin21: "LRCK",
    pin22: "TEST0",
    pin23: "TEST1",
    pin24: "TEST2",
    pin25: "TEST3",
    pin26: "GNDA2",
    pin27: "VCCP",
    pin28: "GNDP",
};
const pcm2902LeftPadYs = [
    8.255, 6.985, 5.715, 4.445, 3.175, 1.905, 0.635, -0.635, -1.905, -3.175,
    -4.445, -5.715, -6.985, -8.255,
];
const pcm2902RightPadYs = [
    -8.255, -6.985, -5.715, -4.445, -3.175, -1.905, -0.635, 0.635, 1.905, 3.175,
    4.445, 5.715, 6.985, 8.255,
];
const pcm2902Footprint = (jsxRuntime.jsxs("footprint", { children: [pcm2902LeftPadYs.map((y, index) => (
        // @ts-expect-error React keys are valid on generated JSX children, but tscircuit's intrinsic pad type does not expose them.
        jsxRuntime.jsx("smtpad", { portHints: [`${index + 1}`], pcbX: "-2.05mm", pcbY: `${y}mm`, width: "1.1mm", height: "0.51mm", shape: "rect" }, `left-${index}`))), pcm2902RightPadYs.map((y, index) => (
        // @ts-expect-error React keys are valid on generated JSX children, but tscircuit's intrinsic pad type does not expose them.
        jsxRuntime.jsx("smtpad", { portHints: [`${index + 15}`], pcbX: "2.05mm", pcbY: `${y}mm`, width: "1.1mm", height: "0.51mm", shape: "rect" }, `right-${index}`))), jsxRuntime.jsx("silkscreenrect", { pcbX: 0, pcbY: 0, width: "5.2mm", height: "17mm" })] }));
const PCM2902 = (props) => (jsxRuntime.jsx("chip", { ...props, footprint: pcm2902Footprint, manufacturerPartNumber: pcm2902Part.manufacturerPartNumber, supplierPartNumbers: pcm2902Part.supplierPartNumbers, pinLabels: pcm2902PinLabels, pinAttributes: {
        VBUS: { requiresPower: true },
        VCC5: { requiresPower: true },
        VCCL: { requiresPower: true },
        VCCP: { requiresPower: true },
        DGND: { requiresGround: true },
        AGND: { requiresGround: true },
        GNDA2: { requiresGround: true },
        GNDP: { requiresGround: true },
    } }));
function CodecSection() {
    return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(PCM2902, { name: "U1", pcbX: LAYOUT.codec.pcm2902.x, pcbY: LAYOUT.codec.pcm2902.y }), jsxRuntime.jsx(X322512MSB4SI, { name: "Y1", pcbX: LAYOUT.codec.crystal.x, pcbY: LAYOUT.codec.crystal.y }), jsxRuntime.jsx("capacitor", { name: "C5", capacitance: "22pF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_22p, pcbX: LAYOUT.codec.c5.x, pcbY: LAYOUT.codec.c5.y }), jsxRuntime.jsx("capacitor", { name: "C6", capacitance: "22pF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_22p, pcbX: LAYOUT.codec.c6.x, pcbY: LAYOUT.codec.c6.y }), jsxRuntime.jsx("capacitor", { name: "C7", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: LAYOUT.codec.c7.x, pcbY: LAYOUT.codec.c7.y }), jsxRuntime.jsx("capacitor", { name: "C8", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: LAYOUT.codec.c8.x, pcbY: LAYOUT.codec.c8.y }), jsxRuntime.jsx("capacitor", { name: "C9", capacitance: "10uF", footprint: "0805", supplierPartNumbers: supplierPartNumbers.capacitor0805_10u, pcbX: LAYOUT.codec.c9.x, pcbY: LAYOUT.codec.c9.y }), jsxRuntime.jsx("capacitor", { name: "C10", capacitance: "1uF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_1u, pcbX: LAYOUT.codec.c10.x, pcbY: LAYOUT.codec.c10.y }), jsxRuntime.jsx("trace", { from: nets.usbDp, to: "U1.DPLUS", width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: nets.usbDm, to: "U1.DMINUS", width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: nets.vbus, to: "U1.VBUS", width: "0.3mm" }), jsxRuntime.jsx("trace", { from: nets.vbus, to: "U1.VCC5", width: "0.3mm" }), jsxRuntime.jsx("trace", { from: nets.vbus, to: "U1.VCCL", width: "0.3mm" }), jsxRuntime.jsx("trace", { from: nets.vbus, to: "U1.VCCP", width: "0.3mm" }), jsxRuntime.jsx("trace", { from: "U1.DGND", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.AGND", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.GNDA2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.GNDP", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.XTI", to: "Y1.OSC1" }), jsxRuntime.jsx("trace", { from: "U1.XTO", to: "Y1.OSC2" }), jsxRuntime.jsx("trace", { from: "Y1.OSC1", to: "C5.pin1" }), jsxRuntime.jsx("trace", { from: "C5.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "Y1.OSC2", to: "C6.pin1" }), jsxRuntime.jsx("trace", { from: "C6.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "Y1.GND1", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "Y1.GND2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C7.pin1", to: nets.vbus }), jsxRuntime.jsx("trace", { from: "C7.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C8.pin1", to: nets.vbus }), jsxRuntime.jsx("trace", { from: "C8.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C9.pin1", to: nets.vbus }), jsxRuntime.jsx("trace", { from: "C9.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.VCOM", to: "C10.pin1" }), jsxRuntime.jsx("trace", { from: "C10.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.PSEL", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.SSPND", to: nets.vbus }), jsxRuntime.jsx("trace", { from: "U1.TEST0", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.TEST1", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.TEST2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.TEST3", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U1.SCKO", to: nets.audioMclk }), jsxRuntime.jsx("trace", { from: "U1.BCK", to: nets.audioBclk }), jsxRuntime.jsx("trace", { from: "U1.LRCK", to: nets.audioLrck }), jsxRuntime.jsx("trace", { from: "U1.DOUT", to: nets.audioData }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.codec.label.x, pcbY: LAYOUT.codec.label.y, text: "PCM2902 USB AUDIO", fontSize: "1.1mm" })] }));
}

const swdHeaderPinLabels = ["VCC", "SWDIO", "GND", "SWCLK", "NRST"];
const bootHeaderPinLabels = ["BOOT0", "3V3", "GND"];
function DebugHeader() {
    return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("pinheader", { name: "J2", pinCount: 5, footprint: "pinrow5", pinLabels: swdHeaderPinLabels, supplierPartNumbers: supplierPartNumbers.pinHeader, pcbX: LAYOUT.debug.swd.x, pcbY: LAYOUT.debug.swd.y }), jsxRuntime.jsx("pinheader", { name: "J3", pinCount: 3, footprint: "pinrow3", pinLabels: bootHeaderPinLabels, supplierPartNumbers: supplierPartNumbers.pinHeader, pcbX: LAYOUT.debug.boot0.x, pcbY: LAYOUT.debug.boot0.y }), jsxRuntime.jsx("trace", { from: "U2.PA13", to: "J2.SWDIO" }), jsxRuntime.jsx("trace", { from: "U2.PA14", to: "J2.SWCLK" }), jsxRuntime.jsx("trace", { from: nets.reset, to: "J2.NRST" }), jsxRuntime.jsx("trace", { from: "J2.VCC", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "J2.GND", to: nets.gnd }), jsxRuntime.jsx("trace", { from: nets.boot0, to: "J3.BOOT0" }), jsxRuntime.jsx("trace", { from: "J3.3V3", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "J3.GND", to: nets.gnd }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.debug.swdLabel.x, pcbY: LAYOUT.debug.swdLabel.y, text: "SWD", fontSize: "1mm" }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.debug.boot0Label.x, pcbY: LAYOUT.debug.boot0Label.y, text: "BOOT0", fontSize: "1mm" })] }));
}

const oledHeaderPinLabels = ["GND", "VCC", "SCL", "SDA"];
function Display() {
    return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("pinheader", { name: "J4", pinCount: 4, footprint: "pinrow4", pinLabels: oledHeaderPinLabels, supplierPartNumbers: supplierPartNumbers.pinHeader, pcbX: LAYOUT.display.header.x, pcbY: LAYOUT.display.header.y, pcbRotation: 0, doNotPlace: true }), jsxRuntime.jsx("resistor", { name: "R6", resistance: "4.7k", footprint: "0603", supplierPartNumbers: supplierPartNumbers.resistor0603, pcbX: LAYOUT.display.pullupScl.x, pcbY: LAYOUT.display.pullupScl.y }), jsxRuntime.jsx("resistor", { name: "R7", resistance: "4.7k", footprint: "0603", supplierPartNumbers: supplierPartNumbers.resistor0603, pcbX: LAYOUT.display.pullupSda.x, pcbY: LAYOUT.display.pullupSda.y }), jsxRuntime.jsx("trace", { from: "J4.GND", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "J4.VCC", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "J4.SCL", to: nets.oledScl, width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: "J4.SDA", to: nets.oledSda, width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.oledScl, to: "R6.pin1" }), jsxRuntime.jsx("trace", { from: "R6.pin2", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: nets.oledSda, to: "R7.pin1" }), jsxRuntime.jsx("trace", { from: "R7.pin2", to: nets.v3v3 }), jsxRuntime.jsx("silkscreenrect", { pcbX: LAYOUT.display.module.x, pcbY: LAYOUT.display.module.y, width: `${LAYOUT.display.module.width}mm`, height: `${LAYOUT.display.module.height}mm` }), jsxRuntime.jsx("silkscreenrect", { pcbX: LAYOUT.display.activeArea.x, pcbY: LAYOUT.display.activeArea.y, width: `${LAYOUT.display.activeArea.width}mm`, height: `${LAYOUT.display.activeArea.height}mm` }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.display.label.x, pcbY: LAYOUT.display.label.y, text: "SSD1306 4P OLED", fontSize: "0.9mm" })] }));
}

const pinLabels$6 = {
    pin1: ["Q1"],
    pin2: ["Q2"],
    pin3: ["Q3"],
    pin4: ["Q4"],
    pin5: ["Q5"],
    pin6: ["Q6"],
    pin7: ["Q7"],
    pin8: ["GND"],
    pin9: ["Q7S"],
    pin10: ["MR"],
    pin11: ["SHCP"],
    pin12: ["STCP"],
    pin13: ["OE"],
    pin14: ["DS"],
    pin15: ["Q0"],
    pin16: ["VCC"],
};
const A_74HC595D_118 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$6, supplierPartNumbers: {
            jlcpcb: ["C5947"],
        }, manufacturerPartNumber: "A_74HC595D_118", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-4.445mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-3.175mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.905mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.635mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "0.635mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "1.905mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "3.175mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "4.445mm", pcbY: "-2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], pcbX: "-4.445mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], pcbX: "-3.175mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "-1.905mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "-0.635mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "0.635mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "1.905mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "3.175mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "4.445mm", pcbY: "2.73558mm", width: "0.6020054mm", height: "1.9709892mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -5.026202800000078, y: -1.5214091999999937 },
                        { x: -5.026202800000078, y: 1.5214092000001074 },
                        { x: 5.0262027999999646, y: 1.5214092000001074 },
                        { x: 5.0262027999999646, y: -1.5214091999999937 },
                        { x: -5.026202800000078, y: -1.5214091999999937 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -5.609400000000051, y: 3.6789999999999736 },
                        { x: 5.279199999999946, y: 3.6789999999999736 },
                        { x: 5.279199999999946, y: -3.8822000000000116 },
                        { x: -5.609400000000051, y: -3.8822000000000116 },
                        { x: -5.609400000000051, y: 3.6789999999999736 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5947.obj?uuid=9adfdf34b7774b23880141fd3e8b4dbb",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5947.step?uuid=9adfdf34b7774b23880141fd3e8b4dbb",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: 0.000575 },
        }, ...props }));
};

const ledSources = [
    "U6.Q0",
    "U6.Q1",
    "U6.Q2",
    "U6.Q3",
    "U6.Q4",
    "U6.Q5",
    "U6.Q6",
    "U6.Q7",
    "U7.Q0",
    "U7.Q1",
    "U7.Q2",
    "U7.Q3",
    "U7.Q4",
    "U7.Q5",
    "U7.Q6",
    "U7.Q7",
    "U8.Q0",
    "U8.Q1",
    "U8.Q2",
    "U8.Q3",
];
const ledXs = Array.from({ length: 20 }, (_, index) => LED_START_X_MM + index * LED_SPACING_MM);
function getLedPart(index) {
    const segment = index < 10 ? 9 - index : index - 10;
    if (segment >= 8)
        return supplierPartNumbers.led0603Red;
    if (segment >= 6)
        return supplierPartNumbers.led0603Yellow;
    return supplierPartNumbers.led0603Green;
}
function getLedColor(index) {
    const segment = index < 10 ? 9 - index : index - 10;
    if (segment >= 8)
        return "red";
    if (segment >= 6)
        return "yellow";
    return "green";
}
function LedBar() {
    return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(A_74HC595D_118, { name: "U6", pcbX: 21, pcbY: LAYOUT.ledBar.driversY, pcbRotation: 90 }), jsxRuntime.jsx(A_74HC595D_118, { name: "U7", pcbX: 33, pcbY: LAYOUT.ledBar.driversY, pcbRotation: 90 }), jsxRuntime.jsx(A_74HC595D_118, { name: "U8", pcbX: 45, pcbY: LAYOUT.ledBar.driversY, pcbRotation: 90 }), jsxRuntime.jsx("capacitor", { name: "C16", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: 21, pcbY: LAYOUT.ledBar.decouplingY }), jsxRuntime.jsx("capacitor", { name: "C17", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: 33, pcbY: LAYOUT.ledBar.decouplingY }), jsxRuntime.jsx("capacitor", { name: "C18", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: 45, pcbY: LAYOUT.ledBar.decouplingY }), ledXs.map((x, index) => {
                const part = getLedPart(index);
                return (jsxRuntime.jsx("led", { name: `LED${index + 1}`, color: getLedColor(index), footprint: "0603", supplierPartNumbers: part, pcbX: x, pcbY: LAYOUT.ledBar.ledsY, pcbRotation: 90 }, `led-${index + 1}`));
            }), ledXs.map((x, index) => (jsxRuntime.jsx("resistor", { name: `RLED${index + 1}`, resistance: "330", footprint: "0603", supplierPartNumbers: supplierPartNumbers.resistor0603, pcbX: x, pcbY: LAYOUT.ledBar.resistorsY, pcbRotation: 90 }, `rled-${index + 1}`))), jsxRuntime.jsx("trace", { from: nets.ledSrclk, to: "U6.SHCP", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledSrclk, to: "U7.SHCP", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledSrclk, to: "U8.SHCP", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledLatch, to: "U6.STCP", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledLatch, to: "U7.STCP", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledLatch, to: "U8.STCP", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledOe, to: "U6.OE", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledOe, to: "U7.OE", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledOe, to: "U8.OE", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.ledData, to: "U6.DS", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: "U6.Q7S", to: "U7.DS", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: "U7.Q7S", to: "U8.DS", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: nets.v3v3, to: "U6.MR" }), jsxRuntime.jsx("trace", { from: nets.v3v3, to: "U7.MR" }), jsxRuntime.jsx("trace", { from: nets.v3v3, to: "U8.MR" }), jsxRuntime.jsx("trace", { from: "U6.VCC", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U7.VCC", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U8.VCC", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U6.GND", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U7.GND", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U8.GND", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C16.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C16.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C17.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C17.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C18.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C18.pin2", to: nets.gnd }), ledXs.map((_, index) => (jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("trace", { from: `RLED${index + 1}.pin1`, to: nets.v3v3, width: TRACE_WIDTHS.led }) }, `rled-vcc-${index + 1}`))), ledXs.map((_, index) => (jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("trace", { from: ledSources[index], to: `RLED${index + 1}.pin2`, width: TRACE_WIDTHS.led }) }, `driver-rled-${index + 1}`))), ledXs.map((_, index) => (jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("trace", { from: `RLED${index + 1}.pin2`, to: `LED${index + 1}.pin1`, width: TRACE_WIDTHS.led }) }, `rled-led-${index + 1}`))), ledXs.map((_, index) => (jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("trace", { from: `LED${index + 1}.pin2`, to: nets.gnd, width: TRACE_WIDTHS.led }) }, `led-gnd-${index + 1}`))), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.ledBar.leftLabel.x, pcbY: LAYOUT.ledBar.leftLabel.y, text: "LEFT 10 SEG", fontSize: "1mm" }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.ledBar.rightLabel.x, pcbY: LAYOUT.ledBar.rightLabel.y, text: "RIGHT 10 SEG", fontSize: "1mm" })] }));
}

const pinLabels$5 = {
    pin1: ["VBAT"],
    pin2: ["PC13"],
    pin3: ["pin3"],
    pin4: ["pin4"],
    pin5: ["pin5"],
    pin6: ["pin6"],
    pin7: ["NRST"],
    pin8: ["VSSA"],
    pin9: ["VDDA"],
    pin10: ["PA0"],
    pin11: ["PA1"],
    pin12: ["PA2"],
    pin13: ["PA3"],
    pin14: ["PA4"],
    pin15: ["PA5"],
    pin16: ["PA6"],
    pin17: ["PA7"],
    pin18: ["PB0"],
    pin19: ["PB1"],
    pin20: ["PB2"],
    pin21: ["PB10"],
    pin22: ["PB11"],
    pin23: ["VSS1"],
    pin24: ["VDD1"],
    pin25: ["PB12"],
    pin26: ["PB13"],
    pin27: ["PB14"],
    pin28: ["PB15"],
    pin29: ["PA8"],
    pin30: ["PA9"],
    pin31: ["PA10"],
    pin32: ["PA11"],
    pin33: ["PA12"],
    pin34: ["PA13"],
    pin35: ["VSS2"],
    pin36: ["VDD2"],
    pin37: ["PA14"],
    pin38: ["PA15"],
    pin39: ["PB3"],
    pin40: ["PB4"],
    pin41: ["PB5"],
    pin42: ["PB6"],
    pin43: ["PB7"],
    pin44: ["BOOT0"],
    pin45: ["PB8"],
    pin46: ["PB9"],
    pin47: ["VSS3"],
    pin48: ["VDD3"],
};
const STM32F303CCT6 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$5, supplierPartNumbers: {
            jlcpcb: ["C81523"],
        }, manufacturerPartNumber: "STM32F303CCT6", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.750058mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.249932mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.75006mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.249934mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.750062mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.249936mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "0.249936mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "0.750062mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "1.249934mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "1.75006mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "2.249932mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "2.750058mm", pcbY: "-4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "4.249928mm", pcbY: "-2.750058mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "4.249928mm", pcbY: "-2.249932mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], pcbX: "4.249928mm", pcbY: "-1.75006mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], pcbX: "4.249928mm", pcbY: "-1.249934mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin17"], pcbX: "4.249928mm", pcbY: "-0.750062mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin18"], pcbX: "4.249928mm", pcbY: "-0.249936mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin19"], pcbX: "4.249928mm", pcbY: "0.249936mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin20"], pcbX: "4.249928mm", pcbY: "0.750062mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin21"], pcbX: "4.249928mm", pcbY: "1.249934mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin22"], pcbX: "4.249928mm", pcbY: "1.75006mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin23"], pcbX: "4.249928mm", pcbY: "2.249932mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin24"], pcbX: "4.249928mm", pcbY: "2.750058mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin25"], pcbX: "2.750058mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin26"], pcbX: "2.249932mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin27"], pcbX: "1.75006mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin28"], pcbX: "1.249934mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin29"], pcbX: "0.750062mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin30"], pcbX: "0.249936mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin31"], pcbX: "-0.249936mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin32"], pcbX: "-0.750062mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin33"], pcbX: "-1.249934mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin34"], pcbX: "-1.75006mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin35"], pcbX: "-2.249932mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin36"], pcbX: "-2.750058mm", pcbY: "4.249928mm", width: "0.270002mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin37"], pcbX: "-4.249928mm", pcbY: "2.750058mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin38"], pcbX: "-4.249928mm", pcbY: "2.249932mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin39"], pcbX: "-4.249928mm", pcbY: "1.75006mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin40"], pcbX: "-4.249928mm", pcbY: "1.249934mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-4.249928mm", pcbY: "0.750062mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin42"], pcbX: "-4.249928mm", pcbY: "0.249936mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin43"], pcbX: "-4.249928mm", pcbY: "-0.249936mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin44"], pcbX: "-4.249928mm", pcbY: "-0.750062mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin45"], pcbX: "-4.249928mm", pcbY: "-1.249934mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin46"], pcbX: "-4.249928mm", pcbY: "-1.75006mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin47"], pcbX: "-4.249928mm", pcbY: "-2.249932mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin48"], pcbX: "-4.249928mm", pcbY: "-2.750058mm", width: "1.499997mm", height: "0.270002mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -2.8955999999999733, y: 3.3400999999999925 },
                        { x: 3.302000000000021, y: 3.3400999999999925 },
                        { x: 3.302000000000021, y: -3.314700000000002 },
                        { x: -3.327399999999983, y: -3.314700000000002 },
                        { x: -3.327399999999983, y: 3.3400999999999925 },
                        { x: -2.5653999999999826, y: 3.3400999999999925 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -3.3899855999999886, y: -4.059986800000004 },
                        { x: -3.5791606142161356, y: -3.9210693508058796 },
                        { x: -3.506066828896735, y: -3.698038989101562 },
                        { x: -3.2713643711032603, y: -3.698038989101562 },
                        { x: -3.1982705857838596, y: -3.9210693508058796 },
                        { x: -3.3874456000000066, y: -4.059986800000004 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -5.1267999999999745, y: 5.114099999999993 },
                        { x: 5.101400000000012, y: 5.114099999999993 },
                        { x: 5.101400000000012, y: -5.139500000000005 },
                        { x: -5.1267999999999745, y: -5.139500000000005 },
                        { x: -5.1267999999999745, y: 5.114099999999993 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81523.obj?uuid=a4b96ad857dc48c08dab3d0efdf20aec",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81523.step?uuid=a4b96ad857dc48c08dab3d0efdf20aec",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: 0.000795 },
        }, ...props }));
};

const pinLabels$4 = {
    pin1: ["A"],
    pin2: ["B"],
    pin3: ["C"],
    pin4: ["D"],
};
const TS_1187A_B_A_B = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$4, supplierPartNumbers: {
            jlcpcb: ["C318884"],
        }, manufacturerPartNumber: "TS_1187A_B_A_B", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.999994mm", pcbY: "1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "2.999994mm", pcbY: "1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-2.999994mm", pcbY: "-1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "2.999994mm", pcbY: "-1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -1.0007600000001275, y: 1.800860000000057 },
                        { x: 0.899159999999938, y: 1.800860000000057 },
                        { x: 1.8008599999999433, y: 0.899159999999938 },
                        { x: 1.8008599999999433, y: -0.899159999999938 },
                        { x: 0.8000999999999294, y: -1.8999199999999519 },
                        { x: -0.8991600000000517, y: -1.8999199999999519 },
                        { x: -1.800860000000057, y: -0.9982199999999466 },
                        { x: -1.800860000000057, y: 1.0007600000000139 },
                        { x: -1.0007600000001275, y: 1.800860000000057 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 1.2750800000000027, y: 2.550160000000119 },
                        { x: 2.1701506000000563, y: 1.6550893999999516 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 2.5501599999998916, y: 1.1684000000000196 },
                        { x: 2.5501599999998916, y: -1.1684000000000196 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 2.1701506000000563, y: -1.6550893999999516 },
                        { x: 1.2750800000000027, y: -2.5501600000000053 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -2.5501600000000053, y: 1.1684000000000196 },
                        { x: -2.5501600000000053, y: -1.1684000000000196 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -2.17015060000017, y: -1.6550893999999516 },
                        { x: -1.2750800000000027, y: -2.5501600000000053 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -1.2750800000000027, y: 2.550160000000119 },
                        { x: -2.17015060000017, y: 1.6550893999999516 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -1.2750800000000027, y: -2.5501600000000053 },
                        { x: 1.2750800000000027, y: -2.5501600000000053 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -1.2750800000000027, y: 2.550160000000119 },
                        { x: 1.2750800000000027, y: 2.550160000000119 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -3.755200000000059, y: 2.8407999999999447 },
                        { x: 3.7551999999998316, y: 2.8407999999999447 },
                        { x: 3.7551999999998316, y: -2.8661999999999352 },
                        { x: -3.755200000000059, y: -2.8661999999999352 },
                        { x: -3.755200000000059, y: 2.8407999999999447 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C318884.obj?uuid=91b67c1735f643ffb2e7226c23dd3492",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C318884.step?uuid=91b67c1735f643ffb2e7226c23dd3492",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0.0004999999999999449, z: -0.05 },
        }, ...props }));
};

function McuSection() {
    return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(STM32F303CCT6, { name: "U2", pcbX: LAYOUT.mcu.stm32.x, pcbY: LAYOUT.mcu.stm32.y }), jsxRuntime.jsx("capacitor", { name: "C11", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: 2, pcbY: LAYOUT.mcu.decouplingY }), jsxRuntime.jsx("capacitor", { name: "C12", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: 5, pcbY: LAYOUT.mcu.decouplingY }), jsxRuntime.jsx("capacitor", { name: "C13", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: 8, pcbY: LAYOUT.mcu.decouplingY }), jsxRuntime.jsx("capacitor", { name: "C14", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: 11, pcbY: LAYOUT.mcu.decouplingY }), jsxRuntime.jsx("capacitor", { name: "C15", capacitance: "1uF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_1u, pcbX: 14, pcbY: LAYOUT.mcu.decouplingY }), jsxRuntime.jsx("resistor", { name: "R3", resistance: "10k", footprint: "0603", supplierPartNumbers: supplierPartNumbers.resistor0603, pcbX: LAYOUT.mcu.resetPulldowns.r3.x, pcbY: LAYOUT.mcu.resetPulldowns.r3.y }), jsxRuntime.jsx("resistor", { name: "R4", resistance: "100k", footprint: "0603", supplierPartNumbers: supplierPartNumbers.resistor0603, pcbX: LAYOUT.mcu.resetPulldowns.r4.x, pcbY: LAYOUT.mcu.resetPulldowns.r4.y }), jsxRuntime.jsx(TS_1187A_B_A_B, { name: "SW1", pcbX: LAYOUT.mcu.resetPulldowns.switch.x, pcbY: LAYOUT.mcu.resetPulldowns.switch.y }), jsxRuntime.jsx("trace", { from: "U2.VBAT", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U2.VDD1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U2.VDD2", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U2.VDD3", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U2.VDDA", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "U2.VSSA", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U2.VSS1", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U2.VSS2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U2.VSS3", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C11.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C11.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C12.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C12.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C13.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C13.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C14.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C14.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C15.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C15.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U2.NRST", to: nets.reset }), jsxRuntime.jsx("trace", { from: nets.reset, to: "R3.pin1" }), jsxRuntime.jsx("trace", { from: "R3.pin2", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: nets.reset, to: "SW1.A" }), jsxRuntime.jsx("trace", { from: "SW1.B", to: nets.gnd }), jsxRuntime.jsx("trace", { from: nets.reset, to: "SW1.C" }), jsxRuntime.jsx("trace", { from: "SW1.D", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "U2.BOOT0", to: nets.boot0 }), jsxRuntime.jsx("trace", { from: nets.boot0, to: "R4.pin1" }), jsxRuntime.jsx("trace", { from: "R4.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: nets.audioMclk, to: "U2.PA5" }), jsxRuntime.jsx("trace", { from: nets.audioData, to: "U2.PA7" }), jsxRuntime.jsx("trace", { from: nets.audioBclk, to: "U2.PB0" }), jsxRuntime.jsx("trace", { from: nets.audioLrck, to: "U2.PB1" }), jsxRuntime.jsx("trace", { from: "U2.PA0", to: nets.ledData }), jsxRuntime.jsx("trace", { from: "U2.PA1", to: nets.ledSrclk }), jsxRuntime.jsx("trace", { from: "U2.PA2", to: nets.ledLatch }), jsxRuntime.jsx("trace", { from: "U2.PA3", to: nets.ledOe }), jsxRuntime.jsx("trace", { from: "U2.PB10", to: nets.oledScl }), jsxRuntime.jsx("trace", { from: "U2.PB11", to: nets.oledSda }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.mcu.label.x, pcbY: LAYOUT.mcu.label.y, text: "STM32F303 VU DSP", fontSize: "1.1mm" }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.mcu.resetLabel.x, pcbY: LAYOUT.mcu.resetLabel.y, text: "RESET", fontSize: "1mm" })] }));
}

const pinLabels$3 = {
    pin1: ["GND"],
    pin2: ["VOUT1"],
    pin3: ["VIN"],
    pin4: ["VOUT2"],
};
const AMS1117_3_3 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$3, supplierPartNumbers: {
            jlcpcb: ["C6186"],
        }, manufacturerPartNumber: "AMS1117_3_3", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "2.92995985mm", pcbY: "-2.29997mm", width: "2.499995mm", height: "1.0999978mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "2.92995985mm", pcbY: "0mm", width: "2.499995mm", height: "1.0999978mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "2.92995985mm", pcbY: "2.29997mm", width: "2.499995mm", height: "1.0999978mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-3.00995715mm", pcbY: "0mm", width: "2.3400004mm", height: "3.5999928mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -1.6114077499998984, y: -3.3262061999998878 },
                        { x: -1.6114077499998984, y: 3.3262062000000014 },
                        { x: 1.3313854499999707, y: 3.3262062000000014 },
                        { x: 1.3313854499999707, y: -3.3262061999998878 },
                        { x: -1.6114077499998984, y: -3.3262061999998878 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -4.428611149999938, y: 3.5774000000000115 },
                        { x: 5.012188849999916, y: 3.5774000000000115 },
                        { x: 5.012188849999916, y: -3.5773999999998978 },
                        { x: -4.428611149999938, y: -3.5773999999998978 },
                        { x: -4.428611149999938, y: 3.5774000000000115 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C6186.obj?uuid=e80246a9471445bfb635be848806a22e",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C6186.step?uuid=e80246a9471445bfb635be848806a22e",
            pcbRotationOffset: 180,
            modelOriginPosition: { x: 0, y: 0, z: -0.049394 },
        }, ...props }));
};

function PowerSection() {
    return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("capacitor", { name: "C1", capacitance: "10uF", footprint: "0805", supplierPartNumbers: supplierPartNumbers.capacitor0805_10u, pcbX: LAYOUT.power.c1.x, pcbY: LAYOUT.power.c1.y }), jsxRuntime.jsx("capacitor", { name: "C2", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: LAYOUT.power.c2.x, pcbY: LAYOUT.power.c2.y }), jsxRuntime.jsx(AMS1117_3_3, { name: "U5", pcbX: LAYOUT.power.regulator.x, pcbY: LAYOUT.power.regulator.y }), jsxRuntime.jsx("capacitor", { name: "C3", capacitance: "10uF", footprint: "0805", supplierPartNumbers: supplierPartNumbers.capacitor0805_10u, pcbX: LAYOUT.power.c3.x, pcbY: LAYOUT.power.c3.y }), jsxRuntime.jsx("capacitor", { name: "C4", capacitance: "100nF", footprint: "0603", supplierPartNumbers: supplierPartNumbers.capacitor0603_100n, pcbX: LAYOUT.power.c4.x, pcbY: LAYOUT.power.c4.y }), jsxRuntime.jsx("trace", { from: "C1.pin1", to: nets.vbus, width: TRACE_WIDTHS.power }), jsxRuntime.jsx("trace", { from: "C1.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C2.pin1", to: nets.vbus }), jsxRuntime.jsx("trace", { from: "C2.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: nets.vbus, to: "U5.VIN", width: TRACE_WIDTHS.power }), jsxRuntime.jsx("trace", { from: "U5.GND", to: nets.gnd, width: "0.35mm" }), jsxRuntime.jsx("trace", { from: "U5.VOUT1", to: nets.v3v3, width: "0.4mm" }), jsxRuntime.jsx("trace", { from: "U5.VOUT2", to: nets.v3v3, width: "0.4mm" }), jsxRuntime.jsx("trace", { from: "C3.pin1", to: nets.v3v3, width: "0.35mm" }), jsxRuntime.jsx("trace", { from: "C3.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "C4.pin1", to: nets.v3v3 }), jsxRuntime.jsx("trace", { from: "C4.pin2", to: nets.gnd }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.power.label.x, pcbY: LAYOUT.power.label.y, text: "3V3 REG", fontSize: "1mm" })] }));
}

const pinLabels$2 = {
    pin1: ["EH2"],
    pin2: ["EH1"],
    pin3: ["EH4"],
    pin4: ["EH3"],
    pin5: ["B8"],
    pin6: ["A5"],
    pin7: ["B7"],
    pin8: ["A6"],
    pin9: ["A7"],
    pin10: ["B6"],
    pin11: ["A8"],
    pin12: ["B5"],
    pin13: ["A1B12"],
    pin14: ["B1A12"],
    pin15: ["B4A9"],
    pin16: ["A4B9"],
};
const TYPE_C_31_M_12 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$2, supplierPartNumbers: {
            jlcpcb: ["C165948"],
        }, manufacturerPartNumber: "TYPE_C_31_M_12", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("hole", { pcbX: "-2.899918mm", pcbY: "0.9055672mm", diameter: "0.7500112mm" }), jsxRuntime.jsx("hole", { pcbX: "2.899918mm", pcbY: "0.9055672mm", diameter: "0.7500112mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin2"], pcbX: "4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.3999972mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin1"], pcbX: "4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.5999968mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin4"], pcbX: "-4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.5999968mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin3"], pcbX: "-4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.3999972mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-1.249934mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "1.24968mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], points: [
                        { x: "-2.8999688mm", y: "1.524108mm" },
                        { x: "-2.8999688mm", y: "2.8241308mm" },
                        { x: "-2.8999688mm", y: "2.8241308mm" },
                        { x: "-3.1999682mm", y: "2.8241308mm" },
                        { x: "-3.1999682mm", y: "2.8241308mm" },
                        { x: "-3.1999682mm", y: "2.8239784mm" },
                        { x: "-3.1999682mm", y: "2.8239784mm" },
                        { x: "-3.4999422mm", y: "2.8239784mm" },
                        { x: "-3.4999422mm", y: "2.8239784mm" },
                        { x: "-3.4999422mm", y: "1.5239556mm" },
                        { x: "-3.4999422mm", y: "1.5239556mm" },
                        { x: "-3.1999428mm", y: "1.5239556mm" },
                        { x: "-3.1999428mm", y: "1.5239556mm" },
                        { x: "-3.1999428mm", y: "1.524108mm" },
                        { x: "-3.1999428mm", y: "1.524108mm" },
                        { x: "-2.8999688mm", y: "1.524108mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], points: [
                        { x: "2.8999942mm", y: "2.8241308mm" },
                        { x: "2.8999942mm", y: "1.5241588mm" },
                        { x: "2.8999942mm", y: "1.5241588mm" },
                        { x: "3.1999936mm", y: "1.5241588mm" },
                        { x: "3.1999936mm", y: "1.5241588mm" },
                        { x: "3.200019mm", y: "1.5241588mm" },
                        { x: "3.200019mm", y: "1.5241588mm" },
                        { x: "3.5000184mm", y: "1.5241588mm" },
                        { x: "3.5000184mm", y: "1.5241588mm" },
                        { x: "3.5000184mm", y: "2.8241308mm" },
                        { x: "3.5000184mm", y: "2.8241308mm" },
                        { x: "3.200019mm", y: "2.8241308mm" },
                        { x: "3.200019mm", y: "2.8241308mm" },
                        { x: "3.1999936mm", y: "2.8241308mm" },
                        { x: "3.1999936mm", y: "2.8241308mm" },
                        { x: "2.8999942mm", y: "2.8241308mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], points: [
                        { x: "2.7001724mm", y: "1.5241588mm" },
                        { x: "2.7001724mm", y: "2.8241308mm" },
                        { x: "2.7001724mm", y: "2.8241308mm" },
                        { x: "2.400173mm", y: "2.8241308mm" },
                        { x: "2.400173mm", y: "2.8241308mm" },
                        { x: "2.4001476mm", y: "2.8241308mm" },
                        { x: "2.4001476mm", y: "2.8241308mm" },
                        { x: "2.1001482mm", y: "2.8241308mm" },
                        { x: "2.1001482mm", y: "2.8241308mm" },
                        { x: "2.1001482mm", y: "1.5241588mm" },
                        { x: "2.1001482mm", y: "1.5241588mm" },
                        { x: "2.4001476mm", y: "1.5241588mm" },
                        { x: "2.4001476mm", y: "1.5241588mm" },
                        { x: "2.400173mm", y: "1.5241588mm" },
                        { x: "2.400173mm", y: "1.5241588mm" },
                        { x: "2.7001724mm", y: "1.5241588mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], points: [
                        { x: "-2.0999704mm", y: "1.5240064mm" },
                        { x: "-2.0999704mm", y: "2.8239784mm" },
                        { x: "-2.0999704mm", y: "2.8239784mm" },
                        { x: "-2.3999952mm", y: "2.8239784mm" },
                        { x: "-2.3999952mm", y: "2.8239784mm" },
                        { x: "-2.3999952mm", y: "2.823953mm" },
                        { x: "-2.3999952mm", y: "2.823953mm" },
                        { x: "-2.6999438mm", y: "2.823953mm" },
                        { x: "-2.6999438mm", y: "2.823953mm" },
                        { x: "-2.6999438mm", y: "1.523981mm" },
                        { x: "-2.6999438mm", y: "1.523981mm" },
                        { x: "-2.399919mm", y: "1.523981mm" },
                        { x: "-2.399919mm", y: "1.523981mm" },
                        { x: "-2.399919mm", y: "1.5240064mm" },
                        { x: "-2.399919mm", y: "1.5240064mm" },
                        { x: "-2.0999704mm", y: "1.5240064mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -4.4689776000000165, y: -1.6757585999999947 },
                        { x: -4.4689776000000165, y: 0.18715359999987413 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -5.394140800000059 },
                        { x: -4.4689776000000165, y: -5.394140800000059 },
                        { x: -4.4689776000000165, y: -3.91283820000001 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -1.676114200000029 },
                        { x: 4.471009600000116, y: 0.18750920000002225 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -5.394140800000059 },
                        { x: 4.471009600000116, y: -3.912482600000203 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -5.174805999999876, y: 3.0786011999998664 },
                        { x: 5.180394000000092, y: 3.0786011999998664 },
                        { x: 5.180394000000092, y: -5.650998800000025 },
                        { x: -5.174805999999876, y: -5.650998800000025 },
                        { x: -5.174805999999876, y: 3.0786011999998664 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.obj?uuid=617b05f9bba7410b96c001093d8189e4",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.step?uuid=617b05f9bba7410b96c001093d8189e4",
            pcbRotationOffset: 180,
            modelOriginPosition: {
                x: 0,
                y: -2.4499977999999945,
                z: 0.000010999999999872223,
            },
        }, ...props }));
};

const pinLabels$1 = {
    pin1: ["pin1"],
    pin2: ["pin2"],
    pin3: ["pin3"],
    pin4: ["pin4"],
    pin5: ["pin5"],
    pin6: ["pin6"],
};
const USBLC6_2SC6 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$1, supplierPartNumbers: {
            jlcpcb: ["C7519"],
        }, manufacturerPartNumber: "USBLC6_2SC6", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "0mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 1.5391891999998961, y: -0.8892031999998835 },
                        { x: 1.5391891999998961, y: 0.8892031999999972 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -1.5391892000000098, y: -0.8892031999998835 },
                        { x: -1.5391892000000098, y: 0.8892031999999972 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -2.078800000000001, y: 1.9264000000000578 },
                        { x: 1.7739999999998872, y: 1.9264000000000578 },
                        { x: 1.7739999999998872, y: -2.0279999999999063 },
                        { x: -2.078800000000001, y: -2.0279999999999063 },
                        { x: -2.078800000000001, y: 1.9264000000000578 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7519.obj?uuid=229b69761e2c45dba6a83d8866dec72d",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7519.step?uuid=229b69761e2c45dba6a83d8866dec72d",
            pcbRotationOffset: 90,
            modelOriginPosition: { x: 0, y: 0, z: -0.048939 },
        }, ...props }));
};

const pinLabels = {
    pin1: ["pin1"],
    pin2: ["pin2"],
};
const nSMD050_24V = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels, supplierPartNumbers: {
            jlcpcb: ["C70076"],
        }, manufacturerPartNumber: "nSMD050_24V", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.445006mm", pcbY: "0mm", width: "1.1900916mm", height: "1.7279874mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.445006mm", pcbY: "0mm", width: "1.1900916mm", height: "1.7279874mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -0.9261856000000108, y: 1.0926064000000082 },
                        { x: -2.1163026000000116, y: 1.0926064000000082 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 0.926210999999995, y: 1.0926064000000082 },
                        { x: 2.1163026000000116, y: 1.0926064000000082 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -2.2687025999999975, y: 0.9402064000000081 },
                        { x: -2.2687025999999975, y: -0.9402063999999939 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 2.2687025999999832, y: 0.9402064000000081 },
                        { x: 2.2687025999999832, y: -0.9402063999999939 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -2.1163026000000116, y: -1.092606399999994 },
                        { x: -0.9261856000000108, y: -1.092606399999994 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 2.1163026000000116, y: -1.092606399999994 },
                        { x: 0.926210999999995, y: -1.092606399999994 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -14210854715202004e-30, y: 0 },
                        { x: -0.08441074011676619, y: 0.2037855535998574 },
                        { x: -0.11320167162334371, y: 0.422474390000005 },
                        { x: -0.08441074011676619, y: 0.6411632264001383 },
                        { x: 0, y: 0.8449487799999957 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 2.842170943040401e-14, y: 0 },
                        { x: 0.08441074011679461, y: -0.20378555359984318 },
                        { x: 0.11320167162334371, y: -0.42247438999999076 },
                        { x: 0.08441074011679461, y: -0.6411632264001241 },
                        { x: 0, y: -0.8449487799999957 },
                    ] }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -2.5105999999999966, y: 1.3422000000000054 },
                        { x: 2.5360000000000014, y: 1.3422000000000054 },
                        { x: 2.5360000000000014, y: -1.3421999999999912 },
                        { x: -2.5105999999999966, y: -1.3421999999999912 },
                        { x: -2.5105999999999966, y: 1.3422000000000054 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C70076.obj?uuid=7dbd95a5ee9a45949b72cb8147e267ff",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C70076.step?uuid=7dbd95a5ee9a45949b72cb8147e267ff",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: 0 },
        }, ...props }));
};

function UsbSection() {
    return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(TYPE_C_31_M_12, { name: "J1", pcbX: LAYOUT.usb.connector.x, pcbY: LAYOUT.usb.connector.y, pcbRotation: -90 }), jsxRuntime.jsx(USBLC6_2SC6, { name: "U4", pcbX: LAYOUT.usb.esd.x, pcbY: LAYOUT.usb.esd.y }), jsxRuntime.jsx(nSMD050_24V, { name: "F1", pcbX: LAYOUT.usb.fuse.x, pcbY: LAYOUT.usb.fuse.y }), jsxRuntime.jsx("resistor", { name: "R1", resistance: "5.1k", footprint: "0603", supplierPartNumbers: supplierPartNumbers.resistor0603, pcbX: LAYOUT.usb.cc1.x, pcbY: LAYOUT.usb.cc1.y }), jsxRuntime.jsx("resistor", { name: "R2", resistance: "5.1k", footprint: "0603", supplierPartNumbers: supplierPartNumbers.resistor0603, pcbX: LAYOUT.usb.cc2.x, pcbY: LAYOUT.usb.cc2.y }), jsxRuntime.jsx("trace", { from: "J1.A5", to: "R1.pin1", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: "R1.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "J1.B5", to: "R2.pin1", width: TRACE_WIDTHS.signal }), jsxRuntime.jsx("trace", { from: "R2.pin2", to: nets.gnd }), jsxRuntime.jsx("trace", { from: "J1.A4B9", to: "J1.B4A9", width: TRACE_WIDTHS.power }), jsxRuntime.jsx("trace", { from: "J1.A4B9", to: "F1.pin1", width: TRACE_WIDTHS.power }), jsxRuntime.jsx("trace", { from: "F1.pin2", to: nets.vbus, width: TRACE_WIDTHS.power }), jsxRuntime.jsx("trace", { from: "J1.A1B12", to: nets.gnd, width: TRACE_WIDTHS.power }), jsxRuntime.jsx("trace", { from: "J1.B1A12", to: nets.gnd, width: TRACE_WIDTHS.power }), jsxRuntime.jsx("trace", { from: "J1.A6", to: "U4.pin3", width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: "J1.B6", to: "U4.pin3", width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: "J1.A7", to: "U4.pin2", width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: "J1.B7", to: "U4.pin2", width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: "U4.pin3", to: nets.usbDp, width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: "U4.pin2", to: nets.usbDm, width: TRACE_WIDTHS.usb }), jsxRuntime.jsx("trace", { from: "J1.A4B9", to: "U4.pin1", width: "0.2mm" }), jsxRuntime.jsx("trace", { from: "J1.EH1", to: nets.gnd, width: "0.3mm" }), jsxRuntime.jsx("trace", { from: "J1.EH2", to: nets.gnd, width: "0.3mm" }), jsxRuntime.jsx("trace", { from: "J1.EH3", to: nets.gnd, width: "0.3mm" }), jsxRuntime.jsx("trace", { from: "J1.EH4", to: nets.gnd, width: "0.3mm" }), jsxRuntime.jsx("trace", { from: "U4.pin4", to: nets.gnd, width: "0.3mm" }), jsxRuntime.jsx("trace", { from: "U4.pin5", to: nets.gnd, width: "0.3mm" }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.usb.label.x, pcbY: LAYOUT.usb.label.y, text: "USB-C DATA", fontSize: "1.1mm" })] }));
}

function UsbAudioVuMeter() {
    return (jsxRuntime.jsxs("board", { width: `${BOARD_WIDTH_MM}mm`, height: `${BOARD_HEIGHT_MM}mm`, layers: 2, children: [jsxRuntime.jsx(UsbSection, {}), jsxRuntime.jsx(PowerSection, {}), jsxRuntime.jsx(CodecSection, {}), jsxRuntime.jsx(McuSection, {}), jsxRuntime.jsx(LedBar, {}), jsxRuntime.jsx(Display, {}), jsxRuntime.jsx(DebugHeader, {}), jsxRuntime.jsx("copperpour", { layer: "top", connectsTo: "net.GND", clearance: "0.2mm" }), jsxRuntime.jsx("copperpour", { layer: "bottom", connectsTo: "net.GND", clearance: "0.2mm" }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.boardText.title.x, pcbY: LAYOUT.boardText.title.y, text: "USB AUDIO VU METER - PCM2902 + STM32F303", fontSize: "1.1mm" }), jsxRuntime.jsx("silkscreentext", { pcbX: LAYOUT.boardText.usbNote.x, pcbY: LAYOUT.boardText.usbNote.y, text: "USB diff pair short/matched; keep GND plane solid", fontSize: "0.8mm" })] }));
}

module.exports = UsbAudioVuMeter;