Generic Driver Manual
IntriCon Generic Driver

Version

This documentation is valid for the version listed in the bottom of this page.

For details about changes, see the revision history.

Introduction

This document describes the API for using the IntriCon Generic Driver Dynamic Link Library (DLL) set. These DLLs are intended to be used by those writing hearing instrument programming applications for Windows 7 or Windows 8, and who are using either the Hipro, NoahLink, or EMiniTec programming interfaces.

The IntriCon Generic Driver Set are 32-bit DLLs for desktop machines. The DLLs have both a .NET managed interface and COM interface. The .NET managed interface is compatible with C++/CLI, VB.NET, and C#.NET languages. The COM interface is compatible with Delphi, C++, and Visual Basic 6 development environments. Other development systems may require other methods of interfacing.

Note: G_Audion8BLE (Lumen 200B) is fully supported only in .NET. Also, the G_Audion8 object is available in the driver, but not supported. The G_Audion8BLE has not been tested via the COM interface. If you are programming outside of .NET you might need to create a wrapper.

Manual Organization

For a list of most global and amp specific enumerations, such as error codes, amp types, and null representations, see "Namespace Members -> All" in the index. The ENUMNAMESPACE contains most the global enums and constants. Remaining enumerations are listed under the pages that start with "Programmer:" in the index

For code examples and information about how to use for your specific development environment, look under pages in the index that start with "Programming:".

There are two ways to interface with the Generic Driver:

  1. Managed Interface (.NET) see Generic Driver via .NET.
  2. COM interface is used by everything else. For information about that see Generic Driver Usage via the COM interface and then refer to the language specific "Programming:" page closest to your environment.

For a list of all available methods, look at the Class List or Class Index under the Classes menu buttons at the top of this page.

  • All the methods common to all amp types are listed under the GenericCommon::G_Common Class.
  • All amp specific methods will be listed under the amp specific name. For example, all Audion 16 methods will be found under GenericAudion16::G_Audion16 Class.

All the program and configuration parameters are sectioned off into their own page for each parameter set under each amplifier type.

No matter what language you use, review the General Example Code for how to use the Generic Driver. That page contains a number of general concepts and tips that are not replicated elsewhere.

Generic Driver DLL Organization

  • GenericDriver.dll is the master and must always be present no matter how you interface to the amp drivers. It contains the functionality of all the amps.
  • DLLs that provide the interfaces into the driver.
    • GenericCommon.dll is always needed. It contains access to operations with the same signatures shared to all amps. All of these are accessed through the specific amp object. A GenericCommon object doesn't need to be created, however there does need to be something equivalent to the C# "using GenericCommon;" for some things to be available via the specific amp object. Enumerations of error codes and interface devices live here.
    • Generic<Amp Name>.dll: Any amp that will be implemented will need a driver that has it's amp name prefixed by Generic. Generic indicates that part of the generic driver family. For example: "GenericAudion16.dll" contains access to all the Audion 16 amp unique and specific features that exist in the Generic Driver.

Dependencies

Below is a list of files on which the generic driver depends.

Generic Driver directly Requires (must be present):

  • Microsoft .NET 4.5.2 installed. To meet this requirement, have your application installer download and install this as needed. See this site for the offline installer package
  • The 32 bit version of the VS2013 C Runtime Library (CRT) and Standard C++ Library for native code. To meet this requirement, have your application installer install "vcredist_x86.exe". See this site for the redistributable package.
  • nl_threewire.dll, HIP32225.dll.

Programmers

The following files are required to work with the programmers. For each programmer to work, your application software must maintain a local copy of the programmer related files along with the generic driver DLLs in the same directory as your application (or NOAH fitting module). This will prevent potential conflicts caused by installing the DLL in the Windows or Windows/System directory.

  • eMniTec
    • For eMinitec 2 on Windows 8, must install eMinitec.inf file which fixes the Windows 8 power management issue that powers off the eMinitec 2. The files and instructions are available here.
    • For eMiniTec 1: Windows drivers installed by user.
    • hidapi.dll
    • GRTI.dll
    • FTD2XX.dll
  • HI-PRO
    • Windows drivers installed by user. Supplied with programmer and on manufacturer website.
    • HIP32225.dll
    • ACSWIT32.dll
    • SWBOXW32.dll
    • SWBOXWIN.dll
    • DSXXX.dll
    • COM_HOOK.exe
    • FTChipID.dll
  • NOAHLink
    • Merge module installed by application installer: ThreeWire1_1.msm
    • nl_threewire.dll