web page logo for WMLib

Revision History for WMAPI

This page contains revision history for the WMLib API libraries.

WMAPI v1.25 08/05/2021

New: Reference Device Functions

The WMLib API was updated with several functions to query and modify reference devices. The new functions are documented in the PDF file which is included in the release.


Additional Sample Files

Added a sample WWF and a sample SEMI-E142 file to the release.


Viewer Improvement - Cache Selected Devices

The core viewing library code was updated to cache the selected devices before rendering to the view. This multi-layer approach eliminates the flickering which occurred when large numbers of devices were selected and the view was redrawn (for example, using the shift key).


Bug Fixes

Various minor big fixes in the library and demo project. For example, preventing the NULL bin from being mapped to a non-NULL bin resulting in no NULL bin being defined.


New Demo Projects

The demo VB project was ported to C# and C++ (MFC). The release now contains three sample executables, and three source code projects in each of the three programming languages the library supports. We now have a release which can be tested by any company needing to develop wafer map library and viewing capabilities in C++, C# or VB .NET.




WMAPI v1.24 07/16/2021

WWF Support

Added Support for reading and writing WWF map files.




WMAPI v1.23 07/06/2021

Map Synthesis

A wafer map can now be synthesized from several input parameters. The user specifies a wafer diameter and a step size (equal to the device size) Based on these two input parameters an array is generated. Devices completely inside the wafer are assigned to one bin code; devices completely outside the wafer edge to another bin code and devices that cross the the wafer margin are assigned yet another bin code.

This is achieved using the two new API functions:


SEMI E142 Support

Version 1.23 now supports reading and writing of the SEMI E-142 map file format. As E142 is a very extensive specification we are not supporting all of the various hierarchies and layouts that are possible. For example, we only support a single map file per E142 file and only support a single layout per E142 file. However these limitations are not usually an issue as other map formats have such constraints built in.




WMAPI v1.22 06/24/2021

These functions were ported from the C++ API to .NET WMLib:

Header Functions

int getHeaderValueCount(int& count) const;
int getHeaderLabelValue(int index, char* label, char* value, int length) const;
int setHeaderValue(const char* label, const char* value);

Utility Functions

void stringToUnits(const char* s, WMCLib::Units& units) const;
double convertUnits(WMCLib::Units source, WMCLib::Units target) const;
int formatToAbsolute(int forX, int forY, int& absX, int& absY, bool outputDB = true) const;
int absoluteToFormat(int absX, int absY, int& forX, int& forY, bool outputDB = true) const;
void stringToBinQuality(const char* s, WMCLib::BinQuality& quality) const;

Licensing Functions

void getLicenseStatus(char* status, int statusLength) const;

Specific functions ported to .NET WMView:

Display Rendering Functions

void displayDeviceOutlines(bool display);
void displayDeviceLabels(bool display);

Display Style Functions

void setBackgroundColor(WMCView::Color color0;
void setSelectionColor(int styleItem, WMCView::Color color);

Selection Functions

bool selectRange(WMCView::SelectMode selectMode, WMCView::Coordinates coordinates, int x1, int y1, int x2, int y2, bool clear = true);

Utility Functions

void windowToAbsoluteCoordinates(int x, int y, int& col, int& row) const;

Project Files and Source Code

The WMDemoVB project was updated to demonstrate some of these functions.




WMAPI v1.21 06/22/2021

Added More Functions to .NET API
getBinFormatCount
getBinFormat
setBinFormat
getNullBinValue
getBinCount
getBinValue
mapBin
getBinIndex
getBinDescription
setBinDescription
getBinQuality
setBinQuality
addBin
getColCount
getRowCount
getArrayExtents
getArrayBinIndex
setArrayBinIndex
fillArrayBinIndex
getDeviceCount
addNullBins
deleteNullBins
binQualityToString

Documentation

The above functions have been added to the documentation PDF file shipped with this release.


Demo Project/Source Updated

The WMDemoVB project now includes features that demonstrate:




WMAPI v1.20 06/09/2021

API Naming Changes

This version has minor API naming convention changes and adds .NET functionality for the following functions:


Updated VB Project

The demo VB project has also been updated to demonstrate this functionality.




WMAPI v1.19 06/03/2021

ACS Namespace

The changes in this version are the introduction of a common namespace called ACS across the C++ and .NET versions. This simplifies the class naming and make the two libraries more consistent.

Additional API Functions ported from C++ to .NET

More of the C++ API functions have been ported to .NET. The sample VB .NET project which ships with the package has been updated and now also demonstrates:




WMAPI v1.18 05/27/2021

Documentation

Function description in PDF documentation updated to include syntax for C++, VB and C#.




WMAPI v1.17 05/25/2021

Initial Release for Testing

1. We would normally call this v0.02 but in order to synchronize the API libraries with the underlying libraries which are much more mature, we are using the revision of the underlying libraries as the starting point for the WMAPI libraries.

2. WMAPI is 64 bit only. Artwork does not develop new products in 32 bits.

3. WMAPI requires .NET v4.7. If your machine does not yet include this version of .NET, please download it from Microsoft using this link:

https://www.microsoft.com/en-us/download/details.aspx?id=55167


4. WMAPI requires the MS 2015 64 bit Redistibutables. If your machine does not already have these installed, you can download/install them from this page on the Microsoft web site:

https://www.microsoft.com/en-us/download/details.aspx?id=48145


5. This version of WMAPI does not yet support C#. Only VB.NET.

6. A number of wafer map formats are not yet available for this version of WMAPI including SEMI E-142 and WWF. Support for these formats is under development.