Skip to content

fix: msop and son number right-column pins counter-clockwise - #854

Open
birdup000 wants to merge 1 commit into
tscircuit:mainfrom
birdup000:fix-msop-son-numbering
Open

fix: msop and son number right-column pins counter-clockwise#854
birdup000 wants to merge 1 commit into
tscircuit:mainfrom
birdup000:fix-msop-son-numbering

Conversation

@birdup000

Copy link
Copy Markdown

Fixes #677

What

msop and son numbered their right column top→bottom (same direction as the left), so msop8/son8 put pin 5 top-right and pin 8 bottom-right — mirrored versus soic8, which numbers correctly. Dual-row packages are numbered counter-clockwise: pins 1..n/2 down the left column, then n/2+1..n up the right column, last pin across from pin 1.

The pad loops now reverse only the right-column assignment (position code untouched). Repro after the fix:

footprint pin n/2+1 pin n
msop8 (2.165, −0.975) bottom-right ✅ (2.165, +0.975) top-right ✅
son8 (1.4, −0.75) ✅ (1.4, +0.75) ✅
msop10 (2.165, −1) ✅ (2.165, +1) ✅

Verification

  • Regression test asserts the full CCW ordering (left column y descending, right column y ascending, last pin top) for msop8, son8, msop10
  • SVG snapshots updated; full suite 565/565 pass, biome clean

…it#677)

msop/son numbered the right column top-to-bottom like the left, so
on msop8/son8 pin 5 sat top-right and pin 8 bottom-right — mirrored
against every other dual-row footprint (soic numbers correctly).
Dual-row packages number counter-clockwise: down the left column,
then UP the right, last pin across from pin 1.

The pad loop now keeps left-column numbering and reverses the right
column. Regression test asserts full CCW ordering on msop8, son8,
and msop10.

Fixes tscircuit#677
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.

msop and son footprints number the right-column pins in reverse (pins 5↔8, 6↔7 swapped on 8-pin parts)

1 participant