This is an old revision of the document!


Adding New Product Support
Sound Design Circuits

Product DLL

DLL Generation

  • Go to OnSemi ARKOnline (http://ark.onsemi.com) and login. Visit “Library Manager” > “Libraries” (left column).
  • Edit product library: Click “Edit” next to product library to modify, under the section “Audina Hearing Instruments Libraries”. Eg: ezRhythm
  • Change appropriate settings, then click on “Build” button at the top. Wait a few minutes for the compilation to finish before downloading it.

DLL Installation

  • Download DLLs from ARK Online. Click on the “Download” link beside the product library.
  • Unzip the DLL download, and copy files to C:\Program Files\Common Files\Audina\Drivers (or alternatively to C:\WINDOWS\ARK).
  • Run ARK Component Manager (Start → Programs → Sound Design Technologies (or Gennum) → Configuration Tools).
  • Install the DLLs.

Software Development Using DLL

Integrating New Product to ezArkBase

  • In ezConst.pas, create: library alias (eg: lbVenture = 'EzVENTURE';), and Product ID alias (eg: id_Venture = 50;).

Creating New Product Frontend

  • Create a frame of a single screen with all the controls supported by that products. Suggested: create a frame from a currently available product, and modify it to meet the requirements of the new product. Eg: TfraSglVenture in frasVenture.pas. (fra = frame, Sgl = single, fras = single frame (for filename only))
  • Create autofits for product in Autofit.pas.
  • Create resourcestrings in resourcestr.inc.
  • Create table structure in database ezfitdb.gdb to match all fields used in Gennum's Interactive Data Sheet (IDS).
  • Create a form that contain Left and Right frames of the product screen. Eg: TfraVenture in fraVentures.pas (fra = frame)
  • Modify product simulation screen, to add support for new product.

Connecting ARK Components

This is what you need to create a basic program using the ARK components. The program will allow you to:

  1. Connect to a hearing instrument
  2. Read and modify gain on the device
  3. Read and display a stored audiogram and target curves

For example code see the attached project. link

Required Components

TEzARKBase TEzARKSource TChart TEzARKGraph TEzARKTrackBar TLabel

Properties required to be set

TEzARKBase

  • Prescription
  • ProgrammerName
  • LibraryName (Device model)
  • ProductName (Device style)

Note: ProgrammerName, LibraryName and ProductName may also be set at runtime by using a TEzARKLookup with the LookupType property set to its respective type.

TEzARKSource

  • ARKBase

TChart

  • View3D = FALSE
  • BottomAxis.Minimum = 0.198
  • BottomAxis.Maximum = 8.1
  • BottomAxis.Increment = 0.1
  • LeftAxis.Minimum = -10
  • LeftAxis.Maximum = 70
  • Legend.Visible = FALSE
  • SeriesList (at least 3)
    • Response (TLineSeries)
    • Target (TLineSeries)
    • Labels (TFastLineSeries)
      • Data Source = Manual
Text X Y
250 0.25 -10
500 0.5 -10
1k 1 -10
2k 2 -10
4k 4 -10
6k 6 -10
8k 8 -10

TEzARKGraph

  • ARKSource
  • LabelSeries = Labels
  • ChartSeries (at least 2)
    • Series 0
      • GraphType = gtInput
      • Series = Response
    • Series 1
      • GraphType = gtTarget
      • Series = Target
  • ChartLabels
0.250=250
0.500=500
1.00=1k
2.00=2k
4.00=4k
6.00=6k
8.00=8k

TEzARKTrackBar

  • ARKSource
  • ARKParam = WidebandGain
  • ChangeDirection = TRUE
  • Orientation = trVertical
  • ValueLabel
  • ShowUnit = TRUE
  • Units = 'db'

Code Snippets

Create a 'Read' button to read the instrument’s memory and initialize your controls.

with Base do
begin
  Open(Application.Handle);
  WhichChip;
  Init;
  ReadAll;
 
  GetStoredAudiogram;
  SetAudiogram(StoredAudiogram);
  Refresh;
end;

Create a 'Write' button to write the new parameters to the instrument's permanent memory.

Base.Write;

You can use the form's OnClose event to disconnect from the instrument.

Base.Close;
Intricon Circuits