diff --git a/src/fn/index.ts b/src/fn/index.ts index ef0ac65..e966fdf 100644 --- a/src/fn/index.ts +++ b/src/fn/index.ts @@ -1,4 +1,3 @@ -import { sop8 } from "./sop8" export { dip } from "./dip" export { diode } from "./diode" export { cap } from "./cap" diff --git a/src/fn/melf.ts b/src/fn/melf.ts index efc72b3..8adfe2b 100644 --- a/src/fn/melf.ts +++ b/src/fn/melf.ts @@ -11,7 +11,7 @@ export const melf_def = z.object({ h: z.string().default("3.35mm"), pl: z.string().default("1.50mm"), pw: z.string().default("2.70mm"), - pad_spacing: z.string().default("4.8mm"), + p: z.string().default("4.8mm"), }) export const melf = ( @@ -32,7 +32,7 @@ export const melf = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: length.parse(parameters.h) / 2, }, { @@ -44,7 +44,7 @@ export const melf = ( y: -length.parse(parameters.h) / 2, }, { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: -length.parse(parameters.h) / 2, }, ], @@ -63,15 +63,15 @@ export const melf = ( export const getMelfCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -81,7 +81,7 @@ export const melfWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getMelfCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/micromelf.ts b/src/fn/micromelf.ts index 5514c1d..2443993 100644 --- a/src/fn/micromelf.ts +++ b/src/fn/micromelf.ts @@ -11,7 +11,7 @@ export const micromelf_def = z.object({ h: z.string().default("1.80mm"), pl: z.string().default("0.80mm"), pw: z.string().default("1.20mm"), - pad_spacing: z.string().default("1.6mm"), + p: z.string().default("1.6mm"), }) export const micromelf = ( @@ -32,7 +32,7 @@ export const micromelf = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: length.parse(parameters.h) / 2, }, { @@ -44,7 +44,7 @@ export const micromelf = ( y: -length.parse(parameters.h) / 2, }, { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: -length.parse(parameters.h) / 2, }, ], @@ -63,15 +63,15 @@ export const micromelf = ( export const getMicroMelfCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -83,7 +83,7 @@ export const microMelfWithoutParsing = ( for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getMicroMelfCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/sod123.ts b/src/fn/sod123.ts index b02c914..f7a723c 100644 --- a/src/fn/sod123.ts +++ b/src/fn/sod123.ts @@ -11,7 +11,7 @@ export const sod_def = z.object({ h: z.string().default("1.22mm"), pl: z.string().default("0.9mm"), pw: z.string().default("0.9mm"), - pad_spacing: z.string().default("4.19mm"), + p: z.string().default("4.19mm"), }) export const sod123 = ( @@ -34,15 +34,15 @@ export const sod123 = ( export const getSodCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -52,7 +52,7 @@ export const sodWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getSodCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/sod123f.ts b/src/fn/sod123f.ts index 35930dd..0539a7d 100644 --- a/src/fn/sod123f.ts +++ b/src/fn/sod123f.ts @@ -11,7 +11,7 @@ export const sod_def = z.object({ h: z.string().default("2.1mm"), pl: z.string().default("1.2mm"), pw: z.string().default("1.2mm"), - pad_spacing: z.string().default("2.9mm"), + p: z.string().default("2.9mm"), }) export const sod123f = ( @@ -33,7 +33,7 @@ export const sod123f = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: length.parse(parameters.h) / 2, }, { @@ -45,7 +45,7 @@ export const sod123f = ( y: -length.parse(parameters.h) / 2, }, { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: -length.parse(parameters.h) / 2, }, ], @@ -65,15 +65,15 @@ export const sod123f = ( // Get coordinates for SOD pads export const getSodCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -84,7 +84,7 @@ export const sodWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getSodCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/sod128.ts b/src/fn/sod128.ts index 90a117f..e076555 100644 --- a/src/fn/sod128.ts +++ b/src/fn/sod128.ts @@ -11,7 +11,7 @@ export const sod_def = z.object({ h: z.string().default("3.4mm"), pl: z.string().default("1.4mm"), pw: z.string().default("2.1mm"), - pad_spacing: z.string().default("4.4mm"), + p: z.string().default("4.4mm"), }) export const sod128 = ( @@ -33,7 +33,7 @@ export const sod128 = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: length.parse(parameters.h) / 2, }, { @@ -45,7 +45,7 @@ export const sod128 = ( y: -length.parse(parameters.h) / 2, }, { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: -length.parse(parameters.h) / 2, }, ], @@ -65,15 +65,15 @@ export const sod128 = ( // Get coordinates for SOD pads export const getSodCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -84,7 +84,7 @@ export const sodWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getSodCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/sod523.ts b/src/fn/sod523.ts index ad0a8b2..3a4ff39 100644 --- a/src/fn/sod523.ts +++ b/src/fn/sod523.ts @@ -11,7 +11,7 @@ export const sod_def = z.object({ h: z.string().default("1.20mm"), pl: z.string().default("0.5mm"), pw: z.string().default("0.6mm"), - pad_spacing: z.string().default("1.4mm"), + p: z.string().default("1.4mm"), }) export const sod523 = ( @@ -33,7 +33,7 @@ export const sod523 = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: length.parse(parameters.h) / 2, }, { @@ -45,7 +45,7 @@ export const sod523 = ( y: -length.parse(parameters.h) / 2, }, { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: -length.parse(parameters.h) / 2, }, ], @@ -65,15 +65,15 @@ export const sod523 = ( // Get coordinates for SOD pads export const getSodCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -84,7 +84,7 @@ export const sodWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getSodCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/sod723.ts b/src/fn/sod723.ts index 20e019c..88d8445 100644 --- a/src/fn/sod723.ts +++ b/src/fn/sod723.ts @@ -11,7 +11,7 @@ export const sod_def = z.object({ h: z.string().default("1.00mm"), pl: z.string().default("0.66mm"), pw: z.string().default("0.5mm"), - pad_spacing: z.string().default("0.8mm"), + p: z.string().default("0.8mm"), }) export const sod723 = ( @@ -32,7 +32,7 @@ export const sod723 = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: length.parse(parameters.h) / 2, }, { @@ -44,7 +44,7 @@ export const sod723 = ( y: -length.parse(parameters.h) / 2, }, { - x: length.parse(parameters.pad_spacing) / 2, + x: length.parse(parameters.p) / 2, y: -length.parse(parameters.h) / 2, }, ], @@ -64,15 +64,15 @@ export const sod723 = ( // Get coordinates for SOD pads export const getSodCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -83,7 +83,7 @@ export const sodWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getSodCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/sod882.ts b/src/fn/sod882.ts index bc88caf..a1f1b82 100644 --- a/src/fn/sod882.ts +++ b/src/fn/sod882.ts @@ -11,7 +11,7 @@ export const sod_def = z.object({ h: z.string().default("0.9mm"), pl: z.string().default("0.4mm"), pw: z.string().default("0.7mm"), - pad_spacing: z.string().default("0.7mm"), + p: z.string().default("0.7mm"), }) export const sod882 = ( @@ -33,7 +33,7 @@ export const sod882 = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2 + 0.2, + x: length.parse(parameters.p) / 2 + 0.2, y: length.parse(parameters.h) / 2 + 0.2, }, { @@ -45,7 +45,7 @@ export const sod882 = ( y: -length.parse(parameters.h) / 2 - 0.2, }, { - x: length.parse(parameters.pad_spacing) / 2 + 0.2, + x: length.parse(parameters.p) / 2 + 0.2, y: -length.parse(parameters.h) / 2 - 0.2, }, ], @@ -65,15 +65,15 @@ export const sod882 = ( // Get coordinates for SOD pads export const getSodCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -84,7 +84,7 @@ export const sodWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getSodCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/fn/sod882d.ts b/src/fn/sod882d.ts index 552a9e8..6c4d0df 100644 --- a/src/fn/sod882d.ts +++ b/src/fn/sod882d.ts @@ -11,7 +11,7 @@ export const sod_def = z.object({ h: z.string().default("1.33mm"), pl: z.string().default("0.5mm"), pw: z.string().default("0.7mm"), - pad_spacing: z.string().default("0.8mm"), + p: z.string().default("0.8mm"), }) export const sod882d = ( @@ -33,7 +33,7 @@ export const sod882d = ( pcb_component_id: "", route: [ { - x: length.parse(parameters.pad_spacing) / 2 + 0.1, + x: length.parse(parameters.p) / 2 + 0.1, y: length.parse(parameters.h) / 2, }, { @@ -45,7 +45,7 @@ export const sod882d = ( y: -length.parse(parameters.h) / 2, }, { - x: length.parse(parameters.pad_spacing) / 2 + 0.1, + x: length.parse(parameters.p) / 2 + 0.1, y: -length.parse(parameters.h) / 2, }, ], @@ -65,15 +65,15 @@ export const sod882d = ( // Get coordinates for SOD pads export const getSodCoords = (parameters: { pn: number - pad_spacing: number + p: number }) => { - const { pn, pad_spacing } = parameters + const { pn, p } = parameters if (pn === 1) { - return { x: -pad_spacing / 2, y: 0 } + return { x: -p / 2, y: 0 } // biome-ignore lint/style/noUselessElse: } else { - return { x: pad_spacing / 2, y: 0 } + return { x: p / 2, y: 0 } } } @@ -84,7 +84,7 @@ export const sodWithoutParsing = (parameters: z.infer) => { for (let i = 1; i <= parameters.num_pins; i++) { const { x, y } = getSodCoords({ pn: i, - pad_spacing: Number.parseFloat(parameters.pad_spacing), + p: Number.parseFloat(parameters.p), }) pads.push( rectpad( diff --git a/src/footprinter.ts b/src/footprinter.ts index e46489c..1038c97 100644 --- a/src/footprinter.ts +++ b/src/footprinter.ts @@ -57,11 +57,30 @@ export type Footprinter = { hc49: () => FootprinterParamsBuilder<"p" | "id" | "od" | "w" | "h"> to220: () => FootprinterParamsBuilder<"w" | "h" | "p" | "id" | "od"> sot235: () => FootprinterParamsBuilder<"h" | "p" | "pl" | "pw"> + sot363: () => FootprinterParamsBuilder<"w" | "p" | "pl" | "pw"> + sot563: () => FootprinterParamsBuilder<"w" | "p" | "pl" | "pw"> + sot723: () => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw"> + sot23: () => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw"> + sot236: () => FootprinterParamsBuilder<"w" | "p"> + sot89: () => FootprinterParamsBuilder<"w" | "p" | "pl"> + to92: () => FootprinterParamsBuilder<"w" | "h" | "p" | "id" | "od"> minimelf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl"> + melf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl"> + micromelf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl"> + ms013: () => FootprinterParamsBuilder<"w" | "p"> + ms012: () => FootprinterParamsBuilder<"w" | "p"> lqfp: (num_pins?: number) => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw"> smb: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> sod923: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod882: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod882d: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod723: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod523: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod323f: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod128: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod123f: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> + sod123: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw"> pushbutton: () => FootprinterParamsBuilder< "tllabel" | "trlabel" | "bllabel" | "brlabel" >