Skip to content

feat: implement PDIP footprint (PDIP-8)#702

Open
chengdazhi wants to merge 1 commit into
tscircuit:mainfrom
chengdazhi:feat/pdip-8
Open

feat: implement PDIP footprint (PDIP-8)#702
chengdazhi wants to merge 1 commit into
tscircuit:mainfrom
chengdazhi:feat/pdip-8

Conversation

@chengdazhi

Copy link
Copy Markdown

Closes #371

Summary

Implements the PDIP (Plastic Dual In-line Package) footprint. PDIP is the standard through-hole DIP layout, so pdip reuses the existing dip generator with its industry-standard defaults (0.3in / 7.62mm row width, 2.54mm pitch, 0.8mm holes, 1.6mm pads, rectangular pin-1 pad).

Supported strings:

  • pdip8 / pdip<N>
  • PDIP-8 (hyphenated alias, normalized like SOT-223-5)
  • parameterized forms, e.g. pdip8_w7.62mm_p2.54mm

Verification

  • New KiCad parity test (tests/kicad-parity/pdip8_kicad_parity.test.ts) compares pdip8 against Package_DIP.pretty/DIP-8_W7.62mm: courtyard IoU 99.90% and pads fully overlap (boolean-difference snapshot shows complete overlap).
  • Snapshot + alias + geometry-equivalence tests in tests/pdip.test.ts.
  • Full suite: bun test → 437 pass / 0 fail. bun run build succeeds.

Note: this PR was prepared with assistance from an AI coding agent; dimensions were verified against the KiCad footprint library reference.

Add pdip as a footprint function reusing the standard DIP layout
(0.3in/7.62mm row width, 2.54mm pitch, 0.8mm holes, 1.6mm pads),
matching KiCad's PDIP/DIP-8_W7.62mm.

- src/fn/pdip.ts: pdip function and pdip_def (reuses dip)
- footprinter string support: pdip8 and hyphenated PDIP-8 alias
- snapshot tests + KiCad parity test vs DIP-8_W7.62mm
  (courtyard IoU 99.90%, pads fully overlap)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement PDIP-8

1 participant