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

/Images lib - name clashes with seemingly "reserved" Image ID's #45

Open
demisjohn opened this issue Jan 16, 2023 · 1 comment
Open
Labels
data-validation related to validating user data, to prevent conversion errors, or warn users about unexpected result question Further information is requested

Comments

@demisjohn
Copy link
Owner

demisjohn commented Jan 16, 2023

As shown in Example02.py, if you load an Image from the Image Library that is an ASML internaly-used image, such as alignment marks or mark clearouts, the tool-side ASML PAS software will pop an error during JobCreator conversion when you try to use this Image, giving:

01/16/2023  10:34:15  Machine:8477  (Rel:8.9.0.c, JDJC [18669], JDJX.c, 6374)
ERROR: JD-0001
Image Distribution - Image ID (PF)
Image cannot be distributed, it is not a device image.

And conversion thus fails.

The workaround is actually illustrated in Example02, line 58:

#   We'll place X-scribe-line alignment marks, used as dicing alignment guides
DicingLine_X = MyJob.Image( asml.Images.SPM_X )  
# In order to use alignment mark images for other purposes, must give a custom Image ID, otherwise it thinks it's an SPM-X alignment mark:
DicingLine_X.set_ImageID( "DiceX" )

Simply changing the ImageID solves the issue and allows the image to be used.

We have no record of the internally-stored ImageID's that would pop such an error. I can guess from the Alignment Mark types and Mark clearout types, but I assume there are numerous other prohibited Image ID's, stored internally in the PAS software somewhere.

Should we try to catch those that we know of, or just allow the user to figure it out themselves during conversion?
Or maybe pop a non-failing "Warning" only, notifying of the known issue but not attempting to catch all disallowed ID's?

Encountered by @mdaal .

@demisjohn
Copy link
Owner Author

demisjohn commented Jan 16, 2023

@mdaal points out that, since JC does not currently have a "Mark Clearout" functionality, which would distribute the "PF" images (defined in the /images/ lib folder), users have to manually do a Mark Clearout using this image-lib Image.

Currently the images/PF.py Image will always cause an error if user doesn't change the ImageID (providing that Image is useful for giving the user the known coordinates/size of the Image on the system reticle - ie. as a potential Image to use).

I originally included the PF Image just in case we added Mark Clearout functionality was included in a ASML_JobCreator future rev.

One possibly fix: Change the ImageID string defined in the PF.py Image Lib.

  • Pros: manual Mark Clearout will always work and be simple to program.
  • Cons: Mildly confusing, the Image ID will be something like "PF_"? Minor inconvenience, but I think users could figure it out.
  • Additional option: See how JC exports a job that has MarkClearout enabled - see what Image ID it uses etc. Then implement a full mark_clearout(marks = [list-of_al_mks]) function to use the same technique.

@demisjohn demisjohn changed the title /Images lib - name clashes with internal Image ID's /Images lib - name clashes with seemingly "reserved" Image ID's Jan 16, 2023
@demisjohn demisjohn added question Further information is requested data-validation related to validating user data, to prevent conversion errors, or warn users about unexpected result labels Jan 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data-validation related to validating user data, to prevent conversion errors, or warn users about unexpected result question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant