@tscircuit/footprinter 0.0.152 → 0.0.153
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1058,6 +1058,7 @@ type Footprinter = {
|
|
|
1058
1058
|
soup: () => AnySoupElement[];
|
|
1059
1059
|
circuitJson: () => AnyCircuitElement[];
|
|
1060
1060
|
};
|
|
1061
|
+
solderjumper: (num_pins?: number) => FootprinterParamsBuilder<"bridged" | "p" | "pw" | "ph">;
|
|
1061
1062
|
params: () => any;
|
|
1062
1063
|
/** @deprecated use circuitJson() instead */
|
|
1063
1064
|
soup: () => AnySoupElement[];
|
package/dist/index.js
CHANGED
|
@@ -53,6 +53,7 @@ __export(fn_exports, {
|
|
|
53
53
|
sod882d: () => sod882d,
|
|
54
54
|
sod923: () => sod923,
|
|
55
55
|
soic: () => soic,
|
|
56
|
+
solderjumper: () => solderjumper,
|
|
56
57
|
sop8: () => sop8,
|
|
57
58
|
sot223: () => sot223,
|
|
58
59
|
sot23: () => sot23,
|
|
@@ -5619,6 +5620,59 @@ var sodWithoutParsing15 = (parameters) => {
|
|
|
5619
5620
|
return pads;
|
|
5620
5621
|
};
|
|
5621
5622
|
|
|
5623
|
+
// src/fn/solderjumper.ts
|
|
5624
|
+
var solderjumper = (params) => {
|
|
5625
|
+
const { num_pins, bridged, p = 2.54, pw = 1.5, ph = 1.5 } = params;
|
|
5626
|
+
const padSpacing = p;
|
|
5627
|
+
const padWidth = pw;
|
|
5628
|
+
const padHeight = ph;
|
|
5629
|
+
const pads = [];
|
|
5630
|
+
for (let i = 0; i < num_pins; i++) {
|
|
5631
|
+
pads.push(rectpad(i + 1, i * padSpacing, 0, padWidth, padHeight));
|
|
5632
|
+
}
|
|
5633
|
+
let traces = [];
|
|
5634
|
+
if (bridged) {
|
|
5635
|
+
const pins = bridged.split("").map(Number);
|
|
5636
|
+
if (pins.length > 1) {
|
|
5637
|
+
for (let i = 0; i < pins.length - 1; i++) {
|
|
5638
|
+
const from = pins[i];
|
|
5639
|
+
const to = pins[i + 1];
|
|
5640
|
+
if (typeof from === "number" && typeof to === "number" && !isNaN(from) && !isNaN(to)) {
|
|
5641
|
+
traces.push({
|
|
5642
|
+
type: "pcb_trace",
|
|
5643
|
+
pcb_trace_id: "",
|
|
5644
|
+
route: [
|
|
5645
|
+
{
|
|
5646
|
+
x: (from - 1) * padSpacing,
|
|
5647
|
+
y: 0,
|
|
5648
|
+
width: 0.5,
|
|
5649
|
+
layer: "top",
|
|
5650
|
+
route_type: "wire"
|
|
5651
|
+
},
|
|
5652
|
+
{
|
|
5653
|
+
x: (to - 1) * padSpacing,
|
|
5654
|
+
y: 0,
|
|
5655
|
+
width: 0.5,
|
|
5656
|
+
layer: "top",
|
|
5657
|
+
route_type: "wire"
|
|
5658
|
+
}
|
|
5659
|
+
]
|
|
5660
|
+
});
|
|
5661
|
+
}
|
|
5662
|
+
}
|
|
5663
|
+
}
|
|
5664
|
+
}
|
|
5665
|
+
const silk = silkscreenRef(
|
|
5666
|
+
(num_pins - 1) * padSpacing / 2,
|
|
5667
|
+
Number(padHeight) + 0.1,
|
|
5668
|
+
0.4
|
|
5669
|
+
);
|
|
5670
|
+
return {
|
|
5671
|
+
circuitJson: [...pads, ...traces, silk],
|
|
5672
|
+
parameters: params
|
|
5673
|
+
};
|
|
5674
|
+
};
|
|
5675
|
+
|
|
5622
5676
|
// src/helpers/is-not-null.ts
|
|
5623
5677
|
function isNotNull(value) {
|
|
5624
5678
|
return value !== null;
|