@tscircuit/footprinter 0.0.110 → 0.0.112
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.js +202 -40
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ __export(fn_exports, {
|
|
|
17
17
|
hc49: () => hc49,
|
|
18
18
|
led: () => led,
|
|
19
19
|
lqfp: () => lqfp,
|
|
20
|
+
micromelf: () => micromelf,
|
|
20
21
|
mlp: () => mlp,
|
|
21
22
|
ms012: () => ms012,
|
|
22
23
|
ms013: () => ms013,
|
|
@@ -33,6 +34,7 @@ __export(fn_exports, {
|
|
|
33
34
|
sod323f: () => sod323f,
|
|
34
35
|
sod523: () => sod523,
|
|
35
36
|
sod723: () => sod723,
|
|
37
|
+
sod882: () => sod882,
|
|
36
38
|
soic: () => soic,
|
|
37
39
|
sop8: () => sop8,
|
|
38
40
|
sot23: () => sot23,
|
|
@@ -2749,23 +2751,23 @@ var sodWithoutParsing2 = (parameters) => {
|
|
|
2749
2751
|
return pads;
|
|
2750
2752
|
};
|
|
2751
2753
|
|
|
2752
|
-
// src/fn/
|
|
2754
|
+
// src/fn/sod882.ts
|
|
2753
2755
|
import { z as z24 } from "zod";
|
|
2754
2756
|
import { length as length18 } from "circuit-json";
|
|
2755
2757
|
var sod_def3 = z24.object({
|
|
2756
2758
|
fn: z24.string(),
|
|
2757
2759
|
num_pins: z24.literal(2).default(2),
|
|
2758
|
-
w: z24.string().default("
|
|
2759
|
-
h: z24.string().default("
|
|
2760
|
-
pl: z24.string().default("0.
|
|
2761
|
-
pw: z24.string().default("0.
|
|
2762
|
-
pad_spacing: z24.string().default("
|
|
2760
|
+
w: z24.string().default("1.3mm"),
|
|
2761
|
+
h: z24.string().default("0.9mm"),
|
|
2762
|
+
pl: z24.string().default("0.4mm"),
|
|
2763
|
+
pw: z24.string().default("0.7mm"),
|
|
2764
|
+
pad_spacing: z24.string().default("0.7mm")
|
|
2763
2765
|
});
|
|
2764
|
-
var
|
|
2766
|
+
var sod882 = (raw_params) => {
|
|
2765
2767
|
const parameters = sod_def3.parse(raw_params);
|
|
2766
2768
|
const silkscreenRefText = silkscreenRef(
|
|
2767
2769
|
0,
|
|
2768
|
-
length18.parse(parameters.h),
|
|
2770
|
+
length18.parse(parameters.h) + 0.1,
|
|
2769
2771
|
0.3
|
|
2770
2772
|
);
|
|
2771
2773
|
const silkscreenLine = {
|
|
@@ -2774,20 +2776,20 @@ var sod323f = (raw_params) => {
|
|
|
2774
2776
|
pcb_component_id: "",
|
|
2775
2777
|
route: [
|
|
2776
2778
|
{
|
|
2777
|
-
x: length18.parse(parameters.pad_spacing) / 2,
|
|
2778
|
-
y: length18.parse(parameters.h) / 2
|
|
2779
|
+
x: length18.parse(parameters.pad_spacing) / 2 + 0.2,
|
|
2780
|
+
y: length18.parse(parameters.h) / 2 + 0.2
|
|
2779
2781
|
},
|
|
2780
2782
|
{
|
|
2781
2783
|
x: -length18.parse(parameters.w) / 2 - 0.2,
|
|
2782
|
-
y: length18.parse(parameters.h) / 2
|
|
2784
|
+
y: length18.parse(parameters.h) / 2 + 0.2
|
|
2783
2785
|
},
|
|
2784
2786
|
{
|
|
2785
2787
|
x: -length18.parse(parameters.w) / 2 - 0.2,
|
|
2786
|
-
y: -length18.parse(parameters.h) / 2
|
|
2788
|
+
y: -length18.parse(parameters.h) / 2 - 0.2
|
|
2787
2789
|
},
|
|
2788
2790
|
{
|
|
2789
|
-
x: length18.parse(parameters.pad_spacing) / 2,
|
|
2790
|
-
y: -length18.parse(parameters.h) / 2
|
|
2791
|
+
x: length18.parse(parameters.pad_spacing) / 2 + 0.2,
|
|
2792
|
+
y: -length18.parse(parameters.h) / 2 - 0.2
|
|
2791
2793
|
}
|
|
2792
2794
|
],
|
|
2793
2795
|
stroke_width: 0.1,
|
|
@@ -2829,19 +2831,19 @@ var sodWithoutParsing3 = (parameters) => {
|
|
|
2829
2831
|
return pads;
|
|
2830
2832
|
};
|
|
2831
2833
|
|
|
2832
|
-
// src/fn/
|
|
2834
|
+
// src/fn/sod323f.ts
|
|
2833
2835
|
import { z as z25 } from "zod";
|
|
2834
2836
|
import { length as length19 } from "circuit-json";
|
|
2835
2837
|
var sod_def4 = z25.object({
|
|
2836
2838
|
fn: z25.string(),
|
|
2837
2839
|
num_pins: z25.literal(2).default(2),
|
|
2838
|
-
w: z25.string().default("
|
|
2839
|
-
h: z25.string().default("
|
|
2840
|
-
pl: z25.string().default("
|
|
2841
|
-
pw: z25.string().default("
|
|
2842
|
-
pad_spacing: z25.string().default("2.
|
|
2840
|
+
w: z25.string().default("3,05mm"),
|
|
2841
|
+
h: z25.string().default("1.65mm"),
|
|
2842
|
+
pl: z25.string().default("0.6mm"),
|
|
2843
|
+
pw: z25.string().default("0.6mm"),
|
|
2844
|
+
pad_spacing: z25.string().default("2.2mm")
|
|
2843
2845
|
});
|
|
2844
|
-
var
|
|
2846
|
+
var sod323f = (raw_params) => {
|
|
2845
2847
|
const parameters = sod_def4.parse(raw_params);
|
|
2846
2848
|
const silkscreenRefText = silkscreenRef(
|
|
2847
2849
|
0,
|
|
@@ -2909,19 +2911,19 @@ var sodWithoutParsing4 = (parameters) => {
|
|
|
2909
2911
|
return pads;
|
|
2910
2912
|
};
|
|
2911
2913
|
|
|
2912
|
-
// src/fn/
|
|
2914
|
+
// src/fn/sod123f.ts
|
|
2913
2915
|
import { z as z26 } from "zod";
|
|
2914
2916
|
import { length as length20 } from "circuit-json";
|
|
2915
2917
|
var sod_def5 = z26.object({
|
|
2916
2918
|
fn: z26.string(),
|
|
2917
2919
|
num_pins: z26.literal(2).default(2),
|
|
2918
|
-
w: z26.string().default("
|
|
2919
|
-
h: z26.string().default("
|
|
2920
|
-
pl: z26.string().default("
|
|
2921
|
-
pw: z26.string().default("
|
|
2922
|
-
pad_spacing: z26.string().default("
|
|
2920
|
+
w: z26.string().default("4.4mm"),
|
|
2921
|
+
h: z26.string().default("2.1mm"),
|
|
2922
|
+
pl: z26.string().default("1.2mm"),
|
|
2923
|
+
pw: z26.string().default("1.2mm"),
|
|
2924
|
+
pad_spacing: z26.string().default("2.9mm")
|
|
2923
2925
|
});
|
|
2924
|
-
var
|
|
2926
|
+
var sod123f = (raw_params) => {
|
|
2925
2927
|
const parameters = sod_def5.parse(raw_params);
|
|
2926
2928
|
const silkscreenRefText = silkscreenRef(
|
|
2927
2929
|
0,
|
|
@@ -2938,11 +2940,11 @@ var sod723 = (raw_params) => {
|
|
|
2938
2940
|
y: length20.parse(parameters.h) / 2
|
|
2939
2941
|
},
|
|
2940
2942
|
{
|
|
2941
|
-
x: -length20.parse(parameters.w) / 2 - 0.
|
|
2943
|
+
x: -length20.parse(parameters.w) / 2 - 0.2,
|
|
2942
2944
|
y: length20.parse(parameters.h) / 2
|
|
2943
2945
|
},
|
|
2944
2946
|
{
|
|
2945
|
-
x: -length20.parse(parameters.w) / 2 - 0.
|
|
2947
|
+
x: -length20.parse(parameters.w) / 2 - 0.2,
|
|
2946
2948
|
y: -length20.parse(parameters.h) / 2
|
|
2947
2949
|
},
|
|
2948
2950
|
{
|
|
@@ -2989,23 +2991,23 @@ var sodWithoutParsing5 = (parameters) => {
|
|
|
2989
2991
|
return pads;
|
|
2990
2992
|
};
|
|
2991
2993
|
|
|
2992
|
-
// src/fn/
|
|
2994
|
+
// src/fn/sod723.ts
|
|
2993
2995
|
import { z as z27 } from "zod";
|
|
2994
2996
|
import { length as length21 } from "circuit-json";
|
|
2995
2997
|
var sod_def6 = z27.object({
|
|
2996
2998
|
fn: z27.string(),
|
|
2997
2999
|
num_pins: z27.literal(2).default(2),
|
|
2998
|
-
w: z27.string().default("
|
|
2999
|
-
h: z27.string().default("
|
|
3000
|
-
pl: z27.string().default("
|
|
3001
|
-
pw: z27.string().default("
|
|
3002
|
-
pad_spacing: z27.string().default("
|
|
3000
|
+
w: z27.string().default("1.80mm"),
|
|
3001
|
+
h: z27.string().default("1.00mm"),
|
|
3002
|
+
pl: z27.string().default("0.66mm"),
|
|
3003
|
+
pw: z27.string().default("0.5mm"),
|
|
3004
|
+
pad_spacing: z27.string().default("0.8mm")
|
|
3003
3005
|
});
|
|
3004
|
-
var
|
|
3006
|
+
var sod723 = (raw_params) => {
|
|
3005
3007
|
const parameters = sod_def6.parse(raw_params);
|
|
3006
3008
|
const silkscreenRefText = silkscreenRef(
|
|
3007
3009
|
0,
|
|
3008
|
-
length21.parse(parameters.h)
|
|
3010
|
+
length21.parse(parameters.h),
|
|
3009
3011
|
0.3
|
|
3010
3012
|
);
|
|
3011
3013
|
const silkscreenLine = {
|
|
@@ -3018,11 +3020,11 @@ var sod128 = (raw_params) => {
|
|
|
3018
3020
|
y: length21.parse(parameters.h) / 2
|
|
3019
3021
|
},
|
|
3020
3022
|
{
|
|
3021
|
-
x: -length21.parse(parameters.w) / 2 - 0.
|
|
3023
|
+
x: -length21.parse(parameters.w) / 2 - 0.1,
|
|
3022
3024
|
y: length21.parse(parameters.h) / 2
|
|
3023
3025
|
},
|
|
3024
3026
|
{
|
|
3025
|
-
x: -length21.parse(parameters.w) / 2 - 0.
|
|
3027
|
+
x: -length21.parse(parameters.w) / 2 - 0.1,
|
|
3026
3028
|
y: -length21.parse(parameters.h) / 2
|
|
3027
3029
|
},
|
|
3028
3030
|
{
|
|
@@ -3069,6 +3071,166 @@ var sodWithoutParsing6 = (parameters) => {
|
|
|
3069
3071
|
return pads;
|
|
3070
3072
|
};
|
|
3071
3073
|
|
|
3074
|
+
// src/fn/sod128.ts
|
|
3075
|
+
import { z as z28 } from "zod";
|
|
3076
|
+
import { length as length22 } from "circuit-json";
|
|
3077
|
+
var sod_def7 = z28.object({
|
|
3078
|
+
fn: z28.string(),
|
|
3079
|
+
num_pins: z28.literal(2).default(2),
|
|
3080
|
+
w: z28.string().default("6.2mm"),
|
|
3081
|
+
h: z28.string().default("3.4mm"),
|
|
3082
|
+
pl: z28.string().default("1.4mm"),
|
|
3083
|
+
pw: z28.string().default("2.1mm"),
|
|
3084
|
+
pad_spacing: z28.string().default("4.4mm")
|
|
3085
|
+
});
|
|
3086
|
+
var sod128 = (raw_params) => {
|
|
3087
|
+
const parameters = sod_def7.parse(raw_params);
|
|
3088
|
+
const silkscreenRefText = silkscreenRef(
|
|
3089
|
+
0,
|
|
3090
|
+
length22.parse(parameters.h) / 2 + 0.4,
|
|
3091
|
+
0.3
|
|
3092
|
+
);
|
|
3093
|
+
const silkscreenLine = {
|
|
3094
|
+
type: "pcb_silkscreen_path",
|
|
3095
|
+
layer: "top",
|
|
3096
|
+
pcb_component_id: "",
|
|
3097
|
+
route: [
|
|
3098
|
+
{
|
|
3099
|
+
x: length22.parse(parameters.pad_spacing) / 2,
|
|
3100
|
+
y: length22.parse(parameters.h) / 2
|
|
3101
|
+
},
|
|
3102
|
+
{
|
|
3103
|
+
x: -length22.parse(parameters.w) / 2 - 0.2,
|
|
3104
|
+
y: length22.parse(parameters.h) / 2
|
|
3105
|
+
},
|
|
3106
|
+
{
|
|
3107
|
+
x: -length22.parse(parameters.w) / 2 - 0.2,
|
|
3108
|
+
y: -length22.parse(parameters.h) / 2
|
|
3109
|
+
},
|
|
3110
|
+
{
|
|
3111
|
+
x: length22.parse(parameters.pad_spacing) / 2,
|
|
3112
|
+
y: -length22.parse(parameters.h) / 2
|
|
3113
|
+
}
|
|
3114
|
+
],
|
|
3115
|
+
stroke_width: 0.1,
|
|
3116
|
+
pcb_silkscreen_path_id: ""
|
|
3117
|
+
};
|
|
3118
|
+
return {
|
|
3119
|
+
circuitJson: sodWithoutParsing7(parameters).concat(
|
|
3120
|
+
silkscreenLine,
|
|
3121
|
+
silkscreenRefText
|
|
3122
|
+
),
|
|
3123
|
+
parameters
|
|
3124
|
+
};
|
|
3125
|
+
};
|
|
3126
|
+
var getSodCoords7 = (parameters) => {
|
|
3127
|
+
const { pn, pad_spacing } = parameters;
|
|
3128
|
+
if (pn === 1) {
|
|
3129
|
+
return { x: -pad_spacing / 2, y: 0 };
|
|
3130
|
+
} else {
|
|
3131
|
+
return { x: pad_spacing / 2, y: 0 };
|
|
3132
|
+
}
|
|
3133
|
+
};
|
|
3134
|
+
var sodWithoutParsing7 = (parameters) => {
|
|
3135
|
+
const pads = [];
|
|
3136
|
+
for (let i = 1; i <= parameters.num_pins; i++) {
|
|
3137
|
+
const { x, y } = getSodCoords7({
|
|
3138
|
+
pn: i,
|
|
3139
|
+
pad_spacing: Number.parseFloat(parameters.pad_spacing)
|
|
3140
|
+
});
|
|
3141
|
+
pads.push(
|
|
3142
|
+
rectpad(
|
|
3143
|
+
i,
|
|
3144
|
+
x,
|
|
3145
|
+
y,
|
|
3146
|
+
Number.parseFloat(parameters.pl),
|
|
3147
|
+
Number.parseFloat(parameters.pw)
|
|
3148
|
+
)
|
|
3149
|
+
);
|
|
3150
|
+
}
|
|
3151
|
+
return pads;
|
|
3152
|
+
};
|
|
3153
|
+
|
|
3154
|
+
// src/fn/micromelf.ts
|
|
3155
|
+
import { z as z29 } from "zod";
|
|
3156
|
+
import { length as length23 } from "circuit-json";
|
|
3157
|
+
var micromelf_def = z29.object({
|
|
3158
|
+
fn: z29.string(),
|
|
3159
|
+
num_pins: z29.literal(2).default(2),
|
|
3160
|
+
w: z29.string().default("3.0mm"),
|
|
3161
|
+
h: z29.string().default("1.80mm"),
|
|
3162
|
+
pl: z29.string().default("0.80mm"),
|
|
3163
|
+
pw: z29.string().default("1.20mm"),
|
|
3164
|
+
pad_spacing: z29.string().default("1.6mm")
|
|
3165
|
+
});
|
|
3166
|
+
var micromelf = (raw_params) => {
|
|
3167
|
+
const parameters = micromelf_def.parse(raw_params);
|
|
3168
|
+
const silkscreenRefText = silkscreenRef(
|
|
3169
|
+
0,
|
|
3170
|
+
length23.parse(parameters.h),
|
|
3171
|
+
0.3
|
|
3172
|
+
);
|
|
3173
|
+
const silkscreenLine = {
|
|
3174
|
+
type: "pcb_silkscreen_path",
|
|
3175
|
+
layer: "top",
|
|
3176
|
+
pcb_component_id: "",
|
|
3177
|
+
route: [
|
|
3178
|
+
{
|
|
3179
|
+
x: length23.parse(parameters.pad_spacing) / 2,
|
|
3180
|
+
y: length23.parse(parameters.h) / 2
|
|
3181
|
+
},
|
|
3182
|
+
{
|
|
3183
|
+
x: -length23.parse(parameters.w) / 2 - 0.1,
|
|
3184
|
+
y: length23.parse(parameters.h) / 2
|
|
3185
|
+
},
|
|
3186
|
+
{
|
|
3187
|
+
x: -length23.parse(parameters.w) / 2 - 0.1,
|
|
3188
|
+
y: -length23.parse(parameters.h) / 2
|
|
3189
|
+
},
|
|
3190
|
+
{
|
|
3191
|
+
x: length23.parse(parameters.pad_spacing) / 2,
|
|
3192
|
+
y: -length23.parse(parameters.h) / 2
|
|
3193
|
+
}
|
|
3194
|
+
],
|
|
3195
|
+
stroke_width: 0.1,
|
|
3196
|
+
pcb_silkscreen_path_id: ""
|
|
3197
|
+
};
|
|
3198
|
+
return {
|
|
3199
|
+
circuitJson: microMelfWithoutParsing(parameters).concat(
|
|
3200
|
+
silkscreenLine,
|
|
3201
|
+
silkscreenRefText
|
|
3202
|
+
),
|
|
3203
|
+
parameters
|
|
3204
|
+
};
|
|
3205
|
+
};
|
|
3206
|
+
var getMicroMelfCoords = (parameters) => {
|
|
3207
|
+
const { pn, pad_spacing } = parameters;
|
|
3208
|
+
if (pn === 1) {
|
|
3209
|
+
return { x: -pad_spacing / 2, y: 0 };
|
|
3210
|
+
} else {
|
|
3211
|
+
return { x: pad_spacing / 2, y: 0 };
|
|
3212
|
+
}
|
|
3213
|
+
};
|
|
3214
|
+
var microMelfWithoutParsing = (parameters) => {
|
|
3215
|
+
const pads = [];
|
|
3216
|
+
for (let i = 1; i <= parameters.num_pins; i++) {
|
|
3217
|
+
const { x, y } = getMicroMelfCoords({
|
|
3218
|
+
pn: i,
|
|
3219
|
+
pad_spacing: Number.parseFloat(parameters.pad_spacing)
|
|
3220
|
+
});
|
|
3221
|
+
pads.push(
|
|
3222
|
+
rectpad(
|
|
3223
|
+
i,
|
|
3224
|
+
x,
|
|
3225
|
+
y,
|
|
3226
|
+
Number.parseFloat(parameters.pl),
|
|
3227
|
+
Number.parseFloat(parameters.pw)
|
|
3228
|
+
)
|
|
3229
|
+
);
|
|
3230
|
+
}
|
|
3231
|
+
return pads;
|
|
3232
|
+
};
|
|
3233
|
+
|
|
3072
3234
|
// src/helpers/is-not-null.ts
|
|
3073
3235
|
function isNotNull(value) {
|
|
3074
3236
|
return value !== null;
|