-
Notifications
You must be signed in to change notification settings - Fork 712
Conversation
Also use roundrect pad shape for pin 1
I am just skimming through your comments and compiled data. First some thoughts:
Your questions:
|
@herostrat
|
|
Just pushed a commit to my branch above that supports the non-latch vertical headers. Next are the horizontal non-latch ones... |
Pushed another commit to add the no-latch horizontal headers. Last is the horizontal headers with latches. |
I've pushed an initial commit to my script that adds the horizontal latching connector footprints. I need to do a bit more review before I add the connector footprints to this PR. |
More review and code improvements in the last script commit. Things are looking good, I believe. Only missing feature I'm aware of is silk clipping around mounting hole pads. |
-Remove all old ones from Connector_PinHeader_2.54mm.pretty -Add new ones to Connector_IDC.pretty
Ready for review! Please look at the questions above and add onto the conversation about them. Some footprints are replaced with nicer versions and others are totally new. There are two items to note from Travis:
Note that I abandoned footprints with mounting holes which aren't already in the library. Our current tools for detecting clipping lines is too basic for what I need here, and if we're to support more advanced clipping I think we should integrate an external module which is broadly tested rather than develop more complex home-brew solutions. I'm happy to accept suggestions and make fixes on the footprints here but I do not want to pollute this PR with discussion adding more footprints with mounting holes. So please make a new issue for that topic if you want to bring it up. |
@cpresser With the known error in the script (at the time I pushed my commit, now fixed) I didn't see my mistake earlier. I figured out what was going on and fixed it. CI is all green now. Do you see anything else? |
I did not do a review when I looked at this the first time. I was just interested to see if the travis scripts have a false positive. |
- Also improved the description
Add vertical mounting hole footprints that were missing (and some old footprints existed which would not have been replaced). Representative screenshots added as the 3rd screenshot in the first comment. |
Regarding your research I found I did take a quick lock inside and it has measurements for shrouded connectors with locking, horizontal and vertical. It also contains a naming scheme. |
Also regarding the mounting pin stuff, look at the molex picoblade connectors. These are examples of parts with numbered mounting pads. I would not add a full suffix to be honest but would not be opposed to it if you think it increases clarity. |
@poeschlr I think the naming convention is the same with |
By the way, the reason i assigned this to me is such that it has a higher priority than most other pull requests (in most review sessions i start with the stuff assigned to me) However i forgot to mark this as ready for review which is why i kind of overlooked it. I am not opposed to some other maintainer taking this on by the way. This is true for any pull request that i assigned to me. |
Out of curiosity, what made this PR "higher priority"? |
It has high priority for me for the following reasons:
|
It might be a good idea to include a link to your research document in the documentation field. my keyboard just broke so i can not really continue today. (software keyboard is ok for typing but not for librecad) |
OK. Done. Sorry about your keyboard. It seems like that kind of thing always happens to me right when it's most annoying... |
The horizontal and vertical versions seem to require a different mounting hole distance (Example [3m datasheet](https://multimedia.3m.com/mws/media/22448O/3m-four-wall-header-3000-series-100-x-100-ts-0772.pdf Same with latcon) dim A vs dim B) but your footprints use the same for both. I checked the vertical version against your document and a few measurements do not agree with what you wrote you will aim for. (shown in orange) |
I don't see the first issue. This is the The 1mm drill is because I generally used the 3M datasheet, but it says 0.89mm drills. Other datasheets ranged to 1.02mm. I picked 1mm to be a bit in the middle. Changed cells C9 and C27 to 1mm. For the 52.42mm, this is because the height of the body above pin 1 varies a bit depending on pin count. Instead of tweaking it for each pin count, I picked the mean value which is 10.97mm and so there was a 0.02mm error from the value in cell C6. I updated that cell. And finally the 48.36mm was similar to the above, where I started out comparing the 26-pin header but then found that might not be the mean value for the whole family as I checked out the scripts. I edited the value in cell C11. I think all of these were because I started from the spreadsheet but then dialed things in once I started reviewing the script output. And I never went back and updated the spreadsheet. Sorry for that since it ended up being misleading. The spreadsheet should now reflect the refining I've done with the script to things are in sync. |
Damn you are right the mounting pad distance is indeed different for horizontal and vertical footprints. I somehow misremembered this from my first review. I am satisfied with your remaining explanations so this is now good to go. Thanks for your great work. |
https://lists.launchpad.net/kicad-developers/msg43785.html Changing |
I think I retained README.md in Connector_Multicomp so that the folder wasn't totally empty as I recalled that any file (even just a text file and not a single footprint) in the library prevented issues. I didn't and still don't have any problems launching and using Pcbnew or Fpedit with master. @poeschlr |
Actually, I'm not sure what the fuss is about. But leaving |
I should probably look this up instead of going by memory, but I recall that if a library (.pretty folder) is removed but lib-fp-table points to that library then there is trouble. That seems obvious. The issue is that lib-fp-table is maintained here as part of the library and we manually keep it in sync but there is no connection between the table and the actual libraries which leads to:
https://bugs.launchpad.net/kicad/+bug/1820305 (now https://gitlab.com/kicad/code/kicad/-/issues/2360) was supposed to cover this issue. It is silly to have an empty library but we only control the library folders and so I don't see another option without some changes to KiCad's behavior. Having a totally empty folder or no folder was an issue, I recall, but having even a text file was not a problem. And when I tried that (updating the readme file to be helpful) I didn't find any issues either when working on this PR. And I still don't. There's something we're seemingly both missing. |
Same here. I'm not questioning the folder (and the readme), I'm only wondering whether leaving the table entry does any good (though it doesn't hurt much, either). |
As I've threatened to do before, here are these IDC headers which are missing or outdated in our current library. The most recent threat was posted at pointhi/kicad-footprint-generator#134. Footprint dimensional info is at https://docs.google.com/spreadsheets/d/16SsEcesNF15N3Lb4niX7dcUr-NY5_MFPQhobNuNppn4/edit#gid=0.
Here are the varieties:
Here are images of 2x5, 2x13, and 2x32 footprints in all flavors (2x5 and 2x13 horizontal latching with mounting hole at the bottom):
Some questions:
Latch
section.Is the size and naming of the mounting hole versions as desired?Some of these footprints have mounting screws. I used the same size pad on all layers even though the screw head is only on one side of the board. Should the mounting screws have big pads next to the screw head but small pads on all other layers?The existing horizontal latching footprints have small mounting holes which are much smaller than screw heads. Mine are bigger and that prevents the user from putting traces under the screw head or adding some manual method to capture this area (could be a bigger pad or a keepout). Are smaller pads desirable for some reason I haven't thought of?Script PR: pointhi/kicad-footprint-generator#387
After taking a look at https://github.com/pointhi/kicad-footprint-generator/tree/master/scripts/Connector_PinSocket, I decided to make my life easy and base this on https://github.com/pointhi/kicad-footprint-generator/tree/master/scripts/pin-headers_socket-strips (using functions in https://github.com/pointhi/kicad-footprint-generator/blob/master/scripts/tools/footprint_scripts_pin_headers.py). Once I got in there, though, I realized that this script was outdated. So maybe it was a mistake on my part and didn't make my life easy. I could use the newer script and figure it out if required.
Edit 14 May: Major code update and some items above removed or changed.
Edit 17 May: Support non-latching vertical headers and suggested replacing the existing IDC footprints.
Edit 20 May: Support horizontal no-latch headers and fix a footprint name clobbering issue.
Edit2 20 May: Support latching horizontal connectors.
Edit 21 May: Minor code cleanup and improvements.
All contributions to the kicad library must follow the KiCad library convention
Thanks for creating a pull request to contribute to the KiCad libraries! To speed up integration of your PR, please check the following items: