Adding New Product Support (using TEzARKBase in ezFIT 4.x platform)
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 toC:\WINDOWS\ARK
). - Run “ARK Component Manager” (Start → Programs → On Seminconductor → Configuration Tools) as Administrator.
- 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:
- Connect to a hearing instrument
- Read and modify gain on the device
- 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;