Revision 1.9 – 12th Mar 2013

www.touch-base.com\documentation\General

 

      Command line user interface

 

 

TButils

Tbcalib

 

Contact

TButils user interface

Starting with updd version 4.1.10 a new command line user interface utility is available called tbutils and replaces a number of functions previously located in tbcalib. For users of earlier UPDD versions see tbcalib user interface below.

 

The user interface program exports this interface using the following syntax:

 

Windows

C:\program files\updd\TButils {parameter}

Note: Entering the commands from a Windows command line would be tbutils “{parameters}”

Mac OS X

4.1.10: /tbupddmx/tbutils.app/Contents/MacOS/tbutils {parameter}

5.0.x: /Library/Application\ Support/UPDD/tbutils.app/Contents/MacOS/tbutils {parameter}

Linux

export LD_LIBRARY_PATH=/opt/tbupddlx:$LD_LIBRARY_PATH

/opt/tbupddlx/tbutils {parameter}

Or alternatively (if updddenv script exists)

/opt/tbupddlx/updddenv tbutils {parameters}

 

Notes:

 

  1. Output is directed to the console (stderr / stdout) allowing for scripted automation.
  2. Success is indicated by rc=0, error is rc= -1.
  3. When an error occurs a meaningful message is directed to the console (stderr).
  4. Passed parameters are checked for correct syntax and values.
  5. If running the utility outside the UPDD application folder you may need to add the UPDD path to the system library path, such that the utility can locate the ACE library, as per this Linux example,: export LD_LIBRARY_PATH=/opt/tbupddlx:$LD_LIBRARY_PATH.

Parameters

Description

{None}

Lists the command syntax and the available commands in the version you are running!

list

Lists UPDD device information. Lists for each device:

Internal UPDD handle / device name / desktop segment

This example shows a system with 3 touch devices >>>>>>>

 

 

A later version of tbutils also lists the device state as below;

This example shows a system with 2 devices in various states >>

NOK = device not connected

OK   = device connected

!!!    = Driver interface not available (tbupddwu has been stopped)

Version

Shows the driver’s release information, being;

Version number / build id / Production system id

[<device selector>]

Selects the UPDD device against which to perform request. Only required in multi-device environment

Syntax

Description

nodevice

The  “nodevice” option allows actions on general (non-device specific) parameters

segment <name>

Perform request on the updd device associated with the updd desktop segment identifier.

e.g. Tbutils segment "Monitor 2" disable - would disable the updd device associated with Monitor 2.

device <handle>

Perform request on the specified UPDD device. Handle is the device handle of the device as held by UPDD and shown in the list command above.

e.g. Tbutils device 2 enable - would enable the updd device with updd handle 2

If no device selector is specified and one is required the first installed device is chosen

UPDD specific requests

These requests relate specifically to UPDD functions

 

calibrate

Performs a calibration procedure appropriate to the device in question

 

 

 

Cisco DMP4310

Invokes the built in calibration interface to collect calibration data. Calibration pattern defined in the UPDD settings file.

 

 

Others

Invoke a text based top left, bottom right 2 point calibration procedure.

 

disable

Equivalent API call

Disable the device

TBApiSetSettingDWORD(passedDeviceNumber,_T("Enabled"),0);

 

Enable

Equivalent API call

Enable the device

TBApiSetSettingDWORD(passedDeviceNumber,_T("Enabled"),1);

 

Pointeroff

Equivalent API call

Disable the driver mouse pointer interface (system wide – all devices)

TBApiMousePortInterfaceEnable(false);

 

Pointeron

Equivalent API call

Enable the driver mouse pointer interface (system wide – all devices)

TBApiMousePortInterfaceEnable(true);

 

Reinit

Equivalent API call

Reinitialise the controller and re-establish a link

TBApiReinit(passedDeviceNumber);

 

Reload

Equivalent API call

Force the driver to re-read settings (not necessary when using this interface to change a setting)

TBApiReloadNoApply();

 

Soundoff

Equivalent API call

Turn sound off for the device

TBApiSetSettingDWORD(passedDeviceNumber,_T("Sound"),0);

 

Soundon

Equivalent API call

Turn sound on for the device

TBApiSetSettingDWORD(passedDeviceNumber,_T("Sound"),1);

 

Togglesound

Equivalent API call

Toggle sound setting for the device

DWORD dw;

TBApiGetSettingDWORD(passedDeviceNumber,_T("Sound"),&dw);

dw ^=1;

TBApiSetSettingDWORD(passedDeviceNumber,_T("Sound"),dw);

TBApiApply()

 

toolbaroff <name>

Equivalent API call

Disable a named toolbar

TBApiEnableToolbar

 

toolbaron <name>

Equivalent API call

Enable a named toolbar

TBApiEnableToolbar

 

Unload

Equivalent API call

Instruct registered applications to terminate

TBApiSendUnloadMessage

 

version

 

Returns the UPDD 3 part build number to stdout e.g.04:01:06R / 1221 / G11951. For backward compatibility this can be redirected to file version.txt if required.

 

dump4tba

<file path>

This option is used to create default calibration data from a calibrated system.  If no file path is defined the calibration data is written to file tbcalib.tba in the current folder or the file defined. Defining a path e.g. dump4tba c:\users\gary\tba.dat is useful if the current working folder is not writeable.

The data is written in a format suitable for embedding in our software generation system such that the installation utilizes the default calibration data in the UPDD settings files.  In this example a system has been calibrated with a 1 percent margin, 8 calibration points, 10 second timeout:

Normal,1,8,10,0,0,15790,1223,15768,15642,885,1132,942,15756,12178,4929,12146,12180,4649,4959,4658,12040

The file containing the captured calibration data should be sent to Touch-Base for processing.

 

record <filename>

Records touch co-ordinate input to a file. Recording terminates after about 10 seconds of inactivity or using Ctrl C on the keyboard. Ensure that file name is in a folder that has write access.

The file is a csv format:

x, y, stylus, z, reserved-for-future-use

 

e.g. 600,253,0,-1,0

 

Z is not recorded, this has to be manually added. (-1 is "no value"). Only works if the Z (pressure) axis is both supported by the device and in UPDD’s  configuration for the device.

 

playback <filename>

Used to playback previously captured touch co-ordinate data using the ‘record’ function above. Events are played back one every 20ms or so, so the playback might run at a slightly different speed to the recording.

Periods of no input are identified by null records thus:

-1,-1,-1,-1,0

 

Use the following options to change arbitrary UPDD settings file entries. UPDD settings are documented in the UPDD settings file.  By default the setting changes are applied to Device 1 – this equates to the settings file branch [UPDD/Paramaters/1].  To change settings in the general branch (not related to a device) use ‘desktop selector’ = nodevice – this equates to the settings file branch [UPDD/Parameters].

Note: Take care when updating the driver settings as setting an invalid setting could result in unpredictable behaviour or a crashed driver!  You have been warned.

Some example setting changes and their use are documented here.

 

setting    <dw> <name> <value>

               <sz> <name> <value>

Set the DWORD setting name to the hex numeric value

 

Set the String setting name to value

 

 

In the main the setting option is used to change UPDD settings but there are a few options that can change general system settings as described here:

These three mouse settings allow the internal mouse settings to be adjusted:

 

 

Windows

DoubleClickHeight

Mouse double click height setting

 

 

Windows

DoubleClickwidth

Mouse double click width setting

 

 

Windows

DoubleClickSpeed

Mouse double click speed setting

 

Note: If the setting name has a space then it must be quoted, e.g. tbutils nodevice setting dw “calibration beeps” 0. Ensure the “ is from ‘Shift +2’ keystroke. If cut and pasted, say from a Word doc, it may look correct but will not necessarily be the correct code.

 

Layout

Shows system's monitor layout as seen by UPDD software. UPDD 4.1.10 and above utilises QT monitor matrix (QDesktopWidget class) in all OS to retrieve monitor layout information and for monitor handling. For successful UPDD multi-monitor operation the QT monitor properties must see either different monitor ids or co-ordinates. This option lists the monitor configuration as seen by UPDD, as per the examples below:

 

 

Windows system with 6 monitors

Linux system with 2 monitors

 

 

Controller specific requests

Only shown if the software is configured to support the controller.

 

Zytronic - The following four options are for use with the Zytronic X-Y controllers and will not work with the new (Apr 2010) ZY100 controller. These functions are useful in OSes (Windows CE etc) where the UPDD Console, firmware dialog is not available to make the settings.

 

zyavframes=n

Set number of frames for X / Y averaging in Zytronic X-Y controllers. Range 0 to 9.

 

zyglasstype=n

Set the glass thickness in Zytronic X-Y controllers The controller can be adjusted using this setting to operate through various overlay thicknesses.  Available options are Thin, Medium and Thick.   The Medium setting is the default.  These settings operate on time averaging of captured data from the sensor, hence the thicker the overlay, the sensor response time is reduced due to the greater time interval of data captured. These options should be used in conjunction with the Threshold (Sensitivity) setting adjustment to obtain optimum operation when using various thicknesses of overlays. Range 0 (Thin), 1 (Medium) and 2 (Thick).

 

zynormalisation

Initiates a normalisation of the sensor array wire levels in Zytronic X-Y controllers.

 

zysensitivity=nn

Set touch sensitivity in Zytronic X-Y controllers. Range 0 to 50.

 

TRS - The following requests are for use with the TRS Star controllers.

 

trsset

Further information available from TRS

 

trsget

Further information available from TRS

 

trsrecalibrate

Further information available from TRS

 

trsrestart

Further information available from TRS

 

trsisp

Further information available from TRS

 

trsselftest

Further information available from TRS

 

readeeprom

Further information available from TRS

 

writeeeprom

Further information available from TRS

 

ELO - The following two requests are for use with ELO Smartset controllers.

 

smtwrite:nnnnnn

Set the serial number to nnnnnn on the ELO Smartset controller.

Note: Changing the serial number causes UPDD to see a new device, so an additional device will be listed in the UPDD Console device list when the controller reports its serial number (this appears to be after rescan of devices, such as a replug or a reboot).

 

Equivalent API call

BOOL TBAPI TBApiWriteSmartsetUSBSerialNumber(HTBDEVICE aDevice, const TCHAR* aBuffer, DWORD aSize);

 

smtread

 

Read the serial number from the ELO Smartset controller and send to stdout.  (Only use one ELO Smartset controllers, otherwise the behavior is undefined). For backward compatibility this can be redirected to file smtread.txt if required.

 

Equivalent API call

BOOL TBAPI TBApiReadSmartsetUSBSerialNumber(HTBDEVICE aDevice, TCHAR* aBuffer, DWORD aSize);

 

Hampshire - The following two requests are for use with Hampshire/Microchip tsharc controllers.

 

tsharcwrite:n

Write the serial number n to the Hampshire TSHARC controller. (Only use one controller, otherwise the behavior is undefined).

 

Equivalent API call

BOOL TBAPI TBApiWriteTSHARCUSBSerialNumber(HTBDEVICE aDevice, const TCHAR* aBuffer, DWORD aSize);

 

tsharcread

 

Read the serial number from eeprom on the Hampshire TSHARC controller and send to stdout (Only use one controller, otherwise the behavior is undefined). For backward compatibility this can be redirected to file tsharcread.txt if required.

 

Equivalent API call

BOOL TBAPI TBApiReadTSHARCUSBSerialNumber(HTBDEVICE aDevice, TCHAR* aBuffer, DWORD aSize);

Error messages

Error messages issued by the utility are as follows:

 

Unable to open connection to driver

Tbutils communicates with the main driver process tbupddwu using tcp/ip on port 4141.

This error means that one of the following situations exists.

1)     Tbupddwu is not running

2)     Port 4141 is blocked (for local traffic)

3)     Tbupddwu is stalled in some way.

Check that tbupddwu is running#;

under Linux using the command - ps –ax | grep tbupddwu

or task Manager under Windows or Activity Monitor under Mac OS X

 

Tbcalib user interface

In UPDD versions up to and including 4.1.8 user interface calls were held in Tbcalib. With 4.1.10 and above they were relocated to a new utility program, tbutils, as documented above.

 

The calibration program exports this interface using the following syntax:

 

Windows

TBcalib {parameter}

Note: Entering the commands from a Windows command line would be tbcalib “{parameters}”

Mac OS X

/tbupddmx/tbcalib.app/Contents/MacOS/tbcalib {parameter}

Linux

/opt/tbupddlx/upddcalib {parameter}

or

/opt/tbupddlx/tbcalib {parameter}

This command may need to be run prior to calling tbcalib:

export LD_LIBRARY_PATH=/opt/tbupddlx:$LD_LIBRARY_PATH'

 

Notes:

1)      If the parameter affected has a space then the parameter value must be quoted, e.g. tbcalib Device=0 "/setting:calibration beeps=0". In some cases we have seen “ ignored and ‘ have worked!  Please try ‘ if “ cause issues.

2)      Win7 file write issue: Some of the user interface calls create files in the UPDD application folder and under Windows 7 this folder may not have correct write permissions to allow for files to be created. In this case you may see an error or you may not find the file (it will be remapped elsewhere).  When using functions that create files ensure you have administration rights.

 

Please note parameters are case sensitive and must be defined as shown below.

 

Calibration parameters

Used with the calibration procedure

None passed

will calibrate the first active device on the system.

Device=n

perform request on the specified updd device and, if calibrating, the currently selected calibration style, default first in list. Will also calibrate any defined toolbars unless ‘Toolbar=ABogusValue’ is used to disable toolbar processing.

Normally used by calling programs to perform a given function against a specific device, such as the UPDD Console device calibration option.

N=the device handle of the device as held by UPDD.  This option is used by UPDD SDK based programs tilizing the UPDD API to determine the device handle using related API calls such as TBAPIGetRelativeDevice.

Device=connected

Perform request on the first connected device.

“Segment=segment id”

(UPDD ver 4.1.3 and above)

Perform request on the updd device associated with the updd desktop segment identifier and, if calibrating, the currently selected calibration style, default first in list. Will also calibrate any defined toolbars unless ‘Toolbar=ABogusValue’ is used to disable toolbar processing

Normally used by calling programs to perform a given function against a specific device, such as the UPDD Console device calibration option.

e.g. Tbcalib “Segment=Monitor 2” /disable - would disable the updd device associated with Monitor 2.

 

User Interface Calls

When TBcalib is invoked with a user interface parameter only the function associated with the parameter is performed. As would be expected, calibration is not invoked.

Device=n

See above definition.

Segment=” segment id”

See above definition.

/reinit

Reinitialise the controller and re-establish a link

Equivalent API call

TBApiReinit(passedDeviceNumber);

/reload

Force the driver to re-read settings (not necessary when using this interface to change a setting)

Equivalent API call

TBApiReloadNoApply();

/toolbaroff:toolbarname

Disable a named toolbar

Equivalent API call

TBApiEnableToolbar

/toolbaron:toolbarname

Enable a named toolbar

Equivalent API call

TBApiEnableToolbar

/toggletouch

Toggle the device enabled state

Equivalent API call

DWORD dw;

TBApiGetSettingDWORD(passedDeviceNumber,_T("Enabled"),&dw);

dw ^= 1;

TBApiSetSettingDWORD(passedDeviceNumber,_T("Enabled"),dw);

/enable

Enable the device

Equivalent API call

TBApiSetSettingDWORD(passedDeviceNumber,_T("Enabled"),1);

/disable

Disable the device

Equivalent API call

TBApiSetSettingDWORD(passedDeviceNumber,_T("Enabled"),0);

/pointeroff

Disable the driver mouse pointer interface (system wide – all devices)

Equivalent API call

TBApiMousePortInterfaceEnable(false);

/pointeron

Enable the driver mouse pointer interface (system wide – all devices)

Equivalent API call

TBApiMousePortInterfaceEnable(true);

/soundon

Turn sound on for the device

Equivalent API call

TBApiSetSettingDWORD(passedDeviceNumber,_T("Sound"),1);

/soundoff

Turn sound on for the device

Equivalent API call

TBApiSetSettingDWORD(passedDeviceNumber,_T("Sound"),0);

/togglesound

Toggle sound setting for the device

Equivalent API call

DWORD dw;

TBApiGetSettingDWORD(passedDeviceNumber,_T("Sound"),&dw);

dw ^=1;

TBApiSetSettingDWORD(passedDeviceNumber,_T("Sound"),dw);

TBApiApply();

/screenresupdate

MAC OS X only – Requests the driver to recalculate calibration mapping based one the current screen resolution. To be used where a system is calibrated in one resolution but uses other resolutions (especially useful where applications are changing resolution)

Equivalent API call

DWORD nDevices;

TBApiGetSettingDWORD(0, _T("Number Of Devices"), &nDevices);

for(unsigned j = 0; j < nDevices; ++j)

{

  int dev=0;

  dev = TBApiGetRelativeDevice(j);

  if(!dev)

  {

    continue;

  }

  else

  {

    SetupForMultiMonitor(dev,this);

  }

}

Use the following options to change arbitrary UPDD settings file entry. UPDD settings are documented in the UPDD settings file.  By default the setting changes are applied to Device 1 – this equates to the settings file branch [UPDD/Paramaters/1].  To change settings in the general branch (not related to a device) use Device=0 – this equates to the settings file branch [UPDD/Parameters].

/setting:XXX=NNN

Set the DWORD value XXX  to the hex numeric value NNN

/settingsz:XXX=ZZZ

Set the string value XXX to the value ZZZ

Note: If the setting name has a space then the option must be quoted, e.g. tbcalib Device=0 "/setting:calibration beeps=0". See note 1 above for important information!

The following four parameters are for use with the Zytronic X-Y controllers and will not work with the new (Apr 2010) ZY100 controller. These functions are useful in OSes (Windows CE etc) where the UPDD Console, firmware dialog is not available to make the settings

zysensitivity=nn

Set touch sensitivity in Zytronic X-Y controllers. Range 0 to 50.

zyavframes=n

Set number of frames for X / Y averaging in Zytronic X-Y controllers. Range 0 to 9.

zyglasstype=n

Set the glass thickness in Zytronic X-Y controllers The controller can be adjusted using this setting to operate through various overlay thicknesses.  Available options are Thin, Medium and Thick.   The Medium setting is the default.  These settings operate on time averaging of captured data from the sensor, hence the thicker the overlay, the sensor response time is reduced due to the greater time interval of data captured. These options should be used in conjunction with the Threshold (Sensitivity) setting adjustment to obtain optimum operation when using various thicknesses of overlays. Range 0 (Thin), 1 (Medium) and 2 (Thick).

zynormalisation

Initiates a normalisation of the sensor array wire levels in Zytronic X-Y controllers.

/smtwrite:nnnnnn

Set the serial number to nnnnnn on the ELO Smartset controller.

Note: Changing the serial number causes UPDD to see a new device, so an additional device will be listed in the UPDD Console device list when the controller reports its serial number (this appears to be after rescan of devices, such as a replug or a reboot).

Equivalent API call

BOOL TBAPI TBApiWriteSmartsetUSBSerialNumber(HTBDEVICE aDevice, const TCHAR* aBuffer, DWORD aSize);

/smtread

(Win 7? – See note)

Read the serial number from the ELO Smartset controller and dump to the file smtread.txt (Only use one ELO Smartset controllers, otherwise the behavior is undefined).

Equivalent API call

BOOL TBAPI TBApiReadSmartsetUSBSerialNumber(HTBDEVICE aDevice, TCHAR* aBuffer, DWORD aSize);

/tsharcwrite:n

Write the serial number n to the Hampshire TSHARC controller. (Only use one controller, otherwise the behavior is undefined).

Equivalent API call

BOOL TBAPI TBApiWriteTSHARCUSBSerialNumber(HTBDEVICE aDevice, const TCHAR* aBuffer, DWORD aSize);

/tsharcread

(Win 7? – See note)

Read the serial number from eeprom on the Hampshire TSHARC controller and dump to the file tsharcread.txt (Only use one controller, otherwise the behavior is undefined).

Equivalent API call

BOOL TBAPI TBApiReadTSHARCUSBSerialNumber(HTBDEVICE aDevice, TCHAR* aBuffer, DWORD aSize);

/version
(Win 7? – See note)

Available in 4.1.6, (build 1221 and above), returns the UPDD version number in a text file called version.txt as a 3 part build number: e.g.04:01:06R / 1221 / G11951

 

Tbcalib return codes

These are the return codes from TBcalib and access to the code will be specific to the launch method used:

0          Success
4          Syntax error passing parameter

5          Failure to open API

6          Couldn’t find a desktop segment

            ZY = specific to Zytronic X-Y controllers

7          ZY Value passed for sensitivity setting out of range

8          ZY Set sensitivity failed

9          ZY Value passed for glasstype setting out of range

10         ZY Set glasstype failed

11         ZY Value passed for average frames setting out of range

12         ZY Set averaged frames failed

13         ZY Set normalisation failed

 

Contact

For further information or technical assistance please email the technical support team at technical@touch-base.com.