@tscircuit/footprinter 0.0.115 → 0.0.117
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 +127 -50
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1001,6 +1001,7 @@ type Footprinter = {
|
|
|
1001
1001
|
hc49: () => FootprinterParamsBuilder<"p" | "id" | "od" | "w" | "h">;
|
|
1002
1002
|
sot235: () => FootprinterParamsBuilder<"h" | "p" | "pl" | "pw">;
|
|
1003
1003
|
to92: () => FootprinterParamsBuilder<"w" | "h" | "p" | "id" | "od">;
|
|
1004
|
+
minimelf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl">;
|
|
1004
1005
|
lqfp: (num_pins?: number) => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw">;
|
|
1005
1006
|
pushbutton: () => FootprinterParamsBuilder<"tllabel" | "trlabel" | "bllabel" | "brlabel">;
|
|
1006
1007
|
stampboard: () => FootprinterParamsBuilder<"w" | "h" | "left" | "right" | "top" | "bottom" | "p" | "pw" | "pl" | "innerhole" | "innerholeedgedistance">;
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ __export(fn_exports, {
|
|
|
19
19
|
lqfp: () => lqfp,
|
|
20
20
|
melf: () => melf,
|
|
21
21
|
micromelf: () => micromelf,
|
|
22
|
+
minimelf: () => minimelf,
|
|
22
23
|
mlp: () => mlp,
|
|
23
24
|
ms012: () => ms012,
|
|
24
25
|
ms013: () => ms013,
|
|
@@ -3153,23 +3154,23 @@ var sodWithoutParsing7 = (parameters) => {
|
|
|
3153
3154
|
return pads;
|
|
3154
3155
|
};
|
|
3155
3156
|
|
|
3156
|
-
// src/fn/
|
|
3157
|
+
// src/fn/minimelf.ts
|
|
3157
3158
|
import { z as z29 } from "zod";
|
|
3158
3159
|
import { length as length23 } from "circuit-json";
|
|
3159
|
-
var
|
|
3160
|
+
var minimelf_def = z29.object({
|
|
3160
3161
|
fn: z29.string(),
|
|
3161
3162
|
num_pins: z29.literal(2).default(2),
|
|
3162
|
-
w: z29.string().default("
|
|
3163
|
-
h: z29.string().default("
|
|
3164
|
-
pl: z29.string().default("
|
|
3165
|
-
pw: z29.string().default("
|
|
3166
|
-
|
|
3163
|
+
w: z29.string().default("5.40mm"),
|
|
3164
|
+
h: z29.string().default("2.30mm"),
|
|
3165
|
+
pl: z29.string().default("1.30mm"),
|
|
3166
|
+
pw: z29.string().default("1.70mm"),
|
|
3167
|
+
p: z29.string().default("3.5mm")
|
|
3167
3168
|
});
|
|
3168
|
-
var
|
|
3169
|
-
const parameters =
|
|
3169
|
+
var minimelf = (raw_params) => {
|
|
3170
|
+
const parameters = minimelf_def.parse(raw_params);
|
|
3170
3171
|
const silkscreenRefText = silkscreenRef(
|
|
3171
3172
|
0,
|
|
3172
|
-
length23.parse(parameters.h) + 0.
|
|
3173
|
+
length23.parse(parameters.h) / 2 + 0.4,
|
|
3173
3174
|
0.3
|
|
3174
3175
|
);
|
|
3175
3176
|
const silkscreenLine = {
|
|
@@ -3178,7 +3179,7 @@ var sod882d = (raw_params) => {
|
|
|
3178
3179
|
pcb_component_id: "",
|
|
3179
3180
|
route: [
|
|
3180
3181
|
{
|
|
3181
|
-
x: length23.parse(parameters.
|
|
3182
|
+
x: length23.parse(parameters.p) / 2,
|
|
3182
3183
|
y: length23.parse(parameters.h) / 2
|
|
3183
3184
|
},
|
|
3184
3185
|
{
|
|
@@ -3190,7 +3191,7 @@ var sod882d = (raw_params) => {
|
|
|
3190
3191
|
y: -length23.parse(parameters.h) / 2
|
|
3191
3192
|
},
|
|
3192
3193
|
{
|
|
3193
|
-
x: length23.parse(parameters.
|
|
3194
|
+
x: length23.parse(parameters.p) / 2,
|
|
3194
3195
|
y: -length23.parse(parameters.h) / 2
|
|
3195
3196
|
}
|
|
3196
3197
|
],
|
|
@@ -3198,27 +3199,23 @@ var sod882d = (raw_params) => {
|
|
|
3198
3199
|
pcb_silkscreen_path_id: ""
|
|
3199
3200
|
};
|
|
3200
3201
|
return {
|
|
3201
|
-
circuitJson:
|
|
3202
|
+
circuitJson: miniMelfWithoutParsing(parameters).concat(
|
|
3202
3203
|
silkscreenLine,
|
|
3203
3204
|
silkscreenRefText
|
|
3204
3205
|
),
|
|
3205
3206
|
parameters
|
|
3206
3207
|
};
|
|
3207
3208
|
};
|
|
3208
|
-
var
|
|
3209
|
-
const { pn,
|
|
3210
|
-
|
|
3211
|
-
return { x: -pad_spacing / 2, y: 0 };
|
|
3212
|
-
} else {
|
|
3213
|
-
return { x: pad_spacing / 2, y: 0 };
|
|
3214
|
-
}
|
|
3209
|
+
var getMiniMelfCoords = (parameters) => {
|
|
3210
|
+
const { pn, p } = parameters;
|
|
3211
|
+
return pn === 1 ? { x: -p / 2, y: 0 } : { x: p / 2, y: 0 };
|
|
3215
3212
|
};
|
|
3216
|
-
var
|
|
3213
|
+
var miniMelfWithoutParsing = (parameters) => {
|
|
3217
3214
|
const pads = [];
|
|
3218
3215
|
for (let i = 1; i <= parameters.num_pins; i++) {
|
|
3219
|
-
const { x, y } =
|
|
3216
|
+
const { x, y } = getMiniMelfCoords({
|
|
3220
3217
|
pn: i,
|
|
3221
|
-
|
|
3218
|
+
p: Number.parseFloat(parameters.p)
|
|
3222
3219
|
});
|
|
3223
3220
|
pads.push(
|
|
3224
3221
|
rectpad(
|
|
@@ -3233,23 +3230,23 @@ var sodWithoutParsing8 = (parameters) => {
|
|
|
3233
3230
|
return pads;
|
|
3234
3231
|
};
|
|
3235
3232
|
|
|
3236
|
-
// src/fn/
|
|
3233
|
+
// src/fn/sod882d.ts
|
|
3237
3234
|
import { z as z30 } from "zod";
|
|
3238
3235
|
import { length as length24 } from "circuit-json";
|
|
3239
|
-
var
|
|
3236
|
+
var sod_def8 = z30.object({
|
|
3240
3237
|
fn: z30.string(),
|
|
3241
3238
|
num_pins: z30.literal(2).default(2),
|
|
3242
|
-
w: z30.string().default("
|
|
3243
|
-
h: z30.string().default("
|
|
3244
|
-
pl: z30.string().default("
|
|
3245
|
-
pw: z30.string().default("
|
|
3246
|
-
pad_spacing: z30.string().default("
|
|
3239
|
+
w: z30.string().default("1.90mm"),
|
|
3240
|
+
h: z30.string().default("1.33mm"),
|
|
3241
|
+
pl: z30.string().default("0.5mm"),
|
|
3242
|
+
pw: z30.string().default("0.7mm"),
|
|
3243
|
+
pad_spacing: z30.string().default("0.8mm")
|
|
3247
3244
|
});
|
|
3248
|
-
var
|
|
3249
|
-
const parameters =
|
|
3245
|
+
var sod882d = (raw_params) => {
|
|
3246
|
+
const parameters = sod_def8.parse(raw_params);
|
|
3250
3247
|
const silkscreenRefText = silkscreenRef(
|
|
3251
3248
|
0,
|
|
3252
|
-
length24.parse(parameters.h),
|
|
3249
|
+
length24.parse(parameters.h) + 0.1,
|
|
3253
3250
|
0.3
|
|
3254
3251
|
);
|
|
3255
3252
|
const silkscreenLine = {
|
|
@@ -3258,7 +3255,7 @@ var melf = (raw_params) => {
|
|
|
3258
3255
|
pcb_component_id: "",
|
|
3259
3256
|
route: [
|
|
3260
3257
|
{
|
|
3261
|
-
x: length24.parse(parameters.pad_spacing) / 2,
|
|
3258
|
+
x: length24.parse(parameters.pad_spacing) / 2 + 0.1,
|
|
3262
3259
|
y: length24.parse(parameters.h) / 2
|
|
3263
3260
|
},
|
|
3264
3261
|
{
|
|
@@ -3270,7 +3267,7 @@ var melf = (raw_params) => {
|
|
|
3270
3267
|
y: -length24.parse(parameters.h) / 2
|
|
3271
3268
|
},
|
|
3272
3269
|
{
|
|
3273
|
-
x: length24.parse(parameters.pad_spacing) / 2,
|
|
3270
|
+
x: length24.parse(parameters.pad_spacing) / 2 + 0.1,
|
|
3274
3271
|
y: -length24.parse(parameters.h) / 2
|
|
3275
3272
|
}
|
|
3276
3273
|
],
|
|
@@ -3278,14 +3275,14 @@ var melf = (raw_params) => {
|
|
|
3278
3275
|
pcb_silkscreen_path_id: ""
|
|
3279
3276
|
};
|
|
3280
3277
|
return {
|
|
3281
|
-
circuitJson:
|
|
3278
|
+
circuitJson: sodWithoutParsing8(parameters).concat(
|
|
3282
3279
|
silkscreenLine,
|
|
3283
3280
|
silkscreenRefText
|
|
3284
3281
|
),
|
|
3285
3282
|
parameters
|
|
3286
3283
|
};
|
|
3287
3284
|
};
|
|
3288
|
-
var
|
|
3285
|
+
var getSodCoords8 = (parameters) => {
|
|
3289
3286
|
const { pn, pad_spacing } = parameters;
|
|
3290
3287
|
if (pn === 1) {
|
|
3291
3288
|
return { x: -pad_spacing / 2, y: 0 };
|
|
@@ -3293,10 +3290,10 @@ var getMelfCoords = (parameters) => {
|
|
|
3293
3290
|
return { x: pad_spacing / 2, y: 0 };
|
|
3294
3291
|
}
|
|
3295
3292
|
};
|
|
3296
|
-
var
|
|
3293
|
+
var sodWithoutParsing8 = (parameters) => {
|
|
3297
3294
|
const pads = [];
|
|
3298
3295
|
for (let i = 1; i <= parameters.num_pins; i++) {
|
|
3299
|
-
const { x, y } =
|
|
3296
|
+
const { x, y } = getSodCoords8({
|
|
3300
3297
|
pn: i,
|
|
3301
3298
|
pad_spacing: Number.parseFloat(parameters.pad_spacing)
|
|
3302
3299
|
});
|
|
@@ -3313,20 +3310,20 @@ var melfWithoutParsing = (parameters) => {
|
|
|
3313
3310
|
return pads;
|
|
3314
3311
|
};
|
|
3315
3312
|
|
|
3316
|
-
// src/fn/
|
|
3313
|
+
// src/fn/melf.ts
|
|
3317
3314
|
import { z as z31 } from "zod";
|
|
3318
3315
|
import { length as length25 } from "circuit-json";
|
|
3319
|
-
var
|
|
3316
|
+
var melf_def = z31.object({
|
|
3320
3317
|
fn: z31.string(),
|
|
3321
3318
|
num_pins: z31.literal(2).default(2),
|
|
3322
|
-
w: z31.string().default("
|
|
3323
|
-
h: z31.string().default("
|
|
3324
|
-
pl: z31.string().default("
|
|
3325
|
-
pw: z31.string().default("
|
|
3326
|
-
pad_spacing: z31.string().default("
|
|
3319
|
+
w: z31.string().default("7.0mm"),
|
|
3320
|
+
h: z31.string().default("3.35mm"),
|
|
3321
|
+
pl: z31.string().default("1.50mm"),
|
|
3322
|
+
pw: z31.string().default("2.70mm"),
|
|
3323
|
+
pad_spacing: z31.string().default("4.8mm")
|
|
3327
3324
|
});
|
|
3328
|
-
var
|
|
3329
|
-
const parameters =
|
|
3325
|
+
var melf = (raw_params) => {
|
|
3326
|
+
const parameters = melf_def.parse(raw_params);
|
|
3330
3327
|
const silkscreenRefText = silkscreenRef(
|
|
3331
3328
|
0,
|
|
3332
3329
|
length25.parse(parameters.h),
|
|
@@ -3342,11 +3339,11 @@ var micromelf = (raw_params) => {
|
|
|
3342
3339
|
y: length25.parse(parameters.h) / 2
|
|
3343
3340
|
},
|
|
3344
3341
|
{
|
|
3345
|
-
x: -length25.parse(parameters.w) / 2
|
|
3342
|
+
x: -length25.parse(parameters.w) / 2,
|
|
3346
3343
|
y: length25.parse(parameters.h) / 2
|
|
3347
3344
|
},
|
|
3348
3345
|
{
|
|
3349
|
-
x: -length25.parse(parameters.w) / 2
|
|
3346
|
+
x: -length25.parse(parameters.w) / 2,
|
|
3350
3347
|
y: -length25.parse(parameters.h) / 2
|
|
3351
3348
|
},
|
|
3352
3349
|
{
|
|
@@ -3357,6 +3354,86 @@ var micromelf = (raw_params) => {
|
|
|
3357
3354
|
stroke_width: 0.1,
|
|
3358
3355
|
pcb_silkscreen_path_id: ""
|
|
3359
3356
|
};
|
|
3357
|
+
return {
|
|
3358
|
+
circuitJson: melfWithoutParsing(parameters).concat(
|
|
3359
|
+
silkscreenLine,
|
|
3360
|
+
silkscreenRefText
|
|
3361
|
+
),
|
|
3362
|
+
parameters
|
|
3363
|
+
};
|
|
3364
|
+
};
|
|
3365
|
+
var getMelfCoords = (parameters) => {
|
|
3366
|
+
const { pn, pad_spacing } = parameters;
|
|
3367
|
+
if (pn === 1) {
|
|
3368
|
+
return { x: -pad_spacing / 2, y: 0 };
|
|
3369
|
+
} else {
|
|
3370
|
+
return { x: pad_spacing / 2, y: 0 };
|
|
3371
|
+
}
|
|
3372
|
+
};
|
|
3373
|
+
var melfWithoutParsing = (parameters) => {
|
|
3374
|
+
const pads = [];
|
|
3375
|
+
for (let i = 1; i <= parameters.num_pins; i++) {
|
|
3376
|
+
const { x, y } = getMelfCoords({
|
|
3377
|
+
pn: i,
|
|
3378
|
+
pad_spacing: Number.parseFloat(parameters.pad_spacing)
|
|
3379
|
+
});
|
|
3380
|
+
pads.push(
|
|
3381
|
+
rectpad(
|
|
3382
|
+
i,
|
|
3383
|
+
x,
|
|
3384
|
+
y,
|
|
3385
|
+
Number.parseFloat(parameters.pl),
|
|
3386
|
+
Number.parseFloat(parameters.pw)
|
|
3387
|
+
)
|
|
3388
|
+
);
|
|
3389
|
+
}
|
|
3390
|
+
return pads;
|
|
3391
|
+
};
|
|
3392
|
+
|
|
3393
|
+
// src/fn/micromelf.ts
|
|
3394
|
+
import { z as z32 } from "zod";
|
|
3395
|
+
import { length as length26 } from "circuit-json";
|
|
3396
|
+
var micromelf_def = z32.object({
|
|
3397
|
+
fn: z32.string(),
|
|
3398
|
+
num_pins: z32.literal(2).default(2),
|
|
3399
|
+
w: z32.string().default("3.0mm"),
|
|
3400
|
+
h: z32.string().default("1.80mm"),
|
|
3401
|
+
pl: z32.string().default("0.80mm"),
|
|
3402
|
+
pw: z32.string().default("1.20mm"),
|
|
3403
|
+
pad_spacing: z32.string().default("1.6mm")
|
|
3404
|
+
});
|
|
3405
|
+
var micromelf = (raw_params) => {
|
|
3406
|
+
const parameters = micromelf_def.parse(raw_params);
|
|
3407
|
+
const silkscreenRefText = silkscreenRef(
|
|
3408
|
+
0,
|
|
3409
|
+
length26.parse(parameters.h),
|
|
3410
|
+
0.3
|
|
3411
|
+
);
|
|
3412
|
+
const silkscreenLine = {
|
|
3413
|
+
type: "pcb_silkscreen_path",
|
|
3414
|
+
layer: "top",
|
|
3415
|
+
pcb_component_id: "",
|
|
3416
|
+
route: [
|
|
3417
|
+
{
|
|
3418
|
+
x: length26.parse(parameters.pad_spacing) / 2,
|
|
3419
|
+
y: length26.parse(parameters.h) / 2
|
|
3420
|
+
},
|
|
3421
|
+
{
|
|
3422
|
+
x: -length26.parse(parameters.w) / 2 - 0.1,
|
|
3423
|
+
y: length26.parse(parameters.h) / 2
|
|
3424
|
+
},
|
|
3425
|
+
{
|
|
3426
|
+
x: -length26.parse(parameters.w) / 2 - 0.1,
|
|
3427
|
+
y: -length26.parse(parameters.h) / 2
|
|
3428
|
+
},
|
|
3429
|
+
{
|
|
3430
|
+
x: length26.parse(parameters.pad_spacing) / 2,
|
|
3431
|
+
y: -length26.parse(parameters.h) / 2
|
|
3432
|
+
}
|
|
3433
|
+
],
|
|
3434
|
+
stroke_width: 0.1,
|
|
3435
|
+
pcb_silkscreen_path_id: ""
|
|
3436
|
+
};
|
|
3360
3437
|
return {
|
|
3361
3438
|
circuitJson: microMelfWithoutParsing(parameters).concat(
|
|
3362
3439
|
silkscreenLine,
|