Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Double Sided Fiducials are not correctly handled #30

Open
owendelong opened this issue Jun 25, 2019 · 3 comments
Open

Double Sided Fiducials are not correctly handled #30

owendelong opened this issue Jun 25, 2019 · 3 comments

Comments

@owendelong
Copy link
Contributor

I've got a library part (from SparkFun) for a 40 mil fiducial.

A single footprint provides both top and bottom side fiducial marks.

Unfortunately, the script doesn't handle this footprint correctly. In my case, regardless of whether I mirror it or not, it gets treated as a "Bottom" component.

To make matters worse, since it was placed as a top component, the flipping of the coordinates puts them in the opposite position from what is desired on both sides of the board.

Obviously, as a work around, I can convert it to a single-sided foot print and manually place 6 fiducial marks instead of 3, but Ideally, it would be nice if a simple correction to the script were possible.

Full disclosure, I'm actually using the Berniwa fork, but I believe the behavior is still the same.

I've attached an export of the footprint in question to help in the diagnostic process. Unfortunately, to get GitHub to accept it, I had to append a .txt extension. (I'll open an issue on GitHub for that).

Fiducial Example.lbr.txt

@nseidle
Copy link
Contributor

nseidle commented Jun 25, 2019

@berniwa should certainly weigh in but I've got some thoughts (my brain is too burned up from the day to offer solutions!):

image

  1. At least at SparkFun we ignore all fiducials in the generation of the CharmHigh file creation.
  2. (And you allude to this) Having a 2 layered fiducial is very odd to me. I generally need to fit fiducials into weird spots and having it linked to a fiducial on a different layer would make it impossible to use.

@berniwa
Copy link
Contributor

berniwa commented Jun 26, 2019

I'll have to say that I find double sided fiducials also a bit odd and therefore didn't expect them.

We could analyze the fiducials in the ULP to see if they contain top and bottom copper or top and bottom stopmask layers to detect weather they are double sided or not. Unfortunately I don't see any quick fix for that other than splitting the fiducials up in one top and one bottom or adding the fiducials manually.

I will employ a software developer starting from mid August, that will mainly focus on ULP development. He will also be working on the ULP, so we can fix some stuff and finally merge it to this repo (I'm unfortunately really busy).

@owendelong
Copy link
Contributor Author

OK... Thanks for the quick responses. I'm barely beginning to gain the most basic literacy with ULP and this one is quite extensive. I'd be willing to try and tackle it if someone can point me to the right part of the code to look.

From what you've said, I suspect the right thing is to process double-sided SMT devices flagged as fiducials as an exception and split them in the script to produce two rows in the DPV.

For now, I've created a single-sided Fiducial and it's working, so I guess this isn't urgent.

In my case, I'm not trying to produce particularly dense boards, and having the fiducials aligned in a consistent place provides a convenient way to also distinguish top and bottom sides of the board.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants