== 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 to ''C:\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. {{:ezfit:ark_example.zip|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 ==