diff --git a/index.js b/index.js
index 7e0fd55..a9b2e86 100644
--- a/index.js
+++ b/index.js
@@ -26791,6 +26791,7 @@ __export(exports_fn, {
sod128: () => sod128,
sod123f: () => sod123f,
sod123: () => sod123,
+ smb: () => smb,
res: () => res,
quad: () => quad,
qfp: () => qfp,
@@ -34423,6 +34424,68 @@ var microMelfWithoutParsing = (parameters) => {
}
return pads;
};
+// src/fn/smb.ts
+var smb_def = z.object({
+ fn: z.string(),
+ num_pins: z.literal(2).default(2),
+ w: z.string().default("7.30mm"),
+ h: z.string().default("4.40mm"),
+ pl: z.string().default("2.50mm"),
+ pw: z.string().default("2.30mm"),
+ p: z.string().default("4.30mm")
+});
+var smb = (raw_params) => {
+ const parameters = smb_def.parse(raw_params);
+ const silkscreenRefText = silkscreenRef(0, length.parse(parameters.h) / 2 + 0.5, 0.3);
+ const silkscreenLine = {
+ type: "pcb_silkscreen_path",
+ layer: "top",
+ pcb_component_id: "",
+ route: [
+ {
+ x: length.parse(parameters.p) / 2,
+ y: length.parse(parameters.h) / 2
+ },
+ {
+ x: -length.parse(parameters.w) / 2 - 0.1,
+ y: length.parse(parameters.h) / 2
+ },
+ {
+ x: -length.parse(parameters.w) / 2 - 0.1,
+ y: -length.parse(parameters.h) / 2
+ },
+ {
+ x: length.parse(parameters.p) / 2,
+ y: -length.parse(parameters.h) / 2
+ }
+ ],
+ stroke_width: 0.1,
+ pcb_silkscreen_path_id: ""
+ };
+ return {
+ circuitJson: smbWithoutParsing(parameters).concat(silkscreenLine, silkscreenRefText),
+ parameters
+ };
+};
+var getSmbCoords = (parameters) => {
+ const { pn, p } = parameters;
+ if (pn === 1) {
+ return { x: -p / 2, y: 0 };
+ } else {
+ return { x: p / 2, y: 0 };
+ }
+};
+var smbWithoutParsing = (parameters) => {
+ const pads = [];
+ for (let i = 1;i <= parameters.num_pins; i++) {
+ const { x, y } = getSmbCoords({
+ pn: i,
+ p: Number.parseFloat(parameters.p)
+ });
+ pads.push(rectpad(i, x, y, Number.parseFloat(parameters.pl), Number.parseFloat(parameters.pw)));
+ }
+ return pads;
+};
// src/helpers/is-not-null.ts
function isNotNull(value) {
return value !== null;
@@ -35443,6 +35506,22 @@ var content_default = [
{REF}`,
title: "stampreceiver_left20_right20_bottom3_top2_w21mm_p2.54mm"
},
+ {
+ svgContent: ``,
+ title: "smb"
+ },
{
svgContent: `