pixalynx/edge-connector
Configures USB-A, Micro-USB, and USB-C PCB-edge connectors with exposed copper contacts and automatically shaped, positioned board tongues.
- Version
- 1.0.0
- License
- GPL-3.0-only
- Stars
- 0
dist/index.d.ts
import * as react from 'react';
import { ComponentProps } from 'react';
import { ChipProps } from 'tscircuit';
declare const usbAEdgeConnectorPinLabels: {
readonly pin1: readonly ["VBUS"];
readonly pin2: readonly ["DM", "D_MINUS"];
readonly pin3: readonly ["DP", "D_PLUS"];
readonly pin4: readonly ["GND"];
};
/** Millimetres, relative to the component origin at pcbRotation={0}. */
declare const usbAEdgeConnectorGeometry: {
readonly tongueWidth: 12;
readonly boardThickness: 2;
readonly tipY: 4.8;
readonly shoulderY: -3.9;
readonly edgeProfile: readonly [{
readonly x: -6;
readonly y: -3.9;
}, {
readonly x: -6;
readonly y: 4.3;
}, {
readonly x: -5.5;
readonly y: 4.8;
}, {
readonly x: 5.5;
readonly y: 4.8;
}, {
readonly x: 6;
readonly y: 4.3;
}, {
readonly x: 6;
readonly y: -3.9;
}];
};
type UsbAEdgeConnectorProps = Omit<ChipProps<typeof usbAEdgeConnectorPinLabels>, "footprint" | "pinLabels" | "layer" | "cadModel" | "children">;
/**
* USB 2.0 Type-A male PCB contacts. Top copper, insertion toward local +Y.
* Looking down at the contacts with the tip up: VBUS, D-, D+, GND.
* The host board must supply the tongue outline and thickness (see README).
*/
declare function UsbAEdgeConnector(props: UsbAEdgeConnectorProps): any;
declare const usbCEdgeConnectorPinLabels: {
readonly pin1: readonly ["A1", "GND_A1"];
readonly pin2: readonly ["A2", "TX1_P"];
readonly pin3: readonly ["A3", "TX1_N"];
readonly pin4: readonly ["A4", "VBUS_A4"];
readonly pin5: readonly ["A5", "CC1"];
readonly pin6: readonly ["A6", "DP_A6"];
readonly pin7: readonly ["A7", "DM_A7"];
readonly pin8: readonly ["A8", "SBU1"];
readonly pin9: readonly ["A9", "VBUS_A9"];
readonly pin10: readonly ["A10", "RX2_N"];
readonly pin11: readonly ["A11", "RX2_P"];
readonly pin12: readonly ["A12", "GND_A12"];
readonly pin13: readonly ["B1", "GND_B1"];
readonly pin14: readonly ["B2", "TX2_P"];
readonly pin15: readonly ["B3", "TX2_N"];
readonly pin16: readonly ["B4", "VBUS_B4"];
readonly pin17: readonly ["B5", "CC2"];
readonly pin18: readonly ["B6", "DP_B6"];
readonly pin19: readonly ["B7", "DM_B7"];
readonly pin20: readonly ["B8", "SBU2"];
readonly pin21: readonly ["B9", "VBUS_B9"];
readonly pin22: readonly ["B10", "RX1_N"];
readonly pin23: readonly ["B11", "RX1_P"];
readonly pin24: readonly ["B12", "GND_B12"];
};
declare const usbCEdgeConnectorGeometry: {
readonly boardThickness: 0.6;
readonly tipY: 2.55;
readonly edgeProfile: readonly [{
readonly x: -4.445;
readonly y: -1.765;
}, {
readonly x: -4.437499;
readonly y: -1.855527;
}, {
readonly x: -4.415199;
readonly y: -1.943585;
}, {
readonly x: -4.378711;
readonly y: -2.026771;
}, {
readonly x: -4.329027;
readonly y: -2.102817;
}, {
readonly x: -4.267505;
readonly y: -2.169648;
}, {
readonly x: -4.195821;
readonly y: -2.225442;
}, {
readonly x: -4.115932;
readonly y: -2.268675;
}, {
readonly x: -4.030017;
readonly y: -2.29817;
}, {
readonly x: -3.940419;
readonly y: -2.313121;
}, {
readonly x: -3.849581;
readonly y: -2.313121;
}, {
readonly x: -3.759983;
readonly y: -2.29817;
}, {
readonly x: -3.674068;
readonly y: -2.268675;
}, {
readonly x: -3.594179;
readonly y: -2.225442;
}, {
readonly x: -3.522495;
readonly y: -2.169648;
}, {
readonly x: -3.460973;
readonly y: -2.102817;
}, {
readonly x: -3.411289;
readonly y: -2.026771;
}, {
readonly x: -3.374801;
readonly y: -1.943585;
}, {
readonly x: -3.352501;
readonly y: -1.855527;
}, {
readonly x: -3.345;
readonly y: -1.765;
}, {
readonly x: -3.345;
readonly y: -0.2;
}, {
readonly x: -3.292906;
readonly y: -0.195442;
}, {
readonly x: -3.242394;
readonly y: -0.181908;
}, {
readonly x: -3.195;
readonly y: -0.159808;
}, {
readonly x: -3.152164;
readonly y: -0.129813;
}, {
readonly x: -3.115187;
readonly y: -0.092836;
}, {
readonly x: -3.085192;
readonly y: -0.05;
}, {
readonly x: -3.063092;
readonly y: -0.002606;
}, {
readonly x: -3.049558;
readonly y: 0.047906;
}, {
readonly x: -3.045;
readonly y: 0.1;
}, {
readonly x: -3.045;
readonly y: 1;
}, {
readonly x: -3.049558;
readonly y: 1.052094;
}, {
readonly x: -3.063092;
readonly y: 1.102606;
}, {
readonly x: -3.085192;
readonly y: 1.15;
}, {
readonly x: -3.115187;
readonly y: 1.192836;
}, {
readonly x: -3.152164;
readonly y: 1.229813;
}, {
readonly x: -3.195;
readonly y: 1.259808;
}, {
readonly x: -3.242394;
readonly y: 1.281908;
}, {
readonly x: -3.292906;
readonly y: 1.295442;
}, {
readonly x: -3.345;
readonly y: 1.3;
}, {
readonly x: -3.345;
readonly y: 1.8;
}, {
readonly x: -3.045;
readonly y: 2.55;
}, {
readonly x: 3.05;
readonly y: 2.55;
}, {
readonly x: 3.35;
readonly y: 1.8;
}, {
readonly x: 3.35;
readonly y: 1.3;
}, {
readonly x: 3.297906;
readonly y: 1.295442;
}, {
readonly x: 3.247394;
readonly y: 1.281908;
}, {
readonly x: 3.2;
readonly y: 1.259808;
}, {
readonly x: 3.157164;
readonly y: 1.229813;
}, {
readonly x: 3.120187;
readonly y: 1.192836;
}, {
readonly x: 3.090192;
readonly y: 1.15;
}, {
readonly x: 3.068092;
readonly y: 1.102606;
}, {
readonly x: 3.054558;
readonly y: 1.052094;
}, {
readonly x: 3.05;
readonly y: 1;
}, {
readonly x: 3.05;
readonly y: 0.1;
}, {
readonly x: 3.054558;
readonly y: 0.047906;
}, {
readonly x: 3.068092;
readonly y: -0.002606;
}, {
readonly x: 3.090192;
readonly y: -0.05;
}, {
readonly x: 3.120187;
readonly y: -0.092836;
}, {
readonly x: 3.157164;
readonly y: -0.129813;
}, {
readonly x: 3.2;
readonly y: -0.159808;
}, {
readonly x: 3.247394;
readonly y: -0.181908;
}, {
readonly x: 3.297906;
readonly y: -0.195442;
}, {
readonly x: 3.35;
readonly y: -0.2;
}, {
readonly x: 3.35;
readonly y: -1.765;
}, {
readonly x: 3.357501;
readonly y: -1.855527;
}, {
readonly x: 3.379801;
readonly y: -1.943585;
}, {
readonly x: 3.416289;
readonly y: -2.026771;
}, {
readonly x: 3.465973;
readonly y: -2.102817;
}, {
readonly x: 3.527495;
readonly y: -2.169648;
}, {
readonly x: 3.599179;
readonly y: -2.225442;
}, {
readonly x: 3.679068;
readonly y: -2.268675;
}, {
readonly x: 3.764983;
readonly y: -2.29817;
}, {
readonly x: 3.854581;
readonly y: -2.313121;
}, {
readonly x: 3.945419;
readonly y: -2.313121;
}, {
readonly x: 4.035017;
readonly y: -2.29817;
}, {
readonly x: 4.120932;
readonly y: -2.268675;
}, {
readonly x: 4.200821;
readonly y: -2.225442;
}, {
readonly x: 4.272505;
readonly y: -2.169648;
}, {
readonly x: 4.334027;
readonly y: -2.102817;
}, {
readonly x: 4.383711;
readonly y: -2.026771;
}, {
readonly x: 4.420199;
readonly y: -1.943585;
}, {
readonly x: 4.442499;
readonly y: -1.855527;
}, {
readonly x: 4.45;
readonly y: -1.765;
}];
};
type UsbCEdgeConnectorProps = Omit<ChipProps<typeof usbCEdgeConnectorPinLabels>, "footprint" | "pinLabels" | "layer" | "cadModel" | "children">;
/** 24-contact, shell-less USB-C receptacle tongue. A on top, B on bottom. */
declare function UsbCEdgeConnector(props: UsbCEdgeConnectorProps): any;
declare const microUsbEdgeConnectorPinLabels: {
readonly pin1: readonly ["VBUS"];
readonly pin2: readonly ["DM", "D_MINUS"];
readonly pin3: readonly ["DP", "D_PLUS"];
readonly pin4: readonly ["ID"];
readonly pin5: readonly ["GND"];
};
declare const microUsbEdgeConnectorGeometry: {
readonly boardThickness: 0.6;
readonly tipY: 1.58;
readonly edgeProfile: readonly [{
readonly x: -3.905;
readonly y: 1.58;
}, {
readonly x: -3.87027;
readonly y: 1.576961;
}, {
readonly x: -3.836596;
readonly y: 1.567938;
}, {
readonly x: -3.805;
readonly y: 1.553205;
}, {
readonly x: -3.776443;
readonly y: 1.533209;
}, {
readonly x: -3.751791;
readonly y: 1.508557;
}, {
readonly x: -3.731795;
readonly y: 1.48;
}, {
readonly x: -3.717062;
readonly y: 1.448404;
}, {
readonly x: -3.708039;
readonly y: 1.41473;
}, {
readonly x: -3.705;
readonly y: 1.38;
}, {
readonly x: -3.705;
readonly y: -1.92;
}, {
readonly x: -3.692688;
readonly y: -2.076435;
}, {
readonly x: -3.656057;
readonly y: -2.229017;
}, {
readonly x: -3.596007;
readonly y: -2.373991;
}, {
readonly x: -3.514017;
readonly y: -2.507785;
}, {
readonly x: -3.412107;
readonly y: -2.627107;
}, {
readonly x: -3.292785;
readonly y: -2.729017;
}, {
readonly x: -3.158991;
readonly y: -2.811007;
}, {
readonly x: -3.014017;
readonly y: -2.871057;
}, {
readonly x: -2.861435;
readonly y: -2.907688;
}, {
readonly x: -2.705;
readonly y: -2.92;
}, {
readonly x: -2.548565;
readonly y: -2.907688;
}, {
readonly x: -2.395983;
readonly y: -2.871057;
}, {
readonly x: -2.251009;
readonly y: -2.811007;
}, {
readonly x: -2.117215;
readonly y: -2.729017;
}, {
readonly x: -1.997893;
readonly y: -2.627107;
}, {
readonly x: -1.895983;
readonly y: -2.507785;
}, {
readonly x: -1.813993;
readonly y: -2.373991;
}, {
readonly x: -1.753943;
readonly y: -2.229017;
}, {
readonly x: -1.717312;
readonly y: -2.076435;
}, {
readonly x: -1.705;
readonly y: -1.92;
}, {
readonly x: -1.705;
readonly y: 1.38;
}, {
readonly x: -1.701961;
readonly y: 1.41473;
}, {
readonly x: -1.692938;
readonly y: 1.448404;
}, {
readonly x: -1.678205;
readonly y: 1.48;
}, {
readonly x: -1.658209;
readonly y: 1.508557;
}, {
readonly x: -1.633557;
readonly y: 1.533209;
}, {
readonly x: -1.605;
readonly y: 1.553205;
}, {
readonly x: -1.573404;
readonly y: 1.567938;
}, {
readonly x: -1.53973;
readonly y: 1.576961;
}, {
readonly x: -1.505;
readonly y: 1.58;
}, {
readonly x: 1.505;
readonly y: 1.58;
}, {
readonly x: 1.53973;
readonly y: 1.576961;
}, {
readonly x: 1.573404;
readonly y: 1.567938;
}, {
readonly x: 1.605;
readonly y: 1.553205;
}, {
readonly x: 1.633557;
readonly y: 1.533209;
}, {
readonly x: 1.658209;
readonly y: 1.508557;
}, {
readonly x: 1.678205;
readonly y: 1.48;
}, {
readonly x: 1.692938;
readonly y: 1.448404;
}, {
readonly x: 1.701961;
readonly y: 1.41473;
}, {
readonly x: 1.705;
readonly y: 1.38;
}, {
readonly x: 1.705;
readonly y: -1.92;
}, {
readonly x: 1.717312;
readonly y: -2.076435;
}, {
readonly x: 1.753943;
readonly y: -2.229017;
}, {
readonly x: 1.813993;
readonly y: -2.373991;
}, {
readonly x: 1.895983;
readonly y: -2.507785;
}, {
readonly x: 1.997893;
readonly y: -2.627107;
}, {
readonly x: 2.117215;
readonly y: -2.729017;
}, {
readonly x: 2.251009;
readonly y: -2.811007;
}, {
readonly x: 2.395983;
readonly y: -2.871057;
}, {
readonly x: 2.548565;
readonly y: -2.907688;
}, {
readonly x: 2.705;
readonly y: -2.92;
}, {
readonly x: 2.861435;
readonly y: -2.907688;
}, {
readonly x: 3.014017;
readonly y: -2.871057;
}, {
readonly x: 3.158991;
readonly y: -2.811007;
}, {
readonly x: 3.292785;
readonly y: -2.729017;
}, {
readonly x: 3.412107;
readonly y: -2.627107;
}, {
readonly x: 3.514017;
readonly y: -2.507785;
}, {
readonly x: 3.596007;
readonly y: -2.373991;
}, {
readonly x: 3.656057;
readonly y: -2.229017;
}, {
readonly x: 3.692688;
readonly y: -2.076435;
}, {
readonly x: 3.705;
readonly y: -1.92;
}, {
readonly x: 3.705;
readonly y: 1.38;
}, {
readonly x: 3.708039;
readonly y: 1.41473;
}, {
readonly x: 3.717062;
readonly y: 1.448404;
}, {
readonly x: 3.731795;
readonly y: 1.48;
}, {
readonly x: 3.751791;
readonly y: 1.508557;
}, {
readonly x: 3.776443;
readonly y: 1.533209;
}, {
readonly x: 3.805;
readonly y: 1.553205;
}, {
readonly x: 3.836596;
readonly y: 1.567938;
}, {
readonly x: 3.87027;
readonly y: 1.576961;
}, {
readonly x: 3.905;
readonly y: 1.58;
}];
};
type MicroUsbEdgeConnectorProps = Omit<ChipProps<typeof microUsbEdgeConnectorPinLabels>, "footprint" | "pinLabels" | "layer" | "cadModel" | "children">;
/** Five-contact Micro-B receptacle tongue, top copper, mating toward +Y. */
declare function MicroUsbEdgeConnector(props: MicroUsbEdgeConnectorProps): any;
type UsbEdgeConnectorKind = "usb-a" | "usb-c" | "micro-usb";
type UsbBoardEdge = "top" | "right" | "bottom" | "left";
type PositionedProps = "pcbX" | "pcbY" | "pcbRotation" | "pcbPositionAnchor" | "pcbRelativeTo" | "pcbLayout";
type BoardOptions = Omit<ComponentProps<"board">, PositionedProps | "width" | "height" | "outline" | "thickness" | "outlineOffsetX" | "outlineOffsetY" | "boardAnchorPosition" | "boardAnchorAlignment" | "anchorAlignment" | "borderRadius"> & {
/** Overall board bounds in millimetres, including the tongue. */
width: number;
height: number;
edge?: UsbBoardEdge;
/** Millimetres along the edge: positive is +X on top/bottom, +Y on left/right. */
offset?: number;
};
type UsbEdgeConnectorBoardProps = BoardOptions & ({
connector: "usb-a";
connectorProps: Omit<UsbAEdgeConnectorProps, PositionedProps>;
} | {
connector: "usb-c";
connectorProps: Omit<UsbCEdgeConnectorProps, PositionedProps>;
} | {
connector: "micro-usb";
connectorProps: Omit<MicroUsbEdgeConnectorProps, PositionedProps>;
});
/** A rectangular carrier with one automatically shaped and placed USB edge connector. */
declare function UsbEdgeConnectorBoard(props: UsbEdgeConnectorBoardProps): any;
export { MicroUsbEdgeConnector, UsbAEdgeConnector, UsbCEdgeConnector, UsbEdgeConnectorBoard, UsbAEdgeConnector as default, microUsbEdgeConnectorGeometry, microUsbEdgeConnectorPinLabels, usbAEdgeConnectorGeometry, usbAEdgeConnectorPinLabels, usbCEdgeConnectorGeometry, usbCEdgeConnectorPinLabels };
export type { MicroUsbEdgeConnectorProps, UsbAEdgeConnectorProps, UsbBoardEdge, UsbCEdgeConnectorProps, UsbEdgeConnectorBoardProps, UsbEdgeConnectorKind };