@tscircuit/footprinter 0.0.139 → 0.0.141
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 +2 -1
- package/dist/index.js +304 -96
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1015,7 +1015,7 @@ type Footprinter = {
|
|
|
1015
1015
|
sot563: () => FootprinterParamsBuilder<"w" | "p" | "pl" | "pw">;
|
|
1016
1016
|
sot723: () => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw">;
|
|
1017
1017
|
sot23: () => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw">;
|
|
1018
|
-
sot89: () => FootprinterParamsBuilder<"w" | "p" | "pl">;
|
|
1018
|
+
sot89: () => FootprinterParamsBuilder<"w" | "p" | "pl" | "pw" | "h">;
|
|
1019
1019
|
smc: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl">;
|
|
1020
1020
|
minimelf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl">;
|
|
1021
1021
|
melf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl">;
|
|
@@ -1038,6 +1038,7 @@ type Footprinter = {
|
|
|
1038
1038
|
sod123f: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
|
|
1039
1039
|
sod123: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
|
|
1040
1040
|
sod123w: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
|
|
1041
|
+
sod110: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
|
|
1041
1042
|
to92: () => FootprinterParamsBuilder<"w" | "h" | "p" | "id" | "od" | "inline">;
|
|
1042
1043
|
sot223: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
|
|
1043
1044
|
pushbutton: () => FootprinterParamsBuilder<"tllabel" | "trlabel" | "bllabel" | "brlabel">;
|
package/dist/index.js
CHANGED
|
@@ -34,6 +34,7 @@ __export(fn_exports, {
|
|
|
34
34
|
smb: () => smb,
|
|
35
35
|
smc: () => smc,
|
|
36
36
|
smf: () => smf,
|
|
37
|
+
sod110: () => sod110,
|
|
37
38
|
sod123: () => sod123,
|
|
38
39
|
sod123f: () => sod123f,
|
|
39
40
|
sod123w: () => sod123w,
|
|
@@ -52,6 +53,7 @@ __export(fn_exports, {
|
|
|
52
53
|
sot363: () => sot363,
|
|
53
54
|
sot563: () => sot563,
|
|
54
55
|
sot723: () => sot723,
|
|
56
|
+
sot89: () => sot89,
|
|
55
57
|
ssop: () => ssop,
|
|
56
58
|
stampboard: () => stampboard,
|
|
57
59
|
stampreceiver: () => stampreceiver,
|
|
@@ -3516,20 +3518,147 @@ var sodWithoutParsing10 = (parameters) => {
|
|
|
3516
3518
|
return pads;
|
|
3517
3519
|
};
|
|
3518
3520
|
|
|
3521
|
+
// src/fn/sot89.ts
|
|
3522
|
+
import { z as z31 } from "zod";
|
|
3523
|
+
var sot89_def = z31.object({
|
|
3524
|
+
fn: z31.string(),
|
|
3525
|
+
num_pins: z31.union([z31.literal(3), z31.literal(5)]).default(3),
|
|
3526
|
+
w: z31.string().default("4.80mm"),
|
|
3527
|
+
h: z31.string().default("4.80mm"),
|
|
3528
|
+
pl: z31.string().default("1.3mm"),
|
|
3529
|
+
pw: z31.string().default("0.9mm"),
|
|
3530
|
+
p: z31.string().default("1.5mm"),
|
|
3531
|
+
string: z31.string().optional()
|
|
3532
|
+
});
|
|
3533
|
+
var sot89_3 = (parameters) => {
|
|
3534
|
+
const pads = [];
|
|
3535
|
+
const padGap = Number.parseFloat(parameters.p);
|
|
3536
|
+
const padWidth = Number.parseFloat(parameters.pw);
|
|
3537
|
+
const length36 = Number.parseFloat(parameters.w);
|
|
3538
|
+
const padHeight = Number.parseFloat(parameters.pl);
|
|
3539
|
+
pads.push(
|
|
3540
|
+
rectpad(1, -length36 / 2, padGap, padHeight, padWidth),
|
|
3541
|
+
rectpad(2, -length36 / 2 + (1.5 - 1.3) / 2, 0, 1.5, padWidth),
|
|
3542
|
+
rectpad(3, -length36 / 2, -padGap, padHeight, padWidth)
|
|
3543
|
+
);
|
|
3544
|
+
const silkscreenRefText = silkscreenRef(0, 0, 0.3);
|
|
3545
|
+
const width = Number.parseFloat(parameters.w) / 2 - 1;
|
|
3546
|
+
const height = Number.parseFloat(parameters.h) / 2;
|
|
3547
|
+
const silkscreenPath1 = {
|
|
3548
|
+
layer: "top",
|
|
3549
|
+
pcb_component_id: "",
|
|
3550
|
+
pcb_silkscreen_path_id: "silkscreen_path_1",
|
|
3551
|
+
route: [
|
|
3552
|
+
{ x: -width, y: height },
|
|
3553
|
+
{ x: width, y: height },
|
|
3554
|
+
{ x: width, y: height / 2 + 0.5 }
|
|
3555
|
+
],
|
|
3556
|
+
type: "pcb_silkscreen_path",
|
|
3557
|
+
stroke_width: 0.1
|
|
3558
|
+
};
|
|
3559
|
+
const silkscreenPath2 = {
|
|
3560
|
+
layer: "top",
|
|
3561
|
+
pcb_component_id: "",
|
|
3562
|
+
pcb_silkscreen_path_id: "silkscreen_path_2",
|
|
3563
|
+
route: [
|
|
3564
|
+
{ x: -width, y: -height },
|
|
3565
|
+
{ x: width, y: -height },
|
|
3566
|
+
{ x: width, y: -height / 2 - 0.5 }
|
|
3567
|
+
],
|
|
3568
|
+
type: "pcb_silkscreen_path",
|
|
3569
|
+
stroke_width: 0.1
|
|
3570
|
+
};
|
|
3571
|
+
return [
|
|
3572
|
+
...pads,
|
|
3573
|
+
silkscreenPath1,
|
|
3574
|
+
silkscreenPath2,
|
|
3575
|
+
silkscreenRefText
|
|
3576
|
+
];
|
|
3577
|
+
};
|
|
3578
|
+
var sot89_5 = (parameters) => {
|
|
3579
|
+
const pads = [];
|
|
3580
|
+
const padGap = Number.parseFloat(parameters.p);
|
|
3581
|
+
const padWidth = Number.parseFloat(parameters.pw);
|
|
3582
|
+
const length36 = Number.parseFloat(parameters.w);
|
|
3583
|
+
pads.push(
|
|
3584
|
+
rectpad(1, -1.85, -1.5, 1.5, 0.7),
|
|
3585
|
+
rectpad(2, -1.85, 1.5, 1.5, 0.7),
|
|
3586
|
+
rectpad(3, 0, 0, 0.8, 2),
|
|
3587
|
+
rectpad(4, 1.85, -1.5, 1.5, 0.7),
|
|
3588
|
+
rectpad(5, 1.85, 1.5, 1.5, 0.7)
|
|
3589
|
+
);
|
|
3590
|
+
const silkscreenRefText = silkscreenRef(
|
|
3591
|
+
0,
|
|
3592
|
+
Number.parseFloat(parameters.h) / 2 + 0.5,
|
|
3593
|
+
0.3
|
|
3594
|
+
);
|
|
3595
|
+
const width = Number.parseFloat(parameters.w) / 2 - 1;
|
|
3596
|
+
const height = Number.parseFloat(parameters.h) / 2;
|
|
3597
|
+
const silkscreenPath1 = {
|
|
3598
|
+
layer: "top",
|
|
3599
|
+
pcb_component_id: "",
|
|
3600
|
+
pcb_silkscreen_path_id: "silkscreen_path_1",
|
|
3601
|
+
route: [
|
|
3602
|
+
{ x: -width, y: height },
|
|
3603
|
+
{ x: width, y: height }
|
|
3604
|
+
],
|
|
3605
|
+
type: "pcb_silkscreen_path",
|
|
3606
|
+
stroke_width: 0.1
|
|
3607
|
+
};
|
|
3608
|
+
const silkscreenPath2 = {
|
|
3609
|
+
layer: "top",
|
|
3610
|
+
pcb_component_id: "",
|
|
3611
|
+
pcb_silkscreen_path_id: "silkscreen_path_2",
|
|
3612
|
+
route: [
|
|
3613
|
+
{ x: -width, y: -height },
|
|
3614
|
+
{ x: width, y: -height }
|
|
3615
|
+
],
|
|
3616
|
+
type: "pcb_silkscreen_path",
|
|
3617
|
+
stroke_width: 0.1
|
|
3618
|
+
};
|
|
3619
|
+
return [
|
|
3620
|
+
...pads,
|
|
3621
|
+
silkscreenPath1,
|
|
3622
|
+
silkscreenPath2,
|
|
3623
|
+
silkscreenRefText
|
|
3624
|
+
];
|
|
3625
|
+
};
|
|
3626
|
+
var sot89 = (raw_params) => {
|
|
3627
|
+
const match = raw_params.string?.match(/^sot89_(\d+)/);
|
|
3628
|
+
const numPins = match ? Number.parseInt(match[1], 10) : 3;
|
|
3629
|
+
const parameters = sot89_def.parse({
|
|
3630
|
+
...raw_params,
|
|
3631
|
+
num_pins: numPins
|
|
3632
|
+
});
|
|
3633
|
+
if (parameters.num_pins === 3) {
|
|
3634
|
+
return {
|
|
3635
|
+
circuitJson: sot89_3(parameters),
|
|
3636
|
+
parameters
|
|
3637
|
+
};
|
|
3638
|
+
}
|
|
3639
|
+
if (parameters.num_pins === 5) {
|
|
3640
|
+
return {
|
|
3641
|
+
circuitJson: sot89_5(parameters),
|
|
3642
|
+
parameters
|
|
3643
|
+
};
|
|
3644
|
+
}
|
|
3645
|
+
throw new Error("Invalid number of pins for SOT89");
|
|
3646
|
+
};
|
|
3647
|
+
|
|
3519
3648
|
// src/fn/to220.ts
|
|
3520
3649
|
import {
|
|
3521
3650
|
length as length25
|
|
3522
3651
|
} from "circuit-json";
|
|
3523
|
-
import { z as
|
|
3524
|
-
var to220_def =
|
|
3525
|
-
fn:
|
|
3652
|
+
import { z as z32 } from "zod";
|
|
3653
|
+
var to220_def = z32.object({
|
|
3654
|
+
fn: z32.string(),
|
|
3526
3655
|
p: length25.optional().default("5.0mm"),
|
|
3527
3656
|
id: length25.optional().default("1.0mm"),
|
|
3528
3657
|
od: length25.optional().default("1.9mm"),
|
|
3529
3658
|
w: length25.optional().default("13mm"),
|
|
3530
3659
|
h: length25.optional().default("7mm"),
|
|
3531
|
-
num_pins:
|
|
3532
|
-
string:
|
|
3660
|
+
num_pins: z32.number().optional(),
|
|
3661
|
+
string: z32.string().optional()
|
|
3533
3662
|
});
|
|
3534
3663
|
var to220 = (raw_params) => {
|
|
3535
3664
|
const parameters = to220_def.parse(raw_params);
|
|
@@ -3609,16 +3738,16 @@ var to220 = (raw_params) => {
|
|
|
3609
3738
|
};
|
|
3610
3739
|
|
|
3611
3740
|
// src/fn/minimelf.ts
|
|
3612
|
-
import { z as
|
|
3741
|
+
import { z as z33 } from "zod";
|
|
3613
3742
|
import { length as length26 } from "circuit-json";
|
|
3614
|
-
var minimelf_def =
|
|
3615
|
-
fn:
|
|
3616
|
-
num_pins:
|
|
3617
|
-
w:
|
|
3618
|
-
h:
|
|
3619
|
-
pl:
|
|
3620
|
-
pw:
|
|
3621
|
-
p:
|
|
3743
|
+
var minimelf_def = z33.object({
|
|
3744
|
+
fn: z33.string(),
|
|
3745
|
+
num_pins: z33.literal(2).default(2),
|
|
3746
|
+
w: z33.string().default("5.40mm"),
|
|
3747
|
+
h: z33.string().default("2.30mm"),
|
|
3748
|
+
pl: z33.string().default("1.30mm"),
|
|
3749
|
+
pw: z33.string().default("1.70mm"),
|
|
3750
|
+
p: z33.string().default("3.5mm")
|
|
3622
3751
|
});
|
|
3623
3752
|
var minimelf = (raw_params) => {
|
|
3624
3753
|
const parameters = minimelf_def.parse(raw_params);
|
|
@@ -3685,16 +3814,16 @@ var miniMelfWithoutParsing = (parameters) => {
|
|
|
3685
3814
|
};
|
|
3686
3815
|
|
|
3687
3816
|
// src/fn/sod882d.ts
|
|
3688
|
-
import { z as
|
|
3817
|
+
import { z as z34 } from "zod";
|
|
3689
3818
|
import { length as length27 } from "circuit-json";
|
|
3690
|
-
var sod_def11 =
|
|
3691
|
-
fn:
|
|
3692
|
-
num_pins:
|
|
3693
|
-
w:
|
|
3694
|
-
h:
|
|
3695
|
-
pl:
|
|
3696
|
-
pw:
|
|
3697
|
-
p:
|
|
3819
|
+
var sod_def11 = z34.object({
|
|
3820
|
+
fn: z34.string(),
|
|
3821
|
+
num_pins: z34.literal(2).default(2),
|
|
3822
|
+
w: z34.string().default("1.90mm"),
|
|
3823
|
+
h: z34.string().default("1.33mm"),
|
|
3824
|
+
pl: z34.string().default("0.5mm"),
|
|
3825
|
+
pw: z34.string().default("0.7mm"),
|
|
3826
|
+
p: z34.string().default("0.8mm")
|
|
3698
3827
|
});
|
|
3699
3828
|
var sod882d = (raw_params) => {
|
|
3700
3829
|
const parameters = sod_def11.parse(raw_params);
|
|
@@ -3765,16 +3894,16 @@ var sodWithoutParsing11 = (parameters) => {
|
|
|
3765
3894
|
};
|
|
3766
3895
|
|
|
3767
3896
|
// src/fn/melf.ts
|
|
3768
|
-
import { z as
|
|
3897
|
+
import { z as z35 } from "zod";
|
|
3769
3898
|
import { length as length28 } from "circuit-json";
|
|
3770
|
-
var melf_def =
|
|
3771
|
-
fn:
|
|
3772
|
-
num_pins:
|
|
3773
|
-
w:
|
|
3774
|
-
h:
|
|
3775
|
-
pl:
|
|
3776
|
-
pw:
|
|
3777
|
-
p:
|
|
3899
|
+
var melf_def = z35.object({
|
|
3900
|
+
fn: z35.string(),
|
|
3901
|
+
num_pins: z35.literal(2).default(2),
|
|
3902
|
+
w: z35.string().default("7.0mm"),
|
|
3903
|
+
h: z35.string().default("3.35mm"),
|
|
3904
|
+
pl: z35.string().default("1.50mm"),
|
|
3905
|
+
pw: z35.string().default("2.70mm"),
|
|
3906
|
+
p: z35.string().default("4.8mm")
|
|
3778
3907
|
});
|
|
3779
3908
|
var melf = (raw_params) => {
|
|
3780
3909
|
const parameters = melf_def.parse(raw_params);
|
|
@@ -3845,16 +3974,16 @@ var melfWithoutParsing = (parameters) => {
|
|
|
3845
3974
|
};
|
|
3846
3975
|
|
|
3847
3976
|
// src/fn/micromelf.ts
|
|
3848
|
-
import { z as
|
|
3977
|
+
import { z as z36 } from "zod";
|
|
3849
3978
|
import { length as length29 } from "circuit-json";
|
|
3850
|
-
var micromelf_def =
|
|
3851
|
-
fn:
|
|
3852
|
-
num_pins:
|
|
3853
|
-
w:
|
|
3854
|
-
h:
|
|
3855
|
-
pl:
|
|
3856
|
-
pw:
|
|
3857
|
-
p:
|
|
3979
|
+
var micromelf_def = z36.object({
|
|
3980
|
+
fn: z36.string(),
|
|
3981
|
+
num_pins: z36.literal(2).default(2),
|
|
3982
|
+
w: z36.string().default("3.0mm"),
|
|
3983
|
+
h: z36.string().default("1.80mm"),
|
|
3984
|
+
pl: z36.string().default("0.80mm"),
|
|
3985
|
+
pw: z36.string().default("1.20mm"),
|
|
3986
|
+
p: z36.string().default("1.6mm")
|
|
3858
3987
|
});
|
|
3859
3988
|
var micromelf = (raw_params) => {
|
|
3860
3989
|
const parameters = micromelf_def.parse(raw_params);
|
|
@@ -3925,16 +4054,16 @@ var microMelfWithoutParsing = (parameters) => {
|
|
|
3925
4054
|
};
|
|
3926
4055
|
|
|
3927
4056
|
// src/fn/sma.ts
|
|
3928
|
-
import { z as
|
|
4057
|
+
import { z as z37 } from "zod";
|
|
3929
4058
|
import { length as length30 } from "circuit-json";
|
|
3930
|
-
var sma_def =
|
|
3931
|
-
fn:
|
|
3932
|
-
num_pins:
|
|
3933
|
-
w:
|
|
3934
|
-
h:
|
|
3935
|
-
pl:
|
|
3936
|
-
pw:
|
|
3937
|
-
p:
|
|
4059
|
+
var sma_def = z37.object({
|
|
4060
|
+
fn: z37.string(),
|
|
4061
|
+
num_pins: z37.literal(2).default(2),
|
|
4062
|
+
w: z37.string().default("7.10mm"),
|
|
4063
|
+
h: z37.string().default("3.40mm"),
|
|
4064
|
+
pl: z37.string().default("2.45mm"),
|
|
4065
|
+
pw: z37.string().default("1.80mm"),
|
|
4066
|
+
p: z37.string().default("4.05mm")
|
|
3938
4067
|
});
|
|
3939
4068
|
var sma = (raw_params) => {
|
|
3940
4069
|
const parameters = sma_def.parse(raw_params);
|
|
@@ -4004,16 +4133,16 @@ var smaWithoutParsing = (parameters) => {
|
|
|
4004
4133
|
};
|
|
4005
4134
|
|
|
4006
4135
|
// src/fn/smf.ts
|
|
4007
|
-
import { z as
|
|
4136
|
+
import { z as z38 } from "zod";
|
|
4008
4137
|
import { length as length31 } from "circuit-json";
|
|
4009
|
-
var smf_def =
|
|
4010
|
-
fn:
|
|
4011
|
-
num_pins:
|
|
4012
|
-
w:
|
|
4013
|
-
h:
|
|
4014
|
-
pl:
|
|
4015
|
-
pw:
|
|
4016
|
-
p:
|
|
4138
|
+
var smf_def = z38.object({
|
|
4139
|
+
fn: z38.string(),
|
|
4140
|
+
num_pins: z38.literal(2).default(2),
|
|
4141
|
+
w: z38.string().default("4.80mm"),
|
|
4142
|
+
h: z38.string().default("2.10mm"),
|
|
4143
|
+
pl: z38.string().default("1.30mm"),
|
|
4144
|
+
pw: z38.string().default("1.40mm"),
|
|
4145
|
+
p: z38.string().default("2.9mm")
|
|
4017
4146
|
});
|
|
4018
4147
|
var smf = (raw_params) => {
|
|
4019
4148
|
const parameters = smf_def.parse(raw_params);
|
|
@@ -4084,16 +4213,16 @@ var smfWithoutParsing = (parameters) => {
|
|
|
4084
4213
|
};
|
|
4085
4214
|
|
|
4086
4215
|
// src/fn/smb.ts
|
|
4087
|
-
import { z as
|
|
4216
|
+
import { z as z39 } from "zod";
|
|
4088
4217
|
import { length as length32 } from "circuit-json";
|
|
4089
|
-
var smb_def =
|
|
4090
|
-
fn:
|
|
4091
|
-
num_pins:
|
|
4092
|
-
w:
|
|
4093
|
-
h:
|
|
4094
|
-
pl:
|
|
4095
|
-
pw:
|
|
4096
|
-
p:
|
|
4218
|
+
var smb_def = z39.object({
|
|
4219
|
+
fn: z39.string(),
|
|
4220
|
+
num_pins: z39.literal(2).default(2),
|
|
4221
|
+
w: z39.string().default("7.30mm"),
|
|
4222
|
+
h: z39.string().default("4.40mm"),
|
|
4223
|
+
pl: z39.string().default("2.50mm"),
|
|
4224
|
+
pw: z39.string().default("2.30mm"),
|
|
4225
|
+
p: z39.string().default("4.30mm")
|
|
4097
4226
|
});
|
|
4098
4227
|
var smb = (raw_params) => {
|
|
4099
4228
|
const parameters = smb_def.parse(raw_params);
|
|
@@ -4164,16 +4293,16 @@ var smbWithoutParsing = (parameters) => {
|
|
|
4164
4293
|
};
|
|
4165
4294
|
|
|
4166
4295
|
// src/fn/vssop8.ts
|
|
4167
|
-
import { z as
|
|
4296
|
+
import { z as z40 } from "zod";
|
|
4168
4297
|
import { length as length33 } from "circuit-json";
|
|
4169
|
-
var vssop8_def =
|
|
4170
|
-
fn:
|
|
4171
|
-
num_pins:
|
|
4172
|
-
w:
|
|
4173
|
-
h:
|
|
4174
|
-
p:
|
|
4175
|
-
pl:
|
|
4176
|
-
pw:
|
|
4298
|
+
var vssop8_def = z40.object({
|
|
4299
|
+
fn: z40.string(),
|
|
4300
|
+
num_pins: z40.literal(8).default(8),
|
|
4301
|
+
w: z40.string().default("3.06mm"),
|
|
4302
|
+
h: z40.string().default("3.14mm"),
|
|
4303
|
+
p: z40.string().default("0.65mm"),
|
|
4304
|
+
pl: z40.string().default("1.6mm"),
|
|
4305
|
+
pw: z40.string().default("0.5mm")
|
|
4177
4306
|
});
|
|
4178
4307
|
var vssop8 = (raw_params) => {
|
|
4179
4308
|
const parameters = vssop8_def.parse(raw_params);
|
|
@@ -4265,16 +4394,16 @@ var getVssop8Pads = (parameters, pad_spacing) => {
|
|
|
4265
4394
|
};
|
|
4266
4395
|
|
|
4267
4396
|
// src/fn/smc.ts
|
|
4268
|
-
import { z as
|
|
4397
|
+
import { z as z41 } from "zod";
|
|
4269
4398
|
import { length as length34 } from "circuit-json";
|
|
4270
|
-
var smc_def =
|
|
4271
|
-
fn:
|
|
4272
|
-
num_pins:
|
|
4273
|
-
w:
|
|
4274
|
-
h:
|
|
4275
|
-
pl:
|
|
4276
|
-
pw:
|
|
4277
|
-
p:
|
|
4399
|
+
var smc_def = z41.object({
|
|
4400
|
+
fn: z41.string(),
|
|
4401
|
+
num_pins: z41.literal(2).default(2),
|
|
4402
|
+
w: z41.string().default("10.70mm"),
|
|
4403
|
+
h: z41.string().default("6.60mm"),
|
|
4404
|
+
pl: z41.string().default("3.30mm"),
|
|
4405
|
+
pw: z41.string().default("2.50mm"),
|
|
4406
|
+
p: z41.string().default("6.80mm")
|
|
4278
4407
|
});
|
|
4279
4408
|
var smc = (raw_params) => {
|
|
4280
4409
|
const parameters = smc_def.parse(raw_params);
|
|
@@ -4340,16 +4469,16 @@ var smcWithoutParsing = (parameters) => {
|
|
|
4340
4469
|
};
|
|
4341
4470
|
|
|
4342
4471
|
// src/fn/sot223.ts
|
|
4343
|
-
import { z as
|
|
4344
|
-
var sot223_def =
|
|
4345
|
-
fn:
|
|
4346
|
-
num_pins:
|
|
4347
|
-
w:
|
|
4348
|
-
h:
|
|
4349
|
-
pl:
|
|
4350
|
-
pw:
|
|
4351
|
-
p:
|
|
4352
|
-
string:
|
|
4472
|
+
import { z as z42 } from "zod";
|
|
4473
|
+
var sot223_def = z42.object({
|
|
4474
|
+
fn: z42.string(),
|
|
4475
|
+
num_pins: z42.number().default(4),
|
|
4476
|
+
w: z42.string().default("8.50mm"),
|
|
4477
|
+
h: z42.string().default("6.90mm"),
|
|
4478
|
+
pl: z42.string().default("2mm"),
|
|
4479
|
+
pw: z42.string().default("1.5mm"),
|
|
4480
|
+
p: z42.string().default("2.30mm"),
|
|
4481
|
+
string: z42.string().optional()
|
|
4353
4482
|
});
|
|
4354
4483
|
var sot223 = (raw_params) => {
|
|
4355
4484
|
const match = raw_params.string?.match(/^sot223_(\d+)/);
|
|
@@ -4594,6 +4723,85 @@ var sot223_6 = (parameters) => {
|
|
|
4594
4723
|
return [...pads, silkscreenPath1, silkscreenPath2, silkscreenRefText];
|
|
4595
4724
|
};
|
|
4596
4725
|
|
|
4726
|
+
// src/fn/sod110.ts
|
|
4727
|
+
import { z as z43 } from "zod";
|
|
4728
|
+
import { length as length35 } from "circuit-json";
|
|
4729
|
+
var sod_def12 = z43.object({
|
|
4730
|
+
fn: z43.string(),
|
|
4731
|
+
num_pins: z43.literal(2).default(2),
|
|
4732
|
+
w: z43.string().default("3.30mm"),
|
|
4733
|
+
h: z43.string().default("1.70mm"),
|
|
4734
|
+
pl: z43.string().default("0.80mm"),
|
|
4735
|
+
pw: z43.string().default("1mm"),
|
|
4736
|
+
p: z43.string().default("1.90mm")
|
|
4737
|
+
});
|
|
4738
|
+
var sod110 = (raw_params) => {
|
|
4739
|
+
const parameters = sod_def12.parse(raw_params);
|
|
4740
|
+
const silkscreenRefText = silkscreenRef(
|
|
4741
|
+
0,
|
|
4742
|
+
length35.parse(parameters.h) / 2 + 0.5,
|
|
4743
|
+
0.3
|
|
4744
|
+
);
|
|
4745
|
+
const silkscreenLine = {
|
|
4746
|
+
type: "pcb_silkscreen_path",
|
|
4747
|
+
layer: "top",
|
|
4748
|
+
pcb_component_id: "",
|
|
4749
|
+
route: [
|
|
4750
|
+
{
|
|
4751
|
+
x: length35.parse(parameters.p) / 2,
|
|
4752
|
+
y: length35.parse(parameters.h) / 2
|
|
4753
|
+
},
|
|
4754
|
+
{
|
|
4755
|
+
x: -length35.parse(parameters.w) / 2,
|
|
4756
|
+
y: length35.parse(parameters.h) / 2
|
|
4757
|
+
},
|
|
4758
|
+
{
|
|
4759
|
+
x: -length35.parse(parameters.w) / 2,
|
|
4760
|
+
y: -length35.parse(parameters.h) / 2
|
|
4761
|
+
},
|
|
4762
|
+
{
|
|
4763
|
+
x: length35.parse(parameters.p) / 2,
|
|
4764
|
+
y: -length35.parse(parameters.h) / 2
|
|
4765
|
+
}
|
|
4766
|
+
],
|
|
4767
|
+
stroke_width: 0.1,
|
|
4768
|
+
pcb_silkscreen_path_id: ""
|
|
4769
|
+
};
|
|
4770
|
+
return {
|
|
4771
|
+
circuitJson: sodWithoutParsing12(parameters).concat(
|
|
4772
|
+
silkscreenLine,
|
|
4773
|
+
silkscreenRefText
|
|
4774
|
+
),
|
|
4775
|
+
parameters
|
|
4776
|
+
};
|
|
4777
|
+
};
|
|
4778
|
+
var getSodCoords12 = (parameters) => {
|
|
4779
|
+
const { pn, p } = parameters;
|
|
4780
|
+
if (pn === 1) {
|
|
4781
|
+
return { x: -p / 2, y: 0 };
|
|
4782
|
+
}
|
|
4783
|
+
return { x: p / 2, y: 0 };
|
|
4784
|
+
};
|
|
4785
|
+
var sodWithoutParsing12 = (parameters) => {
|
|
4786
|
+
const pads = [];
|
|
4787
|
+
for (let i = 1; i <= parameters.num_pins; i++) {
|
|
4788
|
+
const { x, y } = getSodCoords12({
|
|
4789
|
+
pn: i,
|
|
4790
|
+
p: Number.parseFloat(parameters.p)
|
|
4791
|
+
});
|
|
4792
|
+
pads.push(
|
|
4793
|
+
rectpad(
|
|
4794
|
+
i,
|
|
4795
|
+
x,
|
|
4796
|
+
y,
|
|
4797
|
+
Number.parseFloat(parameters.pl),
|
|
4798
|
+
Number.parseFloat(parameters.pw)
|
|
4799
|
+
)
|
|
4800
|
+
);
|
|
4801
|
+
}
|
|
4802
|
+
return pads;
|
|
4803
|
+
};
|
|
4804
|
+
|
|
4597
4805
|
// src/helpers/is-not-null.ts
|
|
4598
4806
|
function isNotNull(value) {
|
|
4599
4807
|
return value !== null;
|