PLEASE NOTE:
The article below is only applicable to STU devices - the STU SDK only works with STUs and the model number information obtained by the Signature SDK for DTUs is only generic e.g. "Wacom tablet".
Using the STU SDK it is possible to pre-program STUs with specific UID numbers which could then be used in a look-up table (e.g. on a database) to cross-reference their respective model numbers.
For more details please see this FAQ: STU tablet unique ID – Developer Support (wacom.com)
This is however impractical if there is a large number of STUs in use.
There are two more direct ways of obtaining the STU model number programmatically as described below.
1. STU SDK
Using the STU SDK it’s possible to write code which will connect to the STU and retrieve its identifying information, similar to the results produced by running Identify.exe from STU Utilities – Developer Support (wacom.com)
For example, running Identify with a 540 plugged in generates the following:
The model number shown in the above screenshot can be obtained from the STU SDK API using tablet.getInformation() which returns the model number in the modelName property.
For example, in C#:
wgssSTU.UsbDevices usbDevices = new wgssSTU.UsbDevices();
if (usbDevices.Count == 0)
{
Console.Write("No devices found");
}
else
{
connected = true;
tablet = new wgssSTU.Tablet();
wgssSTU.IErrorCode ec = tablet.usbConnect(usbDevices[0], true);
if (ec.value == 0)
{
information = tablet.getInformation();
Console.Write("Tablet: " + information.modelName);
}
else
{
throw new Exception(ec.message);
}
}
2. Signature SDK
It is possible to obtain the STU's model number from the signature data object once a signature has been captured. The signature object contains information about the capture device which can be extracted from SigObj.AdditionalData using the CaptData enumerator CaptDigitizer.
DynamicCapture dc = new DynamicCaptureClass();
DynamicCaptureResult res = dc.Capture(sigCtl, "Who", "Why", null, null);
if (res == DynamicCaptureResult.DynCaptOK)
{
SigObj sigObj = (SigObj)sigCtl.Signature;
object tabletObj = sigObj.get_AdditionalData(CaptData.CaptDigitizer);
string tabletInfo = tabletObj.ToString();
}
The above will yield a string similar to the following in tabletInfo:
STU;'STU-540';1.0.6;80;0LQ0004227
The model number can then be extracted using a suitable string operation.