Skip to content
This repository has been archived by the owner on Oct 7, 2020. It is now read-only.

Ep roundradius handling #422

Merged
merged 22 commits into from
Jan 27, 2020
Merged

Conversation

poeschlr
Copy link
Collaborator

@poeschlr poeschlr commented Sep 8, 2019

Using large a rather large round radius for exposed pads was a bad idea. See KiCad/kicad-footprints#1798

TlDr: use the same radius as the normal pads instead. Also added a parameter to overwrite this.
This required adding a more powerful round radius handler to avoid code duplication.

@codeclimate
Copy link

codeclimate bot commented Sep 8, 2019

Code Climate has analyzed commit 06d7d27 and detected 12 issues on this pull request.

Here's the issue category breakdown:

Category Count
Complexity 8
Duplication 4

View more on Code Climate.

Using a fixed round radius ratio of 0.25 with maximum 0.25mm radius does
not make sense for the exposed pad as it is created without positive
fillet and therefore such a large radius would interfere with the
"lead".
Our research showed that using the same radius as the normal pads is a
much better option. There also has been a parameter added to directly
control the round radius from the size definition.
@cpresser
Copy link
Collaborator

cpresser commented Sep 13, 2019

I only managed to read ~50% of the code so far. Its a rather big patch and not that simple. My goal is to get this done this weekend.

Copy link
Collaborator

@cpresser cpresser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I read the through the complete patch set and could not find anything that is obviously wrong.
I don't really like the fact that the documentation for the parameters is duplicated for each class. But I don't have a good solution for that either.

The one change that I don't understand is why the one parameter in "qfn-24.yams" is part of this patch.

I also did compare some footprints generated with the old versions. I did not spot an error or corner-case. But obviously not every affected FP was checked :)

KicadModTree/nodes/base/Pad.py Outdated Show resolved Hide resolved
KicadModTree/nodes/specialized/ExposedPad.py Outdated Show resolved Hide resolved
@poeschlr
Copy link
Collaborator Author

The change of this one parameter is part of this set because i could not generate the footprints without that fix. And this fix is connected to a single footprint pull request.

@evanshultz
Copy link
Collaborator

The resulting footprints seem OK to me and at a high-level this appears fine. I admit to not following everything you've written but am OK merging this if nobody else objects. My comments above are reduced mostly to semantics without any logical effect.

@evanshultz
Copy link
Collaborator

@poeschlr
I have four comments about semantics above (the middle four). If you can make those fixes or help me understand the intent I'm OK to merge this.

@poeschlr
Copy link
Collaborator Author

@pointhi yes it was a difference regarding the default round radius handling of chamfered pads, chamfered pad grids and exposed pads. All of them used 0 as the default in the past but i had unified this over all nodes with the introduction of the centralized round radius handler class.
I now introduced a default value parameter to the init function of this class to allow customizing the default value to 0 for these 3 classes.

@chschlue
Copy link
Collaborator

chschlue commented Jan 15, 2020

Is this seems to be (almost) finished, I collected affected PRs above.

@evanshultz
Copy link
Collaborator

@pointhi
I had in mind getting your approval for the concept introduced in this PR, and then merging once ready. But it's not obvious. Do you have any objections to the work done here?

@evanshultz
Copy link
Collaborator

I'm good with everything here. Thanks @poeschlr !

@pointhi
Are you OK with the concept being introduced here and having it merged? This is blocking quite a number of PRs so it would be great to get this merged.

@pointhi
Copy link
Owner

pointhi commented Jan 20, 2020

@evanshultz I did a rough look, and the concept looks good. If you or @poeschlr are ok you can merge anytime.

From my side: It would be nice to add a few tests of this feature, to validate nothing breaks.

@evanshultz
Copy link
Collaborator

@pointhi
Thanks!

@poeschlr
Do you have some unit tests you can implement? I suspect you'd rather merge this now to open up the dam on other PRs, and come back to the topic of testing this feature in a later PR.

@poeschlr
Copy link
Collaborator Author

The unit tests i had already showed weaknesses which i solved in my last commit. So yes there are unit tests already there. Could there be more? Of course. I invite anyone to write some, i simply do not have the time fir this.

@evanshultz evanshultz merged commit 37899c9 into pointhi:master Jan 27, 2020
@evanshultz
Copy link
Collaborator

Alright then. Thank you!

cnieves1 added a commit to cnieves1/kicad-footprints that referenced this pull request Jan 28, 2020
cnieves1 added a commit to cnieves1/kicad-footprints that referenced this pull request Jan 28, 2020
cnieves1 added a commit to cnieves1/kicad-footprints that referenced this pull request Jan 28, 2020
@chschlue
Copy link
Collaborator

chschlue pushed a commit to KiCad/kicad-footprints that referenced this pull request Jan 28, 2020
* Added WSON-10-1EP_2.5x2.5mm_P0.5mm_EP1.2x2mm.
Datasheet: http://www.ti.com/lit/gpn/tps63030
Generated by script, using PR pointhi/kicad-footprint-generator#453

* Regenerated footprint after script change, using PR:
pointhi/kicad-footprint-generator#422
chschlue pushed a commit to KiCad/kicad-footprints that referenced this pull request Jan 29, 2020
* Added footprint for DFN-8-1EP_2x2mm_P0.5mm_EP0.7x1.3mm.
Datasheet: https://www.onsemi.com/pub/Collateral/NUF4401MN-D.PDF

* Regenerated footprint after script change:
pointhi/kicad-footprint-generator#422

* Regenerated footprint after data change:
pointhi/kicad-footprint-generator@99f5bef
chschlue pushed a commit to KiCad/kicad-footprints that referenced this pull request Feb 4, 2020
* Added QFN-32-1EP_5x5mm_P0.5mm_EP3.3x3.3mm.
Generated by script, using PR: pointhi/kicad-footprint-generator#458
Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/00002164B.pdf

* Regenerated footprint after script change:
pointhi/kicad-footprint-generator#422
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants