krishnax12/usb-c-control-dial

USB-C control dial PCB with an EC11 push encoder and a 16-LED ring for volume and brightness controls. Work in progress; firmware not included and not fabrication-ready.

Version
0.0.3
License
unset
Stars
1

dist/index.js

PCBPCB preview for dist/index.js
SchematicSchematic preview for dist/index.js
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
import { Fragment as Fragment$1 } from 'react';
import { applyToPoint, rotateDEG } from 'transformation-matrix';
import objPath from '././assets/CH552T-66fe82d8.obj';
import stepPath from '././assets/CH552T-6a598833.step';
import objPath$1 from '././assets/EC11E183440C-b8946d20.obj';
import stepPath$1 from '././assets/EC11E183440C-17bf7201.step';
import objPath$2 from '././assets/TS_1187A_B_A_B-6043e311.obj';
import stepPath$2 from '././assets/TS_1187A_B_A_B-4fdfac1b.step';
import objPath$3 from '././assets/SK6812MINI_E-346550be.obj';
import stepPath$3 from '././assets/SK6812MINI_E-782827b6.step';
import objPath$4 from '././assets/TYPE_C_31_M_12-aea3952f.obj';
import stepPath$4 from '././assets/TYPE_C_31_M_12-4da25f52.step';
import objPath$5 from '././assets/USBLC6_2SC6-8ef67822.obj';
import stepPath$5 from '././assets/USBLC6_2SC6-4cd16703.step';
import objPath$6 from '././assets/nSMD050_24V-1fac66de.obj';
import stepPath$6 from '././assets/nSMD050_24V-2cb6a69a.step';

const boardRadius = 40;
const outlineSegmentCount = 128;
// At this radius, 128 segments stay within 0.013 mm of the ideal circle.
const boardOutline = Array.from({ length: outlineSegmentCount }, (_, index) => applyToPoint(rotateDEG((360 * index) / outlineSegmentCount), {
    x: boardRadius,
    y: 0,
}));

const pinLabels$5 = {
    pin1: ["P3_2"],
    pin2: ["P1_4"],
    pin3: ["LED_OUT"],
    pin4: ["P1_6"],
    pin5: ["P1_7"],
    pin6: ["RST"],
    pin7: ["ENC_A"],
    pin8: ["ENC_B"],
    pin9: ["P3_1"],
    pin10: ["P3_0"],
    pin11: ["ENC_SW"],
    pin12: ["P3_4"],
    pin13: ["P3_5"],
    pin14: ["USB_DP"],
    pin15: ["USB_DM"],
    pin16: ["XO"],
    pin17: ["XI"],
    pin18: ["GND"],
    pin19: ["VCC"],
    pin20: ["V33"],
};
const CH552T = (props) => {
    return (jsx("chip", { pinAttributes: {
            pin3: { isOutput: true, isUsingPushPull: true },
            pin6: { isInput: true },
            pin7: { isInput: true },
            pin8: { isInput: true },
            pin11: { isInput: true },
            pin14: { isBidirectional: true },
            pin15: { isBidirectional: true },
            pin18: { requiresGround: true },
            pin19: {
                requiresPower: true,
                requiresVoltage: "5V",
                shouldHaveDecouplingCapacitor: true,
            },
            pin20: { providesPower: true, providesVoltage: "3.3V" },
        }, pinLabels: pinLabels$5, supplierPartNumbers: {
            jlcpcb: ["C111367"],
        }, manufacturerPartNumber: "CH552T", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.925064mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.275078mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.625092mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.975106mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.324866mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "0.32512mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "0.975106mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "1.625092mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "2.275078mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "2.925064mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin20"], pcbX: "-2.925064mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "-2.275078mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "-1.625092mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "-0.975106mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "-0.324866mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "0.32512mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "0.975106mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "1.625092mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "2.275078mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "2.925064mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("silkscreenpath", { route: [
                        { x: -3.326206200000115, y: -1.7713960000000952 },
                        { x: -3.326206200000115, y: 1.7713959999999815 },
                        { x: 3.3262061999998878, y: 1.7713959999999815 },
                        { x: 3.3262061999998878, y: -1.7713960000000952 },
                        { x: -3.326206200000115, y: -1.7713960000000952 },
                    ] }), jsx("silkscreencircle", { pcbX: "-2.925064mm", pcbY: "-1.019048mm", radius: "0.150114mm" }), jsx("silkscreencircle", { pcbX: "-3.559302mm", pcbY: "-2.870962mm", radius: "0.150114mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1905mm", pcbY: "4.556mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
                        { x: -3.958400000000097, y: 3.80600000000004 },
                        { x: 3.5773999999998978, y: 3.80600000000004 },
                        { x: 3.5773999999998978, y: -4.009199999999964 },
                        { x: -3.958400000000097, y: -4.009199999999964 },
                        { x: -3.958400000000097, y: 3.80600000000004 },
                    ] })] }), cadModel: {
            objUrl: objPath,
            stepUrl: stepPath,
            pcbRotationOffset: 90,
            modelOriginPosition: { x: 0, y: 0.000012700000070253736, z: -0.019205 },
        }, ...props }));
};

const pinLabels$4 = {
    pin6: ["pin6"],
    pin7: ["pin7"],
    pin8: ["A"],
    pin9: ["C"],
    pin10: ["B"],
    pin11: ["D"],
    pin12: ["E"],
};
const EC11E183440C = (props) => {
    return (jsx("pinout", { pinAttributes: {
            pin6: { isPassive: true },
            pin7: { isPassive: true },
            pin8: { isPassive: true },
            pin9: { isPassive: true },
            pin10: { isPassive: true },
            pin11: { isPassive: true },
            pin12: { isPassive: true },
        }, pinLabels: pinLabels$4, symbol: jsxs("symbol", { children: [jsx("schematicpath", { points: [
                        { x: -0.34, y: -0.34 },
                        { x: -0.28, y: -0.34 },
                        { x: -0.26, y: -0.34 },
                        { x: -0.26, y: -0.26 },
                        { x: 0.26, y: -0.26 },
                        { x: 0.26, y: -0.34 },
                        { x: 0.34, y: -0.34 },
                        { x: 0.34, y: 0.38 },
                        { x: 0.26, y: 0.38 },
                        { x: 0.26, y: 0.3 },
                        { x: -0.26, y: 0.3 },
                        { x: -0.26, y: 0.38 },
                        { x: -0.34, y: 0.38 },
                        { x: -0.34, y: -0.34 },
                    ], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.02 }, radius: 0.23, strokeWidth: 0.02, color: "#880000" }), jsx("schematicpath", { points: [
                        { x: -0.2, y: -0.26 },
                        { x: -0.2, y: -0.4 },
                        { x: -0.2, y: -0.4 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0, y: -0.26 },
                        { x: 0, y: -0.4 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0.2, y: -0.26 },
                        { x: 0.2, y: -0.4 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: -0.2, y: 0.3 },
                        { x: -0.2, y: 0.4 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0.2, y: 0.3 },
                        { x: 0.2, y: 0.4 },
                    ], strokeColor: "#880000" }), jsx("port", { name: "pin8", pinNumber: 8, aliases: ["A"], direction: "down", schX: -0.2, schY: -0.6, schStemLength: 0.2 }), jsx("port", { name: "pin10", pinNumber: 10, aliases: ["B"], direction: "down", schX: 0.2, schY: -0.6, schStemLength: 0.2 }), jsx("port", { name: "pin9", pinNumber: 9, aliases: ["C"], direction: "down", schX: 0, schY: -0.6, schStemLength: 0.2 }), jsx("port", { name: "pin11", pinNumber: 11, aliases: ["D"], direction: "up", schX: -0.2, schY: 0.6, schStemLength: 0.2 }), jsx("port", { name: "pin12", pinNumber: 12, aliases: ["E"], direction: "up", schX: 0.2, schY: 0.6, schStemLength: 0.2 }), jsx("port", { name: "pin6", pinNumber: 6, aliases: ["6"], direction: "right", schX: 0.6, schY: 0, schStemLength: 0.26 }), jsx("port", { name: "pin7", pinNumber: 7, aliases: ["7"], direction: "left", schX: -0.6, schY: 0, schStemLength: 0.26 })] }), supplierPartNumbers: {
            jlcpcb: ["C370986"],
        }, manufacturerPartNumber: "EC11E183440C", footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["pin8"], pcbX: "-2.540127mm", pcbY: "-7.250049mm", outerDiameter: "1.7999964mm", holeDiameter: "1.3000228mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin9"], pcbX: "-0.000127mm", pcbY: "-7.250049mm", outerDiameter: "1.7999964mm", holeDiameter: "1.3000228mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin10"], pcbX: "2.539873mm", pcbY: "-7.250049mm", outerDiameter: "1.7999964mm", holeDiameter: "1.3000228mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin11"], pcbX: "-2.540127mm", pcbY: "7.250049mm", outerDiameter: "1.7999964mm", holeDiameter: "1.3000228mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin12"], pcbX: "2.539873mm", pcbY: "7.250049mm", outerDiameter: "1.7999964mm", holeDiameter: "1.3000228mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin6"], pcbX: "5.499989mm", pcbY: "0.250063mm", holeWidth: "3.200019mm", holeHeight: "1.5000224mm", outerWidth: "3.999992mm", outerHeight: "2.2999954mm", pcbRotation: "90deg", shape: "pill" }), jsx("platedhole", { portHints: ["pin7"], pcbX: "-5.499989mm", pcbY: "0.250063mm", holeWidth: "3.200019mm", holeHeight: "1.5000224mm", outerWidth: "3.999992mm", outerHeight: "2.2999954mm", pcbRotation: "90deg", shape: "pill" }), jsx("silkscreenpath", { route: [
                        { x: -5.900115200000187, y: 6.250076400000012 },
                        { x: -5.900115200000187, y: 2.4218391999999085 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 5.899861199999918, y: 2.421966199999929 },
                        { x: 5.899988199999825, y: 6.250076400000012 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 5.899861199999918, y: -5.7500012000000424 },
                        { x: -5.900115200000187, y: -5.749950399999989 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -5.900115200000187, y: 6.250000199999931 },
                        { x: -3.065932400000065, y: 6.250076400000012 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -2.794127000000117, y: 1.266063000000031 },
                        { x: 2.7938729999999623, y: 1.266063000000031 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -5.900115200000187, y: 6.250076400000012 },
                        { x: -5.900115200000187, y: 2.4218391999999085 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -5.900115200000187, y: -1.9217131999998855 },
                        { x: -5.900115200000187, y: -5.749950399999989 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 5.899861199999918, y: -5.749950399999989 },
                        { x: 5.899861199999918, y: -1.9218402000001333 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 4.787925399999949, y: 2.2820629999999937 },
                        { x: 3.9749475999998367, y: 2.2820629999999937 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 4.787925399999949, y: -1.7819369999999708 },
                        { x: 3.9749475999998367, y: -1.7819369999999708 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -5.900115200000187, y: -1.9217131999998855 },
                        { x: -5.900115200000187, y: -5.749950399999989 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -4.05142699999999, y: 2.2820629999999937 },
                        { x: -4.787925400000063, y: 2.2820629999999937 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -4.787925400000063, y: -1.7819369999999708 },
                        { x: -3.810127000000193, y: -1.7819369999999708 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -2.0143216000001303, y: 6.250076400000012 },
                        { x: 2.0140675999999758, y: 6.250076400000012 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 3.065678399999797, y: 6.250076400000012 },
                        { x: 5.899861199999918, y: 6.250076400000012 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 1.777872999999886, y: 1.266063000000031 },
                        { x: 1.8859268226797212, y: 1.0415664378789415 },
                        { x: 1.965765487822864, y: 0.8055577038286401 },
                        { x: 2.016194617789324, y: 0.5615674625264546 },
                        { x: 2.0364597983467547, y: 0.313245781119349 },
                        { x: 2.026257864624995, y: 0.06430752462142664 },
                        { x: 1.9857414364294073, y: -0.18152321805769134 },
                        { x: 1.9155166350651598, y: -0.4205688460729107 },
                        { x: 1.816634015828754, y: -0.6492532631477843 },
                        { x: 1.6905728518174783, y: -0.864155375580367 },
                        { x: 1.5392190041659433, y: -1.0620602714290044 },
                        { x: 1.3648367097707705, y: -1.2400073152409732 },
                        { x: 1.1700347085575231, y: -1.3953344388321511 },
                        { x: 0.9577272170164406, y: -1.5257179655351365 },
                        { x: 0.7310903318468718, y: -1.6292073721451743 },
                        { x: 0.4935145158983687, y: -1.7042544685333496 },
                        { x: 0.24855387722118394, y: -1.7497365584006275 },
                        { x: -12700000013410317e-20, y: -1.7649732346892506 },
                        { x: -0.24880787722145215, y: -1.7497365584006275 },
                        { x: -0.4937685158986369, y: -1.7042544685333496 },
                        { x: -0.73134433184714, y: -1.6292073721451743 },
                        { x: -0.9579812170165951, y: -1.5257179655351365 },
                        { x: -1.1702887085576776, y: -1.3953344388321511 },
                        { x: -1.3650907097710387, y: -1.2400073152409732 },
                        { x: -1.5394730041660978, y: -1.0620602714290044 },
                        { x: -1.6908268518177465, y: -0.864155375580367 },
                        { x: -1.8168880158289085, y: -0.6492532631477843 },
                        { x: -1.9157706350653143, y: -0.4205688460729107 },
                        { x: -1.9859954364295618, y: -0.18152321805769134 },
                        { x: -2.026511864625263, y: 0.06430752462142664 },
                        { x: -2.0367137983469092, y: 0.313245781119349 },
                        { x: -2.0164486177894787, y: 0.5615674625264546 },
                        { x: -1.9660194878230186, y: 0.8055577038286401 },
                        { x: -1.8861808226799894, y: 1.0415664378789415 },
                        { x: -1.7781270000000404, y: 1.266063000000031 },
                    ] }), jsx("silkscreencircle", { pcbX: "-0.000127mm", pcbY: "0.250063mm", radius: "4.325366mm" }), jsx("silkscreencircle", { pcbX: "-0.000127mm", pcbY: "0.250063mm", radius: "3.3528mm" }), jsx("silkscreencircle", { pcbX: "-0.000127mm", pcbY: "0.250063mm", radius: "3.048mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.000127mm", pcbY: "9.149463mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
                        { x: -6.600127000000043, y: 8.399462999999969 },
                        { x: 6.599872999999889, y: 8.399462999999969 },
                        { x: 6.599872999999889, y: -8.407337000000098 },
                        { x: -6.600127000000043, y: -8.407337000000098 },
                        { x: -6.600127000000043, y: 8.399462999999969 },
                    ] })] }), cadModel: {
            objUrl: objPath$1,
            stepUrl: stepPath$1,
            pcbRotationOffset: 0,
            modelOriginPosition: {
                x: 0.000012700000070253736,
                y: -0.24998729999992975,
                z: -6999999999646178e-21,
            },
        }, ...props }));
};

const pinLabels$3 = {
    pin1: ["A"],
    pin2: ["B"],
    pin3: ["C"],
    pin4: ["D"],
};
const TS_1187A_B_A_B = (props) => {
    const { name = "SW1", ...restProps } = props;
    return (jsx("pushbutton", { name: name, pinLabels: pinLabels$3, supplierPartNumbers: {
            jlcpcb: ["C318884"],
        }, manufacturerPartNumber: "TS-1187A-B-A-B", internallyConnectedPins: [
            ["A", "B"],
            ["C", "D"],
        ], footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.999994mm", pcbY: "1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "2.999994mm", pcbY: "1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-2.999994mm", pcbY: "-1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "2.999994mm", pcbY: "-1.849882mm", width: "0.999998mm", height: "0.7500112mm", shape: "rect" }), 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 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 1.2750800000000027, y: 2.550160000000119 },
                        { x: 2.1701506000000563, y: 1.6550893999999516 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 2.5501599999998916, y: 1.1684000000000196 },
                        { x: 2.5501599999998916, y: -1.1684000000000196 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 2.1701506000000563, y: -1.6550893999999516 },
                        { x: 1.2750800000000027, y: -2.5501600000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -2.5501600000000053, y: 1.1684000000000196 },
                        { x: -2.5501600000000053, y: -1.1684000000000196 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -2.17015060000017, y: -1.6550893999999516 },
                        { x: -1.2750800000000027, y: -2.5501600000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.2750800000000027, y: 2.550160000000119 },
                        { x: -2.17015060000017, y: 1.6550893999999516 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.2750800000000027, y: -2.5501600000000053 },
                        { x: 1.2750800000000027, y: -2.5501600000000053 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.2750800000000027, y: 2.550160000000119 },
                        { x: 1.2750800000000027, y: 2.550160000000119 },
                    ] }), jsx("silkscreencircle", { pcbX: "0mm", pcbY: "0mm", radius: "1.27508mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0mm", pcbY: "3.5908mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
                        { x: -3.7499930000000177, y: 2.8499947999999904 },
                        { x: 3.7499930000000177, y: 2.8499947999999904 },
                        { x: 3.7499930000000177, y: -2.8499947999998767 },
                        { x: -3.7499930000000177, y: -2.8499947999998767 },
                        { x: -3.7499930000000177, y: 2.8499947999999904 },
                    ] })] }), cadModel: {
            objUrl: objPath$2,
            stepUrl: stepPath$2,
            pcbRotationOffset: 0,
            modelOriginPosition: {
                x: 0.000012700000070253736,
                y: 0.0004999999999999449,
                z: -0.05,
            },
        }, ...restProps }));
};

function Controller() {
    return (jsxs(Fragment, { children: [jsx("schematicsheet", { name: "CONTROL", children: jsx(CH552T, { name: "U1", pcbX: -12, pcbY: -8, layer: "bottom", schWidth: 2.2, schHeight: 2.2, schPinArrangement: {
                        leftSide: {
                            pins: [
                                "pin19",
                                "pin20",
                                "pin18",
                                "pin14",
                                "pin15",
                                "pin6",
                                "pin16",
                                "pin17",
                                "pin1",
                                "pin2",
                            ],
                            direction: "top-to-bottom",
                        },
                        rightSide: {
                            pins: [
                                "pin7",
                                "pin8",
                                "pin11",
                                "pin3",
                                "pin4",
                                "pin5",
                                "pin9",
                                "pin10",
                                "pin12",
                                "pin13",
                            ],
                            direction: "top-to-bottom",
                        },
                    }, connections: {
                        pin3: "net.LED_RAW",
                        pin6: "net.RESET",
                        pin7: "net.ENC_A",
                        pin8: "net.ENC_B",
                        pin11: "net.ENC_SW",
                        pin14: "net.USB_DP",
                        pin15: "net.USB_DM",
                        pin18: "net.GND",
                        pin19: "net.V5",
                        pin20: "net.V33",
                    }, noConnect: [
                        "pin1",
                        "pin2",
                        "pin4",
                        "pin5",
                        "pin9",
                        "pin10",
                        "pin12",
                        "pin13",
                        "pin16",
                        "pin17",
                    ] }) }), jsxs("schematicsheet", { name: "ENCODER", children: [jsx(EC11E183440C, { name: "ENC1", pcbSx: { "& silkscreencircle": { visibility: "hidden" } }, symbol: undefined, schWidth: 1.8, schHeight: 0.8, schPinArrangement: {
                            leftSide: { pins: ["A", "B", "D"], direction: "top-to-bottom" },
                            bottomSide: {
                                pins: ["C", "E", "pin6", "pin7"],
                                direction: "left-to-right",
                            },
                        }, connections: {
                            A: "net.ENC_A",
                            B: "net.ENC_B",
                            C: "net.GND",
                            D: "net.ENC_SW",
                            E: "net.GND",
                            pin6: "net.GND",
                            pin7: "net.GND",
                        } }), jsx("resistor", { name: "R3", resistance: "10k", supplierPartNumbers: { jlcpcb: ["C25804"] }, footprint: "0603", layer: "bottom", pcbX: -6, pcbY: -11, connections: { pin1: "net.V5", pin2: "net.ENC_A" } }), jsx("resistor", { name: "R4", pcbRotation: 180, resistance: "10k", supplierPartNumbers: { jlcpcb: ["C25804"] }, footprint: "0603", layer: "bottom", pcbX: -2, pcbY: -11, connections: { pin1: "net.V5", pin2: "net.ENC_B" } }), jsx("resistor", { name: "R5", resistance: "10k", supplierPartNumbers: { jlcpcb: ["C25804"] }, footprint: "0603", layer: "bottom", pcbX: 2, pcbY: 11, connections: { pin1: "net.V5", pin2: "net.ENC_SW" } })] }), jsxs("schematicsheet", { name: "CONTROL_SUPPORT", children: [jsx("resistor", { name: "R6", resistance: "10k", supplierPartNumbers: { jlcpcb: ["C25804"] }, footprint: "0603", layer: "bottom", pcbX: -6, pcbY: -6, connections: { pin1: "net.RESET", pin2: "net.GND" } }), jsx("resistor", { name: "R7", pcbRotation: 180, resistance: "330", supplierPartNumbers: { jlcpcb: ["C23138"] }, footprint: "0603", layer: "bottom", pcbX: -7, pcbY: -15, connections: { pin1: "net.LED_RAW", pin2: "net.LED_DATA" } })] }), jsxs("schematicsheet", { name: "MCU_DECOUPLING", children: [jsx("capacitor", { name: "C3", capacitance: "100nF", supplierPartNumbers: { jlcpcb: ["C14663"] }, maxVoltageRating: "16V", footprint: "0603", layer: "bottom", pcbX: -10, pcbY: -13, connections: { pin1: "net.V5", pin2: "net.GND" } }), jsx("capacitor", { name: "C4", capacitance: "100nF", supplierPartNumbers: { jlcpcb: ["C14663"] }, maxVoltageRating: "16V", footprint: "0603", layer: "bottom", pcbX: -13.5, pcbY: -14.5, pcbRotation: 90, connections: { pin1: "net.V33", pin2: "net.GND" } })] }), jsxs("schematicsheet", { name: "PROGRAMMING", children: [jsx(TS_1187A_B_A_B, { name: "SW1", pcbX: 12, pcbY: -12, connections: {
                            A: "net.BOOT",
                            B: "net.BOOT",
                            C: "net.V33",
                            D: "net.V33",
                        } }), jsx("resistor", { name: "R8", pcbRotation: 180, schRotation: -90, resistance: "10k", supplierPartNumbers: { jlcpcb: ["C25804"] }, footprint: "0603", pcbX: 8, pcbY: -16, connections: { pin1: "net.BOOT", pin2: "net.USB_DP" } }), jsx("schematictext", { schX: 0, schY: 15, fontSize: 0.7, text: "CH552T USB HID controller, internal 24 MHz clock, 5 V GPIO. V33 is USB-only: 100 nF to GND." }), jsx("schematictext", { schX: 0, schY: 13.5, fontSize: 0.7, text: "Encoder press: mute; hold: change mode (firmware). Hold BOOT while connecting USB to program." })] })] }));
}

const pinLabels$2 = {
    pin1: ["GND"],
    pin2: ["DIN"],
    pin3: ["VDD"],
    pin4: ["DOUT"],
};
const pinAttributes$2 = {
    pin1: { requiresGround: true },
    pin3: { requiresPower: true },
};
const SK6812MINI_E = (props) => {
    const { openingShape = "polygon", ...chipProps } = props;
    return (jsx("chip", { pinLabels: pinLabels$2, pinAttributes: pinAttributes$2, supplierPartNumbers: {
            jlcpcb: ["C5149201"],
        }, manufacturerPartNumber: "SK6812MINI-E", footprint: jsxs("footprint", { children: [openingShape === "rect" ? (jsx("cutout", { shape: "rect", width: 3.6, height: 3.4 })) : (jsx("cutout", { shape: "polygon", points: [
                        { x: -1.8, y: -1.45 },
                        { x: -1.55, y: -1.7 },
                        { x: 1.55, y: -1.7 },
                        { x: 1.8, y: -1.45 },
                        { x: 1.8, y: 1.45 },
                        { x: 1.55, y: 1.7 },
                        { x: -1.55, y: 1.7 },
                        { x: -1.8, y: 1.45 },
                    ] })), jsx("smtpad", { portHints: ["pin3"], pcbX: "2.699893mm", pcbY: "0.725043mm", width: "1.6999966mm", height: "0.7999984mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "2.699893mm", pcbY: "-0.725043mm", width: "1.6999966mm", height: "0.7999984mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.699893mm", pcbY: "-0.725043mm", width: "1.6999966mm", height: "0.7999984mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.699893mm", pcbY: "0.725043mm", width: "1.6999966mm", height: "0.7999984mm", shape: "rect" }), jsx("silkscreenpath", { route: [
                        { x: 1.8500852000001942, y: -1.7000474000000168 },
                        { x: -1.8499581999998327, y: -1.7000474000000168 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.8499581999998327, y: -1.3561313999999811 },
                        { x: -1.8499581999998327, y: -1.7000474000000168 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.8499581999998327, y: 0.09382760000005419 },
                        { x: -1.8499581999998327, y: -0.09395459999996092 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.8499581999998327, y: 1.5999714000000722 },
                        { x: -1.8499581999998327, y: 1.3560806000000412 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 1.8500852000001942, y: -1.3561313999999811 },
                        { x: 1.8500852000001942, y: -1.7000474000000168 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 1.8500852000001942, y: 0.09382760000005419 },
                        { x: 1.8500852000001942, y: -0.09395459999996092 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 1.8500852000001942, y: 1.5999714000000722 },
                        { x: 1.8500852000001942, y: 1.3560806000000412 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.8499581999998327, y: 1.5999714000000722 },
                        { x: 1.8500852000001942, y: 1.5999714000000722 },
                    ] }), jsx("silkscreentext", { text: "GND", pcbX: "-4.919853mm", pcbY: "-1.004951mm", anchorAlignment: "bottom_left", fontSize: "0.999998mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.705993mm", pcbY: "2.611757mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
                        { x: -2.412822199999823, y: -1.7779745999998795 },
                        { x: -2.412822199999823, y: -1.270025399999895 },
                        { x: -1.9048983999998654, y: -1.7779745999998795 },
                        { x: -2.412822199999823, y: -1.7779745999998795 },
                    ], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
                        { x: -4.6297849999997425, y: -0.6549898000000667 },
                        { x: -4.704791200000045, y: -0.5549899999999752 },
                        { x: -4.765243199999986, y: -0.5549899999999752 },
                        { x: -4.846624799999859, y: -0.6067805999999791 },
                        { x: -4.8697641999998496, y: -0.6916927999999416 },
                        { x: -4.8697641999998496, y: -0.7868665999999394 },
                        { x: -4.8380395999997745, y: -0.8821165999999039 },
                        { x: -4.785461599999849, y: -0.914984200000049 },
                        { x: -4.698974599999815, y: -0.914984200000049 },
                        { x: -4.6297849999997425, y: -0.8527033999998821 },
                        { x: -4.6297849999997425, y: -0.8449818000000278 },
                        { x: -4.699787399999764, y: -0.8449818000000278 },
                        { x: -4.748672986801466, y: -0.7949818999999252 },
                        { x: -4.699787399999764, y: -0.7449819999999363 },
                        { x: -4.57979779999971, y: -0.7449819999999363 },
                        { x: -4.544442528622767, y: -0.7596213699990813 },
                        { x: -4.529785199999878, y: -0.7949691999998549 },
                        { x: -4.529785199999878, y: -0.8749791999999843 },
                        { x: -4.534116330461757, y: -0.8953193298966653 },
                        { x: -4.546345999999858, y: -0.9121394000000009 },
                        { x: -4.646345799999835, y: -1.0021315999999842 },
                        { x: -4.6618837061439535, y: -1.0116432938779099 },
                        { x: -4.679797599999915, y: -1.0149585999998862 },
                        { x: -4.799787199999969, y: -1.0149586 },
                        { x: -4.813566746379934, y: -1.0130221179749697 },
                        { x: -4.826279399999862, y: -1.0073639999999386 },
                        { x: -4.906289399999878, y: -0.9573767999999063 },
                        { x: -4.91908578609241, y: -0.9459071025083858 },
                        { x: -4.927244399999836, y: -0.9307829999999058 },
                        { x: -4.967223999999874, y: -0.8107679999999391 },
                        { x: -4.969129954307846, y: -0.8029708434577287 },
                        { x: -4.969763999999827, y: -0.7949691999998549 },
                        { x: -4.969763999999827, y: -0.6849871999999095 },
                        { x: -4.969326131117782, y: -0.6783501989435763 },
                        { x: -4.968011399999796, y: -0.6718299999998862 },
                        { x: -4.938013999999839, y: -0.5618226000000277 },
                        { x: -4.930028163124234, y: -0.5453119521865801 },
                        { x: -4.91662719999988, y: -0.5327903999999535 },
                        { x: -4.806645199999821, y: -0.46278800000004594 },
                        { x: -4.793777254873589, y: -0.45697494918056236 },
                        { x: -4.779797399999893, y: -0.45499019999988377 },
                        { x: -4.679797599999915, y: -0.45499019999988377 },
                        { x: -4.6574362939318235, y: -0.4602644906515252 },
                        { x: -4.639792599999964, y: -0.47497999999995955 },
                        { x: -4.549774999999954, y: -0.5949949999999262 },
                        { x: -4.560381241797359, y: -0.6641990419718695 },
                        { x: -4.6297849999997425, y: -0.6549898000000667 },
                    ], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
                        { x: -4.479772599999933, y: -0.9849865999999565 },
                        { x: -4.479772599999933, y: -0.5049774000000298 },
                        { x: -4.444139578631052, y: -0.45714368437552366 },
                        { x: -4.388053199999831, y: -0.47744379999994635 },
                        { x: -4.1663619999999355, y: -0.8135365999999067 },
                        { x: -4.159783399999924, y: -0.5039105999999265 },
                        { x: -4.1087543641396, y: -0.4561599482648262 },
                        { x: -4.059808999999859, y: -0.5060442000000194 },
                        { x: -4.069791200000054, y: -0.9760457999999517 },
                        { x: -4.105925351886299, y: -1.0229826109764417 },
                        { x: -4.161510599999701, y: -1.0025125999999318 },
                        { x: -4.379772799999955, y: -0.6716013999999859 },
                        { x: -4.379772799999955, y: -0.9849865999999565 },
                        { x: -4.429772700000058, y: -1.0338721868016592 },
                        { x: -4.479772599999933, y: -0.9849865999999565 },
                    ], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
                        { x: -3.9097965999998223, y: -0.48600360000000364 },
                        { x: -3.918711999999914, y: -0.9228835999998637 },
                        { x: -3.7525451999998722, y: -0.9162542000000258 },
                        { x: -3.672357399999896, y: -0.7398257999999487 },
                        { x: -3.703929599999924, y: -0.6056375999999091 },
                        { x: -3.76491499999986, y: -0.5649975999999697 },
                        { x: -3.8497763999998824, y: -0.5649975999999697 },
                        { x: -3.898661986801585, y: -0.5149977000000945 },
                        { x: -3.8497763999998824, y: -0.4649978000001056 },
                        { x: -3.7497765999999046, y: -0.4649977999999919 },
                        { x: -3.7352878692194054, y: -0.4671360690531401 },
                        { x: -3.722039799999834, y: -0.47337979999986146 },
                        { x: -3.6320475999998507, y: -0.5333745999998882 },
                        { x: -3.618717137346721, y: -0.5464601941648652 },
                        { x: -3.6111179999999194, y: -0.563524399999892 },
                        { x: -3.571112999999741, y: -0.733526599999891 },
                        { x: -3.570019476684479, y: -0.7498661523625287 },
                        { x: -3.5742625999998836, y: -0.7656829999999673 },
                        { x: -3.6742623999998614, y: -0.9856723999998849 },
                        { x: -3.6918754478680285, y: -1.0064619452274428 },
                        { x: -3.7177725999998756, y: -1.0149331999999731 },
                        { x: -3.9677847999998903, y: -1.0249407999999676 },
                        { x: -4.004789708265889, y: -1.0106793005584223 },
                        { x: -4.019778599999881, y: -0.9739629999999124 },
                        { x: -4.009770999999887, y: -0.48397160000001804 },
                        { x: -3.9587924458110137, y: -0.4362129739033662 },
                        { x: -3.9097965999998223, y: -0.48600360000000364 },
                    ], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
                        { x: -3.8, y: 1.95 },
                        { x: 3.8, y: 1.95 },
                        { x: 3.8, y: -1.95 },
                        { x: -3.8, y: -1.95 },
                        { x: -3.8, y: 1.95 },
                    ] })] }), cadModel: {
            objUrl: objPath$3,
            stepUrl: stepPath$3,
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: 0.000003399999999986747 },
        }, ...chipProps }));
};

const ledCount = 16;
const ledRadius = 30;
const ledWindow = { width: 3.4, height: 3 };
const ledPositions = Array.from({ length: ledCount }, (_, index) => {
    const ccwRotationDegrees = -150 + (300 * index) / (ledCount - 1);
    const ledToBoardTransform = rotateDEG(ccwRotationDegrees);
    return {
        index,
        ccwRotationDegrees,
        center: applyToPoint(ledToBoardTransform, { x: 0, y: ledRadius }),
        capacitorCenter: applyToPoint(ledToBoardTransform, {
            x: 0,
            y: ledRadius - 8,
        }),
        points: [
            { x: -3.4 / 2, y: ledRadius - ledWindow.height / 2 },
            { x: ledWindow.width / 2, y: ledRadius - ledWindow.height / 2 },
            { x: ledWindow.width / 2, y: ledRadius + ledWindow.height / 2 },
            { x: -3.4 / 2, y: ledRadius + ledWindow.height / 2 },
        ].map((corner) => applyToPoint(ledToBoardTransform, corner)),
    };
});
function LedRing({ openingShape = "polygon", }) {
    return (jsx(Fragment, { children: Array.from({ length: 4 }, (_, quadrant) => (jsx(Fragment$1, { children: jsx("schematicsheet", { name: `LED_RING_${quadrant + 1}`, children: ledPositions.slice(quadrant * 4, quadrant * 4 + 4).map((led) => (jsxs("group", { name: `PIXEL_${led.index + 1}`, children: [jsx(SK6812MINI_E, { openingShape: openingShape, name: `D${led.index + 1}`, layer: "bottom", pcbX: led.center.x, pcbY: led.center.y, pcbRotation: led.ccwRotationDegrees, schWidth: 1.8, schHeight: 2, schPinArrangement: {
                                leftSide: { pins: ["pin2"], direction: "top-to-bottom" },
                                rightSide: { pins: ["pin4"], direction: "top-to-bottom" },
                                topSide: { pins: ["pin3"], direction: "left-to-right" },
                                bottomSide: { pins: ["pin1"], direction: "left-to-right" },
                            }, connections: {
                                GND: "net.GND",
                                VDD: "net.V5",
                                DIN: led.index === 0
                                    ? "net.LED_DATA"
                                    : `net.PIXEL_${led.index}`,
                                ...(led.index < ledCount - 1 && {
                                    DOUT: `net.PIXEL_${led.index + 1}`,
                                }),
                            }, noConnect: led.index === ledCount - 1 ? ["DOUT"] : [] }), jsx("capacitor", { name: `C${led.index + 10}`, capacitance: "100nF", supplierPartNumbers: { jlcpcb: ["C14663"] }, maxVoltageRating: "16V", footprint: "0603", layer: "bottom", pcbX: led.capacitorCenter.x, pcbY: led.capacitorCenter.y, pcbRotation: led.ccwRotationDegrees, connections: { pin1: "net.V5", pin2: "net.GND" } })] }, led.index))) }) }, quadrant))) }));
}

const pinLabels$1 = {
    pin1: ["EH2"],
    pin2: ["EH1"],
    pin3: ["EH4"],
    pin4: ["EH3"],
    pin5: ["SBU2", "B8"],
    pin6: ["CC1", "A5"],
    pin7: ["DN2", "B7"],
    pin8: ["DP1", "A6"],
    pin9: ["DN1", "A7"],
    pin10: ["DP2", "B6"],
    pin11: ["SBU1", "A8"],
    pin12: ["CC2", "B5"],
    pin13: ["GND1", "A1B12"],
    pin14: ["GND2", "B1A12"],
    pin15: ["VBUS1", "B4A9"],
    pin16: ["VBUS2", "A4B9"],
};
const pinAttributes$1 = {
    pin5: { isPassive: true },
    pin6: { isPassive: true },
    pin7: { isPassive: true },
    pin8: { isPassive: true },
    pin9: { isPassive: true },
    pin10: { isPassive: true },
    pin11: { isPassive: true },
    pin12: { isPassive: true },
};
const TYPE_C_31_M_12 = (props) => {
    return (jsx("connector", { standard: "usb_c", pinLabels: pinLabels$1, pinAttributes: pinAttributes$1, supplierPartNumbers: {
            jlcpcb: ["C165948"],
        }, manufacturerPartNumber: "TYPE-C-31-M-12", footprint: jsxs("footprint", { children: [jsx("hole", { pcbX: "-2.899918mm", pcbY: "0.9055672mm", diameter: "0.5999988mm" }), jsx("hole", { pcbX: "2.899918mm", pcbY: "0.9055672mm", diameter: "0.5999988mm" }), jsx("platedhole", { portHints: ["pin2"], pcbX: "4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.1999976mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsx("platedhole", { portHints: ["pin1"], pcbX: "4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.499997mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsx("platedhole", { portHints: ["pin4"], pcbX: "-4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.499997mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsx("platedhole", { portHints: ["pin3"], pcbX: "-4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.1999976mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-1.249934mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "1.24968mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), 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" }), 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" }), 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" }), 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" }), jsx("silkscreenpath", { route: [
                        { x: -4.4689776000000165, y: -1.6757585999999947 },
                        { x: -4.4689776000000165, y: 0.18715359999987413 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -5.394140800000059 },
                        { x: -4.4689776000000165, y: -5.394140800000059 },
                        { x: -4.4689776000000165, y: -3.91283820000001 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -1.676114200000029 },
                        { x: 4.471009600000116, y: 0.18750920000002225 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -5.394140800000059 },
                        { x: 4.471009600000116, y: -3.912482600000203 },
                    ] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.002794mm", pcbY: "3.8286012mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
                        { x: -5.17511079999997, y: 3.074130799999921 },
                        { x: 5.17511079999997, y: 3.074130799999921 },
                        { x: 5.17511079999997, y: -5.60002099999997 },
                        { x: -5.17511079999997, y: -5.60002099999997 },
                        { x: -5.17511079999997, y: 3.074130799999921 },
                    ] })] }), cadModel: {
            objUrl: objPath$4,
            stepUrl: stepPath$4,
            pcbRotationOffset: 180,
            modelOriginPosition: {
                x: 0,
                y: -2.7500289000000517,
                z: 0.000010999999999872223,
            },
        }, ...props }));
};

const pinLabels = {
    pin1: ["pin1"],
    pin2: ["pin2"],
    pin3: ["pin3"],
    pin4: ["pin4"],
    pin5: ["pin5"],
    pin6: ["pin6"],
};
const pinAttributes = {
    pin1: { isPassive: true },
    pin2: { requiresGround: true, mustBeConnected: true },
    pin3: { isPassive: true },
    pin4: { isPassive: true },
    pin5: {
        isPassive: true,
        requiresPower: true,
        mustBeConnected: true,
        shouldHaveDecouplingCapacitor: true,
        recommendedDecouplingCapacitorCapacitance: "100nF",
    },
    pin6: { isPassive: true },
};
const USBLC6_2SC6 = (props) => {
    return (jsx("chip", { pinLabels: pinLabels, pinAttributes: pinAttributes, symbol: jsxs("symbol", { children: [jsx("schematicpath", { points: [
                        { x: -0.9, y: 1 },
                        { x: 0.9, y: 1 },
                        { x: 0.9, y: -1 },
                        { x: -0.9, y: -1 },
                        { x: -0.9, y: 1 },
                    ], strokeWidth: 0.02, strokeColor: "#880000", isFilled: true, fillColor: "#FFFFFF" }), jsx("port", { name: "pin1", pinNumber: 1, aliases: ["1"], direction: "left", schX: -1.3, schY: 0.6, schStemLength: 0.4 }), jsx("port", { name: "pin2", pinNumber: 2, aliases: ["2"], direction: "left", schX: -1.3, schY: 0, schStemLength: 0.4 }), jsx("port", { name: "pin3", pinNumber: 3, aliases: ["3"], direction: "left", schX: -1.3, schY: -0.6, schStemLength: 0.4 }), jsx("port", { name: "pin4", pinNumber: 4, aliases: ["4"], direction: "right", schX: 1.3, schY: -0.6, schStemLength: 0.4 }), jsx("port", { name: "pin5", pinNumber: 5, aliases: ["5"], direction: "right", schX: 1.3, schY: 0, schStemLength: 0.4 }), jsx("port", { name: "pin6", pinNumber: 6, aliases: ["6"], direction: "right", schX: 1.3, schY: 0.6, schStemLength: 0.4 }), jsx("schematicpath", { points: [
                        { x: -0.9, y: 0.6 },
                        { x: 0.9, y: 0.6 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: -0.9, y: -0.6 },
                        { x: 0.9, y: -0.6 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: -0.9, y: 0 },
                        { x: 0.9, y: 0 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { svgPath: "M -0.14 -0.12 L 0.06 0 L -0.14 0.14 Z", strokeColor: "#880000", isFilled: true, fillColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0.1, y: 0.16 },
                        { x: 0.06, y: 0.16 },
                        { x: 0.06, y: -0.14 },
                        { x: 0, y: -0.14 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: -0.68, y: 0 },
                        { x: -0.68, y: 0.4 },
                        { x: 0.66, y: 0.4 },
                        { x: 0.66, y: -0.4 },
                        { x: -0.68, y: -0.4 },
                        { x: -0.68, y: 0 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0, y: 0.6 },
                        { x: 0, y: 0.4 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0, y: -0.6 },
                        { x: 0, y: -0.4 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { svgPath: "M -0.46 0.28 L -0.26 0.4 L -0.46 0.54 Z", strokeColor: "#880000", isFilled: true, fillColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: -0.26, y: 0.56 },
                        { x: -0.26, y: 0.56 },
                        { x: -0.26, y: 0.26 },
                        { x: -0.26, y: 0.26 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { svgPath: "M 0.22 0.28 L 0.42 0.4 L 0.22 0.54 Z", strokeColor: "#880000", isFilled: true, fillColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0.42, y: 0.56 },
                        { x: 0.42, y: 0.56 },
                        { x: 0.42, y: 0.26 },
                        { x: 0.42, y: 0.26 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { svgPath: "M -0.48 -0.52 L -0.28 -0.4 L -0.48 -0.26 Z", strokeColor: "#880000", isFilled: true, fillColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: -0.28, y: -0.24 },
                        { x: -0.28, y: -0.24 },
                        { x: -0.28, y: -0.54 },
                        { x: -0.28, y: -0.54 },
                    ], strokeColor: "#880000" }), jsx("schematicpath", { svgPath: "M 0.22 -0.52 L 0.42 -0.4 L 0.22 -0.26 Z", strokeColor: "#880000", isFilled: true, fillColor: "#880000" }), jsx("schematicpath", { points: [
                        { x: 0.42, y: -0.24 },
                        { x: 0.42, y: -0.24 },
                        { x: 0.42, y: -0.54 },
                        { x: 0.42, y: -0.54 },
                    ], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.6 }, radius: 0.02, strokeWidth: 0.02, color: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.4 }, radius: 0.02, strokeWidth: 0.02, color: "#880000" }), jsx("schematiccircle", { center: { x: -0.68, y: 0 }, radius: 0.02, strokeWidth: 0.02, color: "#880000" }), jsx("schematiccircle", { center: { x: 0.66, y: 0 }, radius: 0.02, strokeWidth: 0.02, color: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -0.4 }, radius: 0.02, strokeWidth: 0.02, color: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -0.6 }, radius: 0.02, strokeWidth: 0.02, color: "#880000" }), jsx("schematictext", { schX: 0, schY: 1.2, text: "{NAME}", fontSize: 0.2, anchor: "bottom_center" })] }), supplierPartNumbers: {
            jlcpcb: ["C7519"],
        }, manufacturerPartNumber: "USBLC6-2SC6", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "0mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("silkscreenpath", { route: [
                        { x: 1.5391891999998961, y: -0.8892031999998835 },
                        { x: 1.5391891999998961, y: 0.8892031999999972 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -1.5391892000000098, y: -0.8892031999998835 },
                        { x: -1.5391892000000098, y: 0.8892031999999972 },
                    ] }), jsx("silkscreencircle", { pcbX: "-1.668272mm", pcbY: "-1.301496mm", radius: "0.150114mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1524mm", pcbY: "2.6764mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
                        { x: -1.6999843999999484, y: 1.9350994999999784 },
                        { x: 1.7000097999999753, y: 1.9350994999999784 },
                        { x: 1.7000097999999753, y: -1.9350994999998647 },
                        { x: -1.6999843999999484, y: -1.9350994999998647 },
                        { x: -1.6999843999999484, y: 1.9350994999999784 },
                    ] })] }), cadModel: {
            objUrl: objPath$5,
            stepUrl: stepPath$5,
            pcbRotationOffset: 90,
            modelOriginPosition: {
                x: -12700000070253736e-21,
                y: 0.000012700000070253736,
                z: -0.048939,
            },
        }, ...props }));
};

const nSMD050_24V = (props) => {
    return (jsx("fuse", { symbol: jsxs("symbol", { children: [jsx("schematicpath", { points: [
                        { x: -0.3, y: -0.1 },
                        { x: -0.2, y: -0.1 },
                    ], strokeColor: "#000000" }), jsx("schematicpath", { svgPath: "M -0.2 -0.1 C -0.1 0.1 0 -0.1 0 -0.1 C 0.1 -0.3 0.2 -0.1 0.2 -0.1", strokeColor: "#000000" }), jsx("schematicpath", { points: [
                        { x: 0.2, y: -0.1 },
                        { x: 0.3, y: -0.1 },
                    ], strokeColor: "#000000" }), jsx("port", { name: "pin1", pinNumber: 1, aliases: ["1"], direction: "left", schX: -0.7, schY: -0.1, schStemLength: 0.4 }), jsx("port", { name: "pin2", pinNumber: 2, aliases: ["2"], direction: "right", schX: 0.7, schY: -0.1, schStemLength: 0.4 }), jsx("schematictext", { schX: 0, schY: 0.3, text: "{NAME}", fontSize: 0.2, anchor: "bottom_center" })] }), supplierPartNumbers: {
            jlcpcb: ["C70076"],
        }, manufacturerPartNumber: "nSMD050-24V", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.445006mm", pcbY: "0mm", width: "1.1900916mm", height: "1.7279874mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "1.445006mm", pcbY: "0mm", width: "1.1900916mm", height: "1.7279874mm", shape: "rect" }), jsx("silkscreenpath", { route: [
                        { x: -0.9261856000000108, y: 1.0926064000000082 },
                        { x: -2.1163026000000116, y: 1.0926064000000082 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 0.926210999999995, y: 1.0926064000000082 },
                        { x: 2.1163026000000116, y: 1.0926064000000082 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -2.2687025999999975, y: 0.9402064000000081 },
                        { x: -2.2687025999999975, y: -0.9402063999999939 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 2.2687025999999832, y: 0.9402064000000081 },
                        { x: 2.2687025999999832, y: -0.9402063999999939 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: -2.1163026000000116, y: -1.092606399999994 },
                        { x: -0.9261856000000108, y: -1.092606399999994 },
                    ] }), jsx("silkscreenpath", { route: [
                        { x: 2.1163026000000116, y: -1.092606399999994 },
                        { x: 0.926210999999995, y: -1.092606399999994 },
                    ] }), 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 },
                    ] }), 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 },
                    ] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "2.0922mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
                        { x: -2.2900518000000005, y: 1.1139936999999946 },
                        { x: 2.2900518000000005, y: 1.1139936999999946 },
                        { x: 2.2900518000000005, y: -1.1139936999999946 },
                        { x: -2.2900518000000005, y: -1.1139936999999946 },
                        { x: -2.2900518000000005, y: 1.1139936999999946 },
                    ] })] }), cadModel: {
            objUrl: objPath$6,
            stepUrl: stepPath$6,
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: -12699999999199463e-21, z: 0 },
        }, ...props }));
};

function UsbInterface() {
    return (jsxs("schematicsheet", { name: "USB_POWER", children: [jsx(TYPE_C_31_M_12, { name: "J1", pcbY: -34, schWidth: 1.8, schHeight: 2, schPinArrangement: {
                    rightSide: {
                        pins: ["DP1", "DP2", "DN1", "DN2", "CC1", "CC2", "SBU1", "SBU2"],
                        direction: "top-to-bottom",
                    },
                    leftSide: {
                        pins: [
                            "VBUS1",
                            "VBUS2",
                            "GND1",
                            "GND2",
                            "EH1",
                            "EH2",
                            "EH3",
                            "EH4",
                        ],
                        direction: "top-to-bottom",
                    },
                }, connections: {
                    VBUS1: "net.VBUS",
                    VBUS2: "net.VBUS",
                    GND1: "net.GND",
                    GND2: "net.GND",
                    EH1: "net.GND",
                    EH2: "net.GND",
                    EH3: "net.GND",
                    EH4: "net.GND",
                    DP1: "net.USB_DP",
                    DP2: "net.USB_DP",
                    DN1: "net.USB_DM",
                    DN2: "net.USB_DM",
                    CC1: "net.CC1",
                    CC2: "net.CC2",
                }, noConnect: ["SBU1", "SBU2"] }), jsx("resistor", { name: "R1", resistance: "5.1k", supplierPartNumbers: { jlcpcb: ["C23186"] }, footprint: "0603", pcbX: -5.8, pcbY: -24, pcbRotation: 90, connections: { pin1: "net.CC1", pin2: "net.GND" } }), jsx("resistor", { name: "R2", resistance: "5.1k", supplierPartNumbers: { jlcpcb: ["C23186"] }, footprint: "0603", pcbX: 5.8, pcbY: -24, pcbRotation: 90, connections: { pin1: "net.CC2", pin2: "net.GND" } }), jsx(nSMD050_24V, { name: "F1", currentRating: 0.5, voltageRating: 24, schRotation: -90, symbol: undefined, pcbX: 10, pcbY: -31, connections: { pin1: "net.VBUS", pin2: "net.V5" } }), jsx(USBLC6_2SC6, { name: "U2", pcbX: 0, pcbY: -22, connections: {
                    pin1: "net.USB_DM",
                    pin6: "net.USB_DM",
                    pin3: "net.USB_DP",
                    pin4: "net.USB_DP",
                    pin2: "net.GND",
                    pin5: "net.VBUS",
                } }), jsx("capacitor", { name: "C1", capacitance: "100nF", supplierPartNumbers: { jlcpcb: ["C14663"] }, maxVoltageRating: "16V", footprint: "0603", pcbX: 3, pcbY: -21.5, pcbRotation: 270, connections: { pin1: "net.VBUS", pin2: "net.GND" } }), jsx("capacitor", { name: "C2", pcbRotation: 180, capacitance: "4.7uF", supplierPartNumbers: { jlcpcb: ["C1779"] }, maxVoltageRating: "16V", footprint: "0805", pcbX: 8.5, pcbY: -21.5, connections: { pin1: "net.V5", pin2: "net.GND" } }), jsx("schematictext", { schX: 0, schY: 12, fontSize: 0.7, text: "USB 2.0 device / 5 V bus power. Separate 5.1k CC pull-downs; 500 mA resettable fuse." })] }));
}

function UsbControlDial({ ledCutoutShape = "polygon", } = {}) {
    return (jsxs("board", { width: 80, height: 80, outline: boardOutline, thickness: 1.6, layers: 4, solderMaskColor: "green", title: "USB-C control dial", schLayout: { layoutMode: "match-adapt" }, autorouter: { preset: "auto_local", traceClearance: 0.25 }, autorouterVersion: "beta_pipeline9", minTraceWidth: 0.15, minTraceToPadEdgeClearance: 0.15, minTraceToHoleEdgeClearance: 0.3, minViaEdgeToPadEdgeClearance: 0.1, minViaHoleDiameter: 0.3, minViaPadDiameter: 0.6, minViaHoleEdgeToViaHoleEdgeClearance: 0.25, nominalTraceWidth: 0.2, children: [jsx("autoroutingphase", { phaseIndex: 0, minTraceToPadEdgeClearance: 0.2, minTraceToHoleEdgeClearance: 0.35, minViaEdgeToPadEdgeClearance: 0.2 }), jsx("net", { name: "GND", isGroundNet: true, nominalTraceWidth: 0.4, routingPhaseIndex: 0 }), jsx("net", { name: "VBUS", isPowerNet: true, nominalTraceWidth: 0.5, routingPhaseIndex: 0 }), jsx("net", { name: "V5", isPowerNet: true, nominalTraceWidth: 0.5, routingPhaseIndex: 0 }), jsx("net", { name: "V33", isPowerNet: true, routingPhaseIndex: 0 }), [
                "USB_DP",
                "USB_DM",
                "CC1",
                "CC2",
                "ENC_A",
                "ENC_B",
                "ENC_SW",
                "LED_RAW",
                "LED_DATA",
                "RESET",
                "BOOT",
            ].map((name) => (jsx(Fragment$1, { children: jsx("net", { name: name, routingPhaseIndex: 0 }) }, name))), Array.from({ length: ledCount - 1 }, (_, index) => (jsx(Fragment$1, { children: jsx("net", { name: `PIXEL_${index + 1}`, routingPhaseIndex: 0 }) }, index))), jsx(UsbInterface, {}), jsx(Controller, {}), jsx(LedRing, { openingShape: ledCutoutShape }), [-1, 1].flatMap((x) => [-1, 1].map((y) => (jsx(Fragment$1, { children: jsx("hole", { name: `MOUNT_${x}_${y}`, pcbX: x * 26, pcbY: y * 26, diameter: 3.2 }) }, `${x}:${y}`)))), jsx("copperpour", { layer: "inner1", connectsTo: "net.GND", clearance: 0.3, boardEdgeMargin: 0.5 }), jsx("copperpour", { layer: "bottom", connectsTo: "net.GND", clearance: 0.3, boardEdgeMargin: 0.5 }), jsx("silkscreentext", { text: "USB-C CONTROL DIAL", pcbY: 13, fontSize: 1 }), jsx("silkscreentext", { text: "VOLUME / BRIGHTNESS", pcbY: -13, fontSize: 0.8 }), jsx("silkscreentext", { text: "KrishnaX12", pcbY: -16, fontSize: 0.8 }), jsx("silkscreentext", { text: "BOOT", pcbX: 12, pcbY: -15, fontSize: 0.7 })] }));
}

function UsbControlDialClearanceRepro() {
    return jsx(UsbControlDial, { ledCutoutShape: "rect" });
}

export { UsbControlDialClearanceRepro as default };