Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Hdal Api

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Haptic Device Abstraction Layer (HDAL)

API Reference
VERSION 2.1.3
August 14, 2008

Novint Technologies Incorporated Albuquerque, NM USA

-1-

Copyright Notice
2005-2008. Novint Technologies, Inc. All rights reserved. Printed in the USA. Except as permitted by license, no part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means electronic, mechanical, recording or otherwise, without prior written consent of Novint Technologies.

Trademarks
Novint, Novint Technologies, e-Touch, Falcon, and HDAL are trademarks or registered trademarks of Novint Technologies, Inc. Other brand and product names are trademarks of their respective holders.

Warranties and Disclaimers


Novint Technologies does not warrant that this publication is error free. This publication could include technical or typographical errors or other inaccuracies. Novint may make changes to the product described in this publication or to this publication at any time, without notice.

Questions or Comments
If you have any questions for our technical support staff, please contact us at support@novint.com. You can also phone 1-866-298-4420. If you have any questions or comments about the documentation, please contact us at support@novint.com.

Corporate Headquarters
Novint Technologies, Inc. PO Box 66956 Albuquerque, NM 87193 Phone: 1-866-298-4420 E-mail: support@novint.com Internet: http://www.novint.com

-2-

Preface
This manual is a reference to the Haptic Device Abstraction Layer produced by Novint Technologies. It contains reference pages to all the HDAL API functions, constants, and types. This manual was current as of the release of the corresponding version of HDAL. The technical content of this document was mechanically generated from HDAL source code by Doxygen, a general-purpose utility for documenting C and C++ code. For more information on Doxygen, see http://www.doxygen.org. .

-3-

Table of Contents
Preface................................................................................................................................. 3 Table of Contents ................................................................................................................ 4 Overview ............................................................................................................................. 5 Files ................................................................................................................................. 5 Units ................................................................................................................................ 5 Coordinate Frame............................................................................................................ 5 HDAL Reference ................................................................................................................ 6 include/hdl/hdl.h File Reference ..................................................................................... 6 Defines ........................................................................................................................ 6 Typedefs ...................................................................................................................... 7 Functions ..................................................................................................................... 7 Detailed Description ................................................................................................... 9 Typedef Documentation.............................................................................................. 9 Function Documentation ............................................................................................. 9 include/hdl/hdlConstants.h File Reference ................................................................... 16 Defines ...................................................................................................................... 16 Typedefs .................................................................................................................... 16 Enumerations ............................................................................................................ 17 Detailed Description ................................................................................................. 17 Typedef Documentation............................................................................................ 17 Enumeration Type Documentation ........................................................................... 17 include/hdl/hdlErrors.h File Reference ......................................................................... 17 Defines ...................................................................................................................... 17 Typedefs .................................................................................................................... 18 Detailed Description ................................................................................................. 19 Typedef Documentation............................................................................................ 19 include/hdlu/hdlu.h File Reference ............................................................................... 19 Functions ................................................................................................................... 19 Detailed Description ................................................................................................. 19 Function Documentation ........................................................................................... 19 HDAL API Page Documentation...................................................................................... 20 Deprecated List ............................................................................................................. 20 Index ................................................................................................................................. 21

-4-

Overview
Files
The HDAL API is represented in two files. include\hdl\hdl.h is the primary interface to HDALs functionality. It is complete, in that entire applications can be built from it. include\hdlu\hdlu.h is a utility interface, presenting functions that may be useful to the developer. HDAL can be used effectively without these utility interface functions.

Units
The units of measure for the HDAL interface are: Distance meters Force newtons Time seconds The nominal cycle time is approximately one millisecond. However, since operating systems are not able to control intervals with precision adequate to many applications, a more precise time measure may be needed. For precise time calculations, the application should use some precision clock, such as the Windows QueryPerformanceCounter function.

Coordinate Frame
The coordinate system used by HDAL is a right hand coordinate system: X increases to the right Y increases upward Z increases toward the user. The origin (X = 0, Y = 0, Z = 0) is approximately at the center of the device workspace.

-5-

HDAL Reference
include/hdl/hdl.h File Reference
Main API for HDAL services. #include <hdl/hdlExports.h> #include <hdl/hdlErrors.h> #include <hdl/hdlConstants.h>

Defines
#define false 0 #define HDAL_ISREADY 0

Normal hdlGetStatus return code.


#define HDAL_NOT_CALIBRATED 0x04

hdlGetStatus code indicating motors not homed


#define HDAL_SERVO_NOT_STARTED 0x02

hdlGetStatus code indicating servo loop net yet started


#define HDAL_UNINITIALIZED 0x01

hdlGetStatus code indicating HDAL not yet initialized


#define HDL_BUTTON_1 0x00000001

Mask for button 1.


#define HDL_BUTTON_2 0x00000002

Mask for button 2.


#define HDL_BUTTON_3 0x00000004

Mask for button 3.


#define HDL_BUTTON_4 0x00000008

Mask for button 4.


#define HDL_BUTTON_ANY 0xffffffff

Mask for any button.


#define HDL_DEFAULT_DEVICE_ID 0

ID for the default haptic device (usually one installed).


#define HDL_INVALID_HANDLE -1

Handle indicating invalid device handle.

-6-

#define HDL_SERVOOP_CONTINUE 1

Return code for continuing servo loop.


#define HDL_SERVOOP_EXIT 0

Return code for exiting servo loop.


#define true 1

Typedefs
typedef unsigned char bool

define bool type and values for C programmers to use with certain functions
typedef int HDLDeviceHandle

Handle to differentiate between multiple installed devices.


typedef int HDLDeviceID

ID to differentiate between multiple installed devices.


typedef int HDLOpHandle

Type for Servo loop operation handle.


typedef HDLServoOpExitCode __cdecl HDLServoOp (void *pParam)

Prototype for Servo operation function.


typedef int HDLServoOpExitCode

Type for Servo loop operation exit code.

Functions
HDLAPI __int64 HDLAPIENTRY HDL_BUILD_VERSION (HDL_VERSION_INFO_TYPE versionInfo)

Return Build component of version struct.


HDLAPI int HDLAPIENTRY HDL_MAJOR_VERSION (HDL_VERSION_INFO_TYPE versionInfo)

Return Major component of version struct.


HDLAPI int HDLAPIENTRY HDL_MINOR_VERSION (HDL_VERSION_INFO_TYPE versionInfo)

Return Minor component of version struct.


HDLAPI int HDLAPIENTRY hdlCountDevices ()

Count connected devices.


HDLAPI HDLOpHandle HDLAPIENTRY hdlCreateServoOp (HDLServoOp pServoOp, void *pParam, bool bBlocking)

-7-

Schedule an operation (callback) to run in the servo loop.


HDLAPI void HDLAPIENTRY hdlDestroyServoOp (HDLOpHandle hServoOp)

Remove an operation (callback) from the servo loop.


HDLAPI const char *HDLAPIENTRY hdlDeviceModel ()

Return the device model string.


HDLAPI void HDLAPIENTRY hdlDeviceWorkspace (double workspaceDimensions[6])

Retrieve the workspace of the device, measured in meters.


HDLAPI HDLError HDLAPIENTRY hdlGetError ()

Return the current error code from the error stack.


HDLAPI unsigned int HDLAPIENTRY hdlGetState ()

Query HDAL state.


HDLAPI bool HDLAPIENTRY hdlGetVersion (HDL_VERSION_REQUEST requestType, HDL_VERSION_INFO_TYPE *versionInfo)

Get version information.


HDLAPI HDLDeviceHandle HDLAPIENTRY hdlInitDevice (HDLDeviceID deviceID)

Initialize a haptic device.


HDLAPI HDLDeviceHandle HDLAPIENTRY hdlInitIndexedDevice (const int index, const char *configPath)

Initialize a specific indexed haptic device.


HDLAPI HDLDeviceHandle HDLAPIENTRY hdlInitNamedDevice (const char *deviceName, const char *configPath)

Initialize a specific named haptic device.


HDLAPI void HDLAPIENTRY hdlMakeCurrent (HDLDeviceHandle hHandle)

Make a specific haptic device current (Allows application to send forces to a specific device).
HDLAPI void HDLAPIENTRY hdlSetToolForce (double force[3])

Set the force to be generated by the device, measured in newtons.


HDLAPI void HDLAPIENTRY hdlStart ()

Start servo and all haptic devices.


HDLAPI void HDLAPIENTRY hdlStop ()

Stop servo and all haptic devices.


HDLAPI void HDLAPIENTRY hdlToolButton (bool *pButton)

-8-

Return current state of tool button(s).


HDLAPI void HDLAPIENTRY hdlToolButtons (int *pButton)

Return current state of tool buttons.


HDLAPI void HDLAPIENTRY hdlToolPosition (double position[3])

Return current tool position.


HDLAPI void HDLAPIENTRY hdlUninitDevice (HDLDeviceHandle hHandle)

Uninitializes a haptic device.

Detailed Description
Main API for HDAL services. Copyright 2005-2008 Novint Technologies, Inc. All rights reserved. Available only under license from Novint Technologies, Inc. Haptic Device Abstraction Layer Low level, cross-platform, general purpose interface.

Definition in file hdl.h. Typedef Documentation


typedef int HDLDeviceHandle

Handle to differentiate between multiple installed devices. Handle is an abstraction returned by the initialization routine.
Definition at line 46 of file hdl.h.typedef HDLServoOpExitCode __cdecl HDLServoOp(void *pParam)

Prototype for Servo operation function.


Parameters: pParam Pointer to data required by operation Returns: Exit code Errors: None

Definition at line 403 of file hdl.h. Function Documentation


HDLAPI __int64 HDLAPIENTRY HDL_BUILD_VERSION (HDL_VERSION_INFO_TYPE versionInfo)

Return Build component of version struct.


Parameters: versionInfo HDL_VERSION_INFO_TYPE struct returned from hdlGetVersion() Returns: Build component

-9-

See also: hdlGetVersion(). Errors: None. HDLAPI int HDLAPIENTRY HDL_MAJOR_VERSION (HDL_VERSION_INFO_TYPE versionInfo)

Return Major component of version struct.


Parameters: versionInfo HDL_VERSION_INFO_TYPE struct returned from hdlGetVersion() Returns: Major component See also: hdlGetVersion(). Errors: None. HDLAPI int HDLAPIENTRY HDL_MINOR_VERSION (HDL_VERSION_INFO_TYPE versionInfo)

Return Minor component of version struct.


Parameters: versionInfo HDL_VERSION_INFO_TYPE struct returned from hdlGetVersion() Returns: Minor component See also: hdlGetVersion(). Errors: None. HDLAPI int HDLAPIENTRY hdlCountDevices ()

Count connected devices.


Parameters: None Returns: Number of connected devices Errors: None Note: Only valid for Novint Falcon devices HDLAPI HDLOpHandle HDLAPIENTRY hdlCreateServoOp (HDLServoOp pServoOp, void * pParam, bool bBlocking)

Schedule an operation (callback) to run in the servo loop. Operation is either blocking (client waits until completion) or non-blocking (client continues execution).
Parameters: pServoOp Pointer to servo operation function pParam Pointer to data for servo operation function bBlocking Flag to indicate whether servo loop blocks

- 10 -

Returns: Handle to servo operation entry Errors: None See also: hdlDestroyServoOp, hdlInitNamedDevice, hdlInitIndexedDevice HDLAPI void HDLAPIENTRY hdlDestroyServoOp (HDLOpHandle hServoOp)

Remove an operation (callback) from the servo loop.


Parameters: hServoOp Handle to servo op to remove Returns: Nothing Errors: None. Note: hdlDestroyServoOp() should be called at application termination time for any servo operation that was added with bBlocking = false. See also: hdlCreateServoOp, hdlInitNamedDevice, hdlIndexedDevice HDLAPI const char* HDLAPIENTRY hdlDeviceModel ()

Return the device model string.


Parameters: None Returns: Device model string Errors: None HDLAPI void HDLAPIENTRY hdlDeviceWorkspace (double workspaceDimensions[6])

Retrieve the workspace of the device, measured in meters. Call this function to retrieve the workspace of the current device. Since not all devices have the same physical workspace dimensions, the application must account for different device workspaces. The workspace is defined in the device reference coordinate frame. It is up to the user to transform positions in this coordinate frame into the application's coordinate frame. See hdluGenerateHapticToAppWorkspaceTransform for a utility function to assist in this. Dimension order: minx, miny, minz, maxx, maxy, maxy (left, bottom, far, right, top, near) (minx, miny, minz) are the coordinates of the left-bottom-far corner of the device workspace. (maxx, maxy, maxz) are the coordinates of the right-top-near corner of the device workspace.
Parameters: workspaceDimensions See explanation above. Returns: Nothing Errors: manufacturer specific

- 11 -

no current device HDLAPI HDLError HDLAPIENTRY hdlGetError ()

Return the current error code from the error stack.


Returns: Error code on the top of the error stack. HDL_NO_ERROR if the error stack is empty. HDLAPI unsigned int HDLAPIENTRY hdlGetState ()

Query HDAL state.


Parameters: None Returns: Nothing Errors: manufacturer specific Note: If return == HDAL_ISREADY, device is ready. Otherwise, test to see reason: return && XXXX != 0, where XXXX is HDAL_UNINITIALIZED hdlInitNamedDevice failed earlier HDAL_SERVO_NOT_STARTED hdlStart() not called earlier HDAL_NOT_CALIBRATED needs autocalibration HDLAPI bool HDLAPIENTRY hdlGetVersion (HDL_VERSION_REQUEST requestType, HDL_VERSION_INFO_TYPE * versionInfo)

Get version information.


Parameters: requestType Type of version information requested versionInfo Requested info Returns: Success or failure Errors: None. Typical usage:
HDL_VERSION_INFO_TYPE deviceVersion; int deviceMajor; int deviceMinor; __int64 deviceSerialNumber; if (hdlGetVersion(HDL_DEVICE, &deviceVersion)) { deviceMajor = HDL_MAJOR_VERSION(deviceVersion); deviceMinor = HDL_MINOR_VERSION(deviceVersion); deviceSerialNumber = HDL_BUILD_VERSION(deviceVersion); }

HDLAPI HDLDeviceHandle HDLAPIENTRY hdlInitDevice (HDLDeviceID deviceID)

Initialize a haptic device.

- 12 -

Parameters: deviceID ID of haptic device Returns: Handle to haptic device Errors: manufacturer specific could not load device specific dll Deprecated: Only supports a single device, deviceID is ignored. Included to support older apps. Use hdlInitNamedDevice instead. See also: hdlInitNamedDevice HDLAPI HDLDeviceHandle HDLAPIENTRY hdlInitIndexedDevice (const int index, const char * configPath)

Initialize a specific indexed haptic device.


Parameters: index Index of haptic device. configPath Path/file for ini file. configPath search order: See also: hdlInitNamedDevice Returns: Handle to haptic device Errors: manufacturer specific could not load device specific dll Note: Support only Falcon devices via index Index refers to alphabetical sort order by serial number Setup sequence:
m = hdlCountDevices(); hdlInitIndexedDevice(n); // 0 <= n < m hdlStart(); hdlCreateServoOp(...);

Teardown sequence:
hdlDestroyServoOp(...); hdlStop(); hdlUninitDevice(...);

See also: hdlInitNamedDevice, hdlStart, hdlStop, hdlCreateServoOp, hdlDestroyServoOp, hdlUninitDevice Note: In C++ programs, configPath is optional, with a default value of (const char *) 0. C programs must pass (const char *) 0 to use default configPath HDLAPI HDLDeviceHandle HDLAPIENTRY hdlInitNamedDevice (const char * deviceName, const char * configPath)

Initialize a specific named haptic device.

- 13 -

Parameters: deviceName Name of haptic device. configPath Path/file for ini file. configPath search order: 1. relative to executable directory 2. relative to executable directory's parent if executable directory is Debug or Release 3. config directory in path specified by NOVINT_DEVICE_SUPPORT Returns: Handle to haptic device Errors: manufacturer specific could not load device specific dll Note: Support multiple devices via deviceName string. Setup sequence:
hdlInitNamedDevice(...); hdlStart(); hdlCreateServoOp(...);

Teardown sequence:
hdlDestroyServoOp(...); hdlStop(); hdlUninitDevice(...);

See also: hdlInitIndexedDevice, hdlStart, hdlStop, hdlCreateServoOp, hdlDestroyServoOp, hdlUninitDevice Note: In C++ programs, configPath is optional, with a default value of (const char *) 0. C programs must pass (const char *) 0 to use default configPath HDLAPI void HDLAPIENTRY hdlMakeCurrent (HDLDeviceHandle hHandle)

Make a specific haptic device current (Allows application to send forces to a specific device).
Parameters: hHandle Haptic device handle Returns: Nothing Errors: manufacturer specific hHandle invalid HDLAPI void HDLAPIENTRY hdlSetToolForce (double force[3])

Set the force to be generated by the device, measured in newtons. Forces are in device coordinates. Dimension order: x, y, z
Parameters: force Measured in Newtons; x, y, z order Returns: Nothing Errors: manufacturer specific no current device

- 14 -

max force exceeded HDLAPI void HDLAPIENTRY hdlStart ()

Start servo and all haptic devices.


Parameters: None Returns: Handle to haptic device Errors: manufacturer specific servo could not start Note: Starts servo and all haptic devices. Call after all devices are initialized. Start is separated from hdlInitNamedDevice to allow all devices to be initialized before servo operations are started. Currently, only one Falcon at a time is supported, but this restriction will be lifted in the future. Other device types supported by HDAL may already allow multiple devices to be connected. See also: hdlStop, hdlInitNamedDevice, hdlInitIndexedDevice HDLAPI void HDLAPIENTRY hdlStop ()

Stop servo and all haptic devices.


Parameters: None Returns: Nothing See also: hdlStart, hdlInitNamedDevice, hdlInitIndexedDevice HDLAPI void HDLAPIENTRY hdlToolButton (bool * pButton)

Return current state of tool button(s). For multi-button devices, if any button is pressed, pButton* is set to true.
Parameters: pButton Pointer to bool to hold button state Returns: Nothing Errors: None HDLAPI void HDLAPIENTRY hdlToolButtons (int * pButton)

Return current state of tool buttons. Returned value is a bitmask of buttons, with the least significant bit associated with button "0".
Parameters: pButton Pointer to an int to hold button states

- 15 -

Returns: Nothing Errors: None HDLAPI void HDLAPIENTRY hdlToolPosition (double position[3])

Return current tool position.


Parameters: position In x, y, z order, measured in meters. Returns: Nothing Errors: None HDLAPI void HDLAPIENTRY hdlUninitDevice (HDLDeviceHandle hHandle)

Uninitializes a haptic device.


Parameters: hHandle Handle of haptic device Returns: Nothing Errors: manufacturer specific See also: hdlInitNamedDevice, hdlInitIndexedDevice

include/hdl/hdlConstants.h File Reference


Constants for HDAL.

Defines
#define HDL_VERSION_INVALID -1

vesion is invalid
#define HDL_VERSION_NOT_APPLICABLE -2

version field not applicable


#define HDL_VERSION_UNAVAILABLE -3

version field not available

Typedefs
typedef __int64 HDL_VERSION_INFO_TYPE

Structure returned by hdlGetVersion.

- 16 -

Enumerations
enum HDL_VERSION_REQUEST { HDL_HDAL = 0x11, HDL_DEVICE = 0x21, HDL_DEVICE_SDK = 0x22, HDL_DEVICE_COMMS = 0x23, HDL_DEVICE_OS = 0x24, HDL_GRIP = 0x33 }

Enumeration of version request types.

Detailed Description
Constants for HDAL. Copyright 2005-2008 Novint Technologies, Inc. All rights reserved. Available only under license from Novint Technologies, Inc.

Definition in file hdlConstants.h. Typedef Documentation


typedef __int64 HDL_VERSION_INFO_TYPE

Structure returned by hdlGetVersion.


See also: hdlGetVersion

Definition at line 39 of file hdlConstants.h. Enumeration Type Documentation


enum HDL_VERSION_REQUEST

Enumeration of version request types.


See also: hdlGetVersion Enumerator:

HDL_HDAL version of HDAL HDL_DEVICE device hardware in current device context HDL_DEVICE_SDK SDK version of current device. HDL_DEVICE_COMMS communications version of current device HDL_DEVICE_OS version of device OS HDL_GRIP grip in current device context

Definition at line 22 of file hdlConstants.h.

include/hdl/hdlErrors.h File Reference


Error codes returned from HDAL.

Defines
#define HDL_ERROR_INIT_FAILED 0x10

Device initialization error.

- 17 -

#define HDL_ERROR_INTERNAL 0x02

HDAL internal error>.


#define HDL_ERROR_STACK_OVERFLOW 0x01

Overflow of error stack.


#define HDL_INIT_DEVICE_ALREADY_INITED 0x16

Device already initialized.


#define HDL_INIT_DEVICE_FAILURE 0x15

Failed to initilize device.


#define HDL_INIT_DEVICE_NOT_CONNECTED 0x17

Requested device not connected.


#define HDL_INIT_DLL_LOAD_ERROR 0x14

Could not load driver DLL.


#define HDL_INIT_ERROR_MASK 0x1F

Mask for all initialization errors.


#define HDL_INIT_INI_DLL_STRING_NOT_FOUND 0x12

No DLL name in configuration file.


#define HDL_INIT_INI_MANUFACTURER_NAME_STRING_NOT_FOUND 0x13

No MANUFACTURER_NAME value in configuration file.


#define HDL_INIT_INI_NOT_FOUND 0x11

Could not find configuration file.


#define HDL_NO_ERROR 0x0

No errors on error stack.


#define HDL_SERVO_START_ERROR 0x18

Could not start servo thread.

Typedefs
typedef int HDLError

HDAL API Errors.

- 18 -

Detailed Description
Error codes returned from HDAL. Copyright 2005-2008 Novint Technologies, Inc. All rights reserved. Available only under license from Novint Technologies, Inc.

Definition in file hdlErrors.h. Typedef Documentation


typedef int HDLError

HDAL API Errors. Client application queries HDAL errors using hdlGetError(). hdlGetError() returns an error type.
Definition at line 19 of file hdlErrors.h.

include/hdlu/hdlu.h File Reference


Utility functions for HDAL applications. #include <hdl/hdlExports.h>

Functions
HDLAPI void HDLAPIENTRY hdluGenerateHapticToAppWorkspaceTransform (double hapticWorkspace[6], double gameWorkspace[6], bool useUniformScale, double tranformMat[16])

Generate transform for mapping between haptic and game workspace.


HDLAPI double hdluGetSystemTime (void)

Compute a precise time based on CPU high performance timer.

Detailed Description
Utility functions for HDAL applications. Copyright 2005-2008 Novint Technologies, Inc. All rights reserved. Available only under license from Novint Technologies, Inc. Haptic Device Abstraction Layer Low level, cross-platform, general purpose interface.

Definition in file hdlu.h. Function Documentation


HDLAPI void HDLAPIENTRY hdluGenerateHapticToAppWorkspaceTransform (double hapticWorkspace[6], double gameWorkspace[6], bool useUniformScale, double tranformMat[16])

Generate transform for mapping between haptic and game workspace. Inputs specify the minimum and maximum coordinate values of rectangular paralleliped bounding boxes, measured in meters. The function computes and returns (in transformMat) the transform matrix that will convert the device position into workspace coordinates. See hdlDeviceWorkspace for the HDAL function to retrieve the device's workspace.

- 19 -

Parameters: hapticWorkspace minx, miny, minz, maxx, maxy, maxz gameWorkspace minx, miny, minz, maxx, maxy, maxz useUniformScale If true, scale uniformly across the workspace tranformMat Transformation from haptic to game workspace Returns: Nothing

Errors: None
HDLAPI double hdluGetSystemTime (void)

Compute a precise time based on CPU high performance timer.


Parameters: None Returns: Current system time, in seconds from start of epoch

HDAL API Page Documentation


Deprecated List
Member hdlInitDevice Only supports a single device, deviceID is ignored. Included to support older apps. Use hdlInitNamedDevice instead.

- 20 -

Index
hdl.h HDL_BUILD_VERSION, 9 HDL_MAJOR_VERSION, 10 HDL_MINOR_VERSION, 10 hdlCountDevices, 10 hdlCreateServoOp, 10 hdlDestroyServoOp, 11 HDLDeviceHandle, 9 hdlDeviceModel, 11 hdlDeviceWorkspace, 11 hdlGetError, 12 hdlGetState, 12 hdlGetVersion, 12 hdlInitDevice, 12 hdlInitIndexedDevice, 13 hdlInitNamedDevice, 13 hdlMakeCurrent, 14 HDLServoOp, 9 hdlSetToolForce, 14 hdlStart, 15 hdlStop, 15 hdlToolButton, 15 hdlToolButtons, 15 hdlToolPosition, 16 hdlUninitDevice, 16 HDL_BUILD_VERSION hdl.h, 9 HDL_DEVICE hdlConstants.h, 17 HDL_DEVICE_COMMS hdlConstants.h, 17 HDL_DEVICE_OS hdlConstants.h, 17 HDL_DEVICE_SDK hdlConstants.h, 17 HDL_GRIP hdlConstants.h, 17 HDL_HDAL hdlConstants.h, 17 HDL_MAJOR_VERSION hdl.h, 10 HDL_MINOR_VERSION hdl.h, 10 HDL_VERSION_INFO_TYPE hdlConstants.h, 17 HDL_VERSION_REQUEST hdlConstants.h, 17 hdlConstants.h HDL_DEVICE, 17 HDL_DEVICE_COMMS, 17 HDL_DEVICE_OS, 17 HDL_DEVICE_SDK, 17 HDL_GRIP, 17 HDL_HDAL, 17 HDL_VERSION_INFO_TYPE, 17 HDL_VERSION_REQUEST, 17 hdlCountDevices hdl.h, 10 hdlCreateServoOp hdl.h, 10 hdlDestroyServoOp hdl.h, 11 HDLDeviceHandle hdl.h, 9 hdlDeviceModel hdl.h, 11 hdlDeviceWorkspace hdl.h, 11 HDLError hdlErrors.h, 19 hdlErrors.h HDLError, 19 hdlGetError hdl.h, 12 hdlGetState hdl.h, 12 hdlGetVersion hdl.h, 12 hdlInitDevice hdl.h, 12 hdlInitIndexedDevice hdl.h, 13 hdlInitNamedDevice hdl.h, 13 hdlMakeCurrent hdl.h, 14 HDLServoOp hdl.h, 9 hdlSetToolForce hdl.h, 14 hdlStart hdl.h, 15 hdlStop hdl.h, 15 hdlToolButton hdl.h, 15 hdlToolButtons hdl.h, 15 hdlToolPosition hdl.h, 16 hdlu.h

- 21 -

hdluGenerateHapticToAppWorkspaceTransfo rm, 19 hdluGetSystemTime, 20 hdluGenerateHapticToAppWorkspaceTransform hdlu.h, 19 hdluGetSystemTime hdlu.h, 20

hdlUninitDevice hdl.h, 16 include/hdl/hdl.h, 6 include/hdl/hdlConstants.h, 16 include/hdl/hdlErrors.h, 17 include/hdlu/hdlu.h, 19

- 22 -

You might also like