= Adding New Product Support = == Intricon Product DLL == * Go to Intricon's website: * http://www.intricon.com * 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 to ''C:\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 parameters. Use [[http://www.onsemi.com/PowerSolutions/parametrics.do?id=101769&lctn=header|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..'' (Eg. ''AHI.Instrument.Circuit.Intricon.Audion6''). This library has these files: * ''.Custom.Methods.cs'' * ''.Library.cs'' * ''.Products.Info.cs'' **Supported Products/Styles.** In file, ''AHI.Instrument.Circuit..\.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..\.Products.Info.cs'': * Add and edit parameters in ''SetMemoryParameters()'', ''SetConfigParameters()'', and ''SetCustomParameters()''. * Customize product and style parameters in ''SetAdditionalProductInfo()'' and ''SetAdditionalStyleInfo()''. **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..'' (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: ... ...