marklio / LinqToStdf

A library for parsing/processing Standard Test Datalog Format (STDF) files, typically used in semiconductor testing.
27 stars 21 forks source link

Multiple pin MPR record results in corrupt STDF #2

Open dingetje opened 8 years ago

dingetje commented 8 years ago

When a multiple pin MPR is written, the resulting STDF file is corrupt. A single pin MPR works as expected. The attached project demo's the problem.

Linq2STDFDemoMPRBug.zip

dingetje commented 8 years ago

Example correct STDF (single pin MPR) and corrupt STDF (dual pin MPR) files STDF.zip

marklio commented 8 years ago

I'll take a look

marklio commented 8 years ago

It looks like you were right. Writing nibbles is busted. When we generate the record writer node tree, we try to write a regular byte array instead of packing it as nibbles.

I have a fix in my indexingReconciliation branch. Unfortunately, I've let the release management get out of hand. Are you compiling your own, or are you using a build from somewhere. If you'd like a patch for your code, the fix is relatively straightforward if you're on a recent commit. You can see it here: 3694bf8c518204dda455e0b2ae8a26c1523f1da3

marklio commented 8 years ago

More testing has revealed it is still not right. Stay tuned...

marklio commented 8 years ago

You'll also need the BinaryWriter fix in 59e0556db70259e72b3ca464e24a0b7df14f5f0e

dingetje commented 5 years ago

Confirmed the marklio/indexingReconciliation branch seems to have this bug squashed.

marklio commented 5 years ago

That branch should work fine. it adds some indexing strategies for doing things like fast wafer map queries. Since I no longer work in the industry, I don't have access to enough STDFs to be able to do adequate testing to make sure I haven't broken anything else.