diff --git a/src/fn/tqfp.ts b/src/fn/tqfp.ts index 159cec69..e700c3dd 100644 --- a/src/fn/tqfp.ts +++ b/src/fn/tqfp.ts @@ -14,9 +14,9 @@ export const tqfp = ( if (!raw_params.p) { switch (raw_params.num_pins) { case 32: + case 44: raw_params.p = 0.8 break - case 44: case 48: raw_params.p = 0.5 break @@ -54,9 +54,9 @@ export const tqfp = ( if (!raw_params.pw) { switch (raw_params.num_pins) { case 32: + case 44: raw_params.pw = 0.55 break - case 44: case 48: case 64: case 80: diff --git a/tests/tqfp44-pitch.test.ts b/tests/tqfp44-pitch.test.ts new file mode 100644 index 00000000..eb192f53 --- /dev/null +++ b/tests/tqfp44-pitch.test.ts @@ -0,0 +1,22 @@ +import { test, expect } from "bun:test" +import { fp } from "../src/index" + +test("tqfp44 defaults to standard 0.8mm pitch and 0.55mm pad width (#792)", () => { + const elements = fp.string("tqfp44").circuitJson() + const smtpads = elements.filter( + (e: any) => e.type === "pcb_smtpad", + ) as Array + + expect(smtpads.length).toBe(44) + + const pin1 = smtpads.find((p) => p.port_hints?.includes("1"))! + const pin2 = smtpads.find((p) => p.port_hints?.includes("2"))! + + expect(pin1).toBeDefined() + expect(pin2).toBeDefined() + + const pitch = Math.abs(pin1.y - pin2.y) + expect(pitch).toBeCloseTo(0.8, 2) + expect(pin1.height).toBeCloseTo(0.55, 2) + expect(pin1.width).toBeCloseTo(1.475, 2) +})