SEARCH   
Home About Us Products Manufacturing Services Support ARK online Contact Us
Support > Software Downloads >
ARK® Tutorial



Introduction  |  Core Component  |  Communications  |  Additional Topics  |  Reference Guide




 
   

Reference Guide

interface IProduct2

The key interface to product components.

Definition
interface IProduct : IDispatch
{
[id(0), propget]
HRESULT Name([out, retval] BSTR* rval);
[propget]
HRESULT Title([out, retval] BSTR* rval);
[propget]
HRESULT IntParameters([out, retval] IParameters** rval);
[propget]
HRESULT ExtParameters([out, retval] IParameters** rval);
[propget]
HRESULT ControllerMemory([out, retval] IMemory** rval);
[propput]
HRESULT ControllerMemory([in] IMemory* mem);
[propget]
HRESULT ControllerInfo([out, retval] IControllerInfo** rval);
[propget]
HRESULT Graphs([out, retval] IGraphs** rval);
[propget]
HRESULT Hybrid([out, retval] BSTR* rval);
[propget]
HRESULT IsAcoustic([out, retval] VARIANT_BOOL* rval);
[propget]
HRESULT HasWDRC([out, retval] VARIANT_BOOL* rval);
[propget]
HRESULT MaxOutput([out, retval] double* rval);
};
interface IProduct2 : IProduct
{
HRESULT GetFull([in, defaultvalue(fResistor)] MemoryType type, [out, retval] IMemory** rval);
HRESULT SetControllerMemoryEx([in] IMemory* mem);
HRESULT GetControllerMemoryEx([in] LocationType location, [in, defaultvalue(fResistor)] MemoryType type, [in, out] IMemory** since, [out, retval] IMemory** rval);
[propget]
HRESULT MaxGain([out, retval] double* rval);
[propget]
HRESULT ParamGroups([out, retval] IParamGroups** rval);
[propget]
HRESULT ChannelHeadings([out, retval] ITextList** rval);
[propget]
HRESULT NumChannels([out, retval] long* rval);
[propget]
HRESULT ParameterMap([out, retval] BSTR* rval);
};

Descriptions

[id(0), propget]
HRESULT Name([out, retval] BSTR* rval);
The short name of the product component.

[propget]
HRESULT Title([out, retval] BSTR* rval);
The descriptive name of the product component.

[propget]
HRESULT IntParameters([out, retval] IParameters** rval);
The collection of internal hybrid parameters.

[propget]
HRESULT ExtParameters([out, retval] IParameters** rval);
The collection of external parameters. Some of the analog product components include an external VC parameter in this collection. At the time of writing, this collection is not used in PARAGON product components; all of the parameters are included in IntParameters.

[propget]
HRESULT ControllerMemory([out, retval] IMemory** rval);

[propput]
HRESULT ControllerMemory([in] IMemory* mem);
Gets and sets the Memory object that corresponds to the current product parameters. New applications should use GetControllerMemoryEx and SetControllerMemoryEx instead.

[propget]
HRESULT ControllerInfo([out, retval] IControllerInfo** rval);
Information pertaining to the controller that the product uses.

[propget]
HRESULT Graphs([out, retval] IGraphs** rval);
The collection of available graphs.

[propget]
HRESULT Hybrid([out, retval] BSTR* rval);
The name of the hybrid used in this product.

[propget]
HRESULT IsAcoustic([out, retval] VARIANT_BOOL* rval);
True if the product models a complete hearing aid rather than just the hybrid. The Interactive Data Sheet uses this property to adjust the scaling on the graphs.

[propget]
HRESULT HasWDRC([out, retval] VARIANT_BOOL* rval);
True if the product has wide dynamic range compression. The Interactive Data Sheet uses this property to adjust the scaling on the graphs.

[propget]
HRESULT MaxOutput([out, retval] double* rval);
The maximum output in dbSPL if the product is acoustic, otherwise dBV. The Interactive Data Sheet uses this property to adjust the scaling on the graphs.

HRESULT GetFull([in, defaultvalue(fResistor)] MemoryType type, [out, retval] IMemory** rval);
Gets a Memory object containing requests for the relevant data pages prior to a read operation. When using PARAGON product components, this method must be called before ReadEx so the controller component knows what addresses to read at. When using analog product components, the same procedure can be used, but the effect is the same as calling Read, which is what would have been done in ARK 1. The type parameter indicates whether data is going to be read from an audiological memory (fResistor), the control area (fControl), the storage area (fStorage), or the scratch area (fScratch). The storage and scratch areas only apply to PARAGON products.

HRESULT SetControllerMemoryEx([in] IMemory* mem);
Passes a Memory object obtained using GetFull/ReadEx or GetControllerMemoryEx back to a product component. SetControllerMemoryEx only works with data obtained from the fROM location.

HRESULT GetControllerMemoryEx([in] LocationType location, [in, defaultvalue(fResistor)] MemoryType type, [in, out] IMemory** since, [out, retval] IMemory** rval);
Gets a Memory object that corresponds to the current audiological, control, or storage parameters. The location parameter indicates where the configuration data is going to be stored. If the location is fROM, it is assumed that the configuration data is going to be burned into EEPROM. In this case GetControllerMemoryEx would be followed by Burn. If the location parameter is fRegisters, it is assumed that the configuration data is going to be written to the hybrid's registers using Write. If the location parameter is fROMandRegisters, it is assumed that the configuration is going to be burned to both the hybrids registers and EEPROM using Burn.

The type parameter indicates whether data is going to go to an audiological memory (fResistor), the control area (fControl), or the storage area (fStorage). The storage area only applies to PARAGON products.

For the storage area, the location must be fROM as this type of data is only stored in EEPROM. GetControllerMemoryEx and SetControllerMemoryEx can also be used to store a copy of the current state of the audiological parameters when switching between multiple memories. In this case, the location must be fROM to be usable with SetControllerMemoryEx.

[propget]
HRESULT MaxGain([out, retval] double* rval);
The estimated maximum gain of the product in dB.

[propget]
HRESULT ParamGroups([out, retval] IParamGroups** rval);
The collection of parameter groups. Parameter groups are used by the Interactive Data Sheet to help with arranging controls onto tabs.

[propget]
HRESULT ChannelHeadings([out, retval] ITextList** rval);
Channel headings also assist the Interactive Data Sheet in arranging controls.

[propget]
HRESULT NumChannels([out, retval] long* rval);
Indicates the number of AGC channels in the parameter map.

[propget]
HRESULT ParameterMap([out, retval] BSTR* rval);
The name of the parameter map used in the component.




© ON Semiconductor  |   PRIVACY POLICY  |   TERMS OF USE