This is an old revision of the document!
Adding New Product Support
Intricon Product DLL
- Go to Intricon's website:
- Products > Hearing Health > Support (http://www.intricon.com/products/hearing-health/tools),
- Download product drivers and Slider (engineering software),
OnSemi Product DLL (using ARKBase)
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) (file
“C:\Program Files (x86)\ON Semiconductor\ARK\IDS.exe”
) as Administrator. - Install the DLLs.
- Review product parameter. Use spec sheets.
Add IDs to TCircuitID and TProductID
In AHI.App.Types
(file Types.cs
), add entries in these enums:
public enum TCircuitID { . . . } public enum TProductID { . . . }
Add Product Library
New Circuit. For a new circuit (not just a new product), create a library such as AHI.Instrument.Circuit.<ManufName>.<CircuitName>
(Eg. AHI.Instrument.Circuit.Intricon.Audion6
). This library has these files:
<CircuitName>.Custom.Methods.cs
<CircuitName>.Library.cs
<CircuitName>.Products.Info.cs
Supported Products/Styles. In file, AHI.Instrument.Circuit.<ManufName>.<CircuitName>\<CircuitName>.Products.Info.cs
:
- Add all product (and their styles) supported in a circuit to
- Intricon:
Lib_CreateProductList()
- OnSemi:
Lib_CreateLibraryList()
Parameters. In file AHI.Instrument.Circuit.<ManufName>.<CircuitName>\<CircuitName>.Products.Info.cs
:
- Add and edit parameters in
SetMemoryParameters()
,SetConfigParameters()
, andSetCustomParameters()
. - Customize product and style parameters in
SetAdditionalProductInfo()
andSetAdditionalStyleInfo()
.
Using a product library. In project ezFIT
, add library as a dependency to ezFIT:
- Right-click on
ezFIT
project. - Select “Project Dependencies”.
- Mark checkbox for new library. Eg:
AHI.Instrument.Circuit.Intricon.Audion6
Add TCircuitProdStyle
In AHI.Instrument.Circuit.<ManufName>.<CircuitName>
(eg.AHI.Instrument.Circuit.Intricon.Audion6
), add an entry for each Product+Style combination supported by that circuit:
private enum TCircuitProdStyle { Undefined = 00, ProdName1_Style1 = 01, ProdName1_Style2 = 02, . . . ProdName2_Style1 = n1, ProdName2_Style2 = n2, . . . }
Add Product Library to Detection List
In AHI.Fitting.TSupportedProductList.PopulateProductInfoList()
(file AHI.Fitting.ProductInfo.cs
), add library:
ProdLibPath = new string[] { ... rootdir + @"\AHI.Instrument.Circuit.Intricon.Audion8.dll", ... }; . . . Add(new TSupportedProduct(TCircuitID.Audion6, /* TProductID.prod_IntuitionRIC6.ToString(), */ TCircuitManufCode.Intricon, TProductID.prod_IntuitionRIC6, ProdLibPath[4], "AHI.Instrument.Circuit.Intricon.Audion6.TAudion6", false /* use for autodetection */ )); . . .
Add to Product Specification List
In AHI.Product.Specification.TProductSpecificationList.RefreshList()
, add code:
#region Product IRIC 6 _prod = new TProductSpecification(); _prod.Code = TProductID.prod_IntuitionRIC6.ToString(); _prod.Name = "IRIC 6"; _prod.CircuitFamily = "Audion6"; _prod.CircuitID = TCircuitID.Audion6; _prod.TechnologyLevel = TTechnologyLevelType.Mid; //_prod.Style = TStyleType.OTERIC; _prod.BatterySize = TBatterySize.Size312Brown; _prod.Channels = 6; _prod.AutoEnvironmentSwitching = 0; _prod.AdaptiveDirectionalChannels = 1; _prod.GainBands = 12; _prod.NoiseReduction = true; _prod.BluetoothCompatible = false; _prod.AudioLoopSystemCompatible = false; _prod.FMLoopSystemCompatible = true; _prod.PhoneLoopSystemCompatible = false; _prod.Telecoil = true; _prod.TelecoilSupported = true; _prod.AdaptiveFeedbackCanceller = true; _prod.DataloggerType = TDataloggerType.None; _prod.WindManager = false; _prod.TinnitusNoiseGenerator = false; _prod.ManualPrograms = 4; _prod.Housing = THousingType.MiniBTE; _prod.HousingFilename = "images/icons/icon-housing-iric.png"; _prod.HousingColor = new THousingColorList() { new THousingColor(THousingColorType.Beige), new THousingColor(THousingColorType.Silver) }; _prod.ProgrammerCable = TProgrammerCableType.Black_5x; _prod.IsLegacy = false; _prod.ID = TProductID.prod_IntuitionRIC6; // Style _prod.Styles.Add(TInstrumentStyle.RIC); // Fitting Range _prod.FittingRangeMin = new int[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; _prod.FittingRangeMax = new int[] {56, 62, 61, 61, 60, 59, 66, 68, 53, 3}; // Options _prod.Options.Add(string.Format("{0} ({1}): {2}, {3}, {4}", AHI.App.Localization.Resources.rsReceiver, AHI.App.Localization.Resources.rsHighDefinitionAbbrev, //AHI.App.Localization.Resources.rsStandard, //AHI.App.Localization.Resources.rsPower, //AHI.App.Localization.Resources.rsSuperPower AHI.App.Localization.Resources.rsWideband, AHI.App.Localization.Resources.rsPower, AHI.App.Localization.Resources.rsHighPower )); // Customization switch (CustomCompany) { default: case TCustomCompany.Audina: _prod.Name = "IRIC 6"; this.Add(_prod); break; //case TCustomCompany.Audina_Germany: // break; case TCustomCompany.AudiNat: break; case TCustomCompany.Auditiva: _prod.Name = "Fino 6 (RIC)"; this.Add(_prod); break; //case TCustomCompany.Auditiva_Denmark: // _prod.Name = "Fino 6 (RIC)"; // this.Add(_prod); // break; case TCustomCompany.HearingCentral: break; //case TCustomCompany.PHSI: // break; //case TCustomCompany.Sonitech: // break; case TCustomCompany.TransEar: break; case TCustomCompany.VistaHIA: break; } #endregion
Add to Build Process and Installer
In build batch file installer\build-UpdateDLLs.bat
, add references to library. Eg:
. . . COPY ..\..\..\AHI.Circuit.Manufacturers\Intricon\Audion6\bin\x86\Debug\AHI.Instrument.Circuit.Intricon.Audion6.dll . . .
In Inno Setup installer script installer\installer-ezfit.iss
, add libraries (to be distributed) to the [Files]
sesion:
;--------------------------------------------------- ; Intricon files ;--------------------------------------------------- ; Intricon circuit libraries (former RTI) . . . Source: {#LibDir}\Intricon\Audion6.dll; DestDir: {app}; Flags: ignoreversion ;--------------------------------------------------- ; Application files ;--------------------------------------------------- . . . Source: {#SrcAppDir}\AHI.Instrument.Circuit.Intricon.Essential.dll; DestDir: {app}; Flags: ignoreversion
NAnt-Gui
Add to nant-gui script:
<!-- Clean Generated Files --> <target name="00-Clean" description="Clean files (remove generated files)"> ... <include name="${project.bin}\AHI.Instrument.Circuit.Intricon.MYDRIVER.dll" /> </target> <!-- Update required DLLs --> <target name="02-Update-DLLs" description="Update required DLLs"> ... <include name="AHI.Circuit.Manufacturers\Intricon\MYDRIVER\bin\x86\Debug\AHI.Instrument.Circuit.Intricon.MYDRIVER.dll" /> </target>