Closed Werni2A closed 2 years ago
Code Climate has analyzed commit 1b4e6357 and detected 0 issues on this pull request.
View more on Code Climate.
Thanks for this contribution!
This is mostly just looking at the YAML file and not a real review:
test_
if it's just an example file.hidden_pins
and deleted_pins
as YAML keys according to the definition on page 2 of http://ohm.bu.edu/~pbohn/__Engineering_Reference/pcb_layout/pcbmatrix/IPC-7x51%20&%20PCBM%20Land%20Pattern%20Naming%20Convention.pdf. You can see this implemented at https://github.com/pointhi/kicad-footprint-generator/blob/master/scripts/Packages/Package_Gullwing__QFP_SOIC_SO/ipc_gullwing_generator.py. And PadArray supports it.Again, this is just from a quick look at the YAML file. It's a discussion so free feel to comment whatever you're thinking and we'll find a solution together!
@evanshultz thank you for taking a look.
ipc_pad_size_calculators.py
. Notes for myself:
Now I get what you meant with "revision key". It is only used in the description of the footprint. I used it to specify the datasheet revision the footprint is based on.
@evanshultz should I change the "level" of Yaml keys such that it looks like the qfn.yml
version?
And what about the part with nominal
/tolerance
I think the TolerancedSize
function is really convenient to parse them. Changing them to pkg_length_min
, pkg_length_max
... would be much more effort.
Excerpt qfn.yml
:
pkg_width: 6.0
pkg_height: 6.0
Excerpt Package_SIP_Vertical_THT.yaml
:
pkg:
length:
nominal: 19.5
tolerance: 0.35
width:
nominal: 6
tolerance: 0.35
height:
nominal: 9.5
tolerance: 0.35
I refactored the generator and added a few examples, no pressure on you @cpresser @chschlue but maybe one of you finds time to review the script. I have a few ideas for adding a THT DIP generator and replacing some handmade footprints with script generated ones but all this stuff depends on this PR in one or another way.
@Werni2A We are wrapping up as many footprints and symbols as we can before moving to GitLab. This repo, I don't think, will move right away so I'd rather come back to this in a few days once there's less pressure. I can see you've been thinking about this and pouring in more good ideas which is great!
The DIP package generator is at https://github.com/pointhi/kicad-footprint-generator/tree/master/scripts/Packages/Package_DIP. It's an older script style like this one and it would probably be best to re-write them all using a more modern style and defaulting to IPC-2221 compliant pads. Which makes sense for that piece of the generator to be abstracted.
This wraps the
makeSIPVertical
such that it can be used with Yaml files.In the beginning of the script I defined 2 functions to calculate the drill diameter and pad sizes according to IPC. I wonder if these functions are already implemented somewhere in the repo? I haven't found any, yet. If there is no existing implementation maybe you can take a look at these functions and How to calculate PTH hole and pad diameter sizes according to IPC-7251, IPC-2222 and IPC-2221 standards? which I used as a reference.
Any suggestions are appreciated :)
Todo:
makeSIPVertical
/makeSIPHorizontal
makeSIPVertical
Required for https://github.com/pointhi/kicad-footprint-generator/pull/579