Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ezfit:clarujust:ezorange_api [2009/11/06 11:31]
smayr
ezfit:clarujust:ezorange_api [2009/11/20 16:52] (current)
smayr
Line 2: Line 2:
 Following is the Application Programming Interface (API) for the ezOrange application. Following is the Application Programming Interface (API) for the ezOrange application.
  
-== Interfaces ==+=== API 3.6 === 
 +<code vb> 
 +'// NOTE: All returns are Error Codes
  
-== Data Types ==+function SetInterface(ProgIntfIdx: Integer): Integer; safecall;         // 0-Simulation, Nonzero-Live 
 +function GetInterface(var ProgIntfIdx: Integer): Integer; safecall; // 0-Simulation, Nonzero-Live
  
-Return or Set values for ''GetInterface()'' and ''SetInterface()'' routines+'//--- Not used by Clarujust --- 
-^ Code ^ Value      ^ Description ^ +function SetEar(EarSideIdx: Integer): Integer; safecall; 
-|  0   | Simulation | There is no programmer interface. | +function GetEar(): Integer; safecall; 
-|  1   | HiPro      | HiPro is programmer interface.    | +function SetMemory(MemIdx: Integer): Integer; safecall; 
-|  2   | EMiniTec   | EMiniTec is programmer interface. |+function GetMemory(): Integer; safecall; 
 +function SetHAInitialize(): Integer; safecall; 
 +function SetHARead(): Integer; safecall; 
 +function SetHAWrite(): Integer; safecall; 
 +function SetHABurn(): Integer; safecall; 
 +function SetHAClose(): Integer; safecall; 
 +procedure SetParams(Params: OleVariant); safecall; // Not needed by Clarujust 
 +function GetParams: OleVariant; safecall;    // Not needed by Clarujust 
 +procedure LaunchClarujustApp(); safecall;     // Not needed by Clarujust
  
-Audiogram array to pass to Optimizer (''SetAudiogram()'' and ''GetAudiogram()''): +'//--- Debugging --- 
-^ Index ^ Frequency ^  +function SetSilentErrors(Silent: WordBool): Integer; safecall; 
-|  0     250 |  +function GetSilentErrors(): WordBool; safecall;
-|  1     500 |  +
-|  2     750 |  +
-|  3    1000 |  +
-|  4    1500 |  +
-|  5    2000 |  +
-|  6    3000 |  +
-|  7    4000 |  +
-|  8    6000 |  +
-|  9    8000 | +
  
-For ''SetParams()'', ''GetParams()'', and ''GetEthosParams()'', array format for Ethos-based circuit: +'//--- BumpTilt, and Gain --
-<code delphi> +function SetBumpQ(BumpQIdxInteger)Integersafecall
-paramsArray[0]  := BEQ1_gain; +function GetBumpQ(var BumpQIdxInteger, var BumpQValSingle)Integersafecall
-paramsArray[1]  := BEQ2_gain; +function SetBumpGain(BumpGainIdxInteger)Integersafecall
-paramsArray[2]  := BEQ3_gain+function GetBumpGain(var BumpQIdxInteger, var BumpGainValSingle)Integersafecall
-paramsArray[3]  := BEQ4_gain; +function SetBumpCF(BumpCFIdxInteger)Integersafecall
-paramsArray[4]  := BEQ5_gain; +function GetBumpCF(var BumpCFIdxInteger, var BumpCFValSingle)Integersafecall
-paramsArray[5]  := BEQ6_gain; +function SetTiltCF(TiltCFIdxInteger)Integersafecall
-paramsArray[6]  := BEQ7_gain+function GetTiltCF(var TiltCFIdxInteger, var TiltCFValSingle)Integersafecall
-paramsArray[7]  := BEQ8_gain; +function SetTiltSlope(TiltSlopeIdxInteger)Integersafecall
-paramsArray[8]  := BEQ9_gain; +function GetTiltSlope(var TiltSlopeIdxInteger, var TiltSlopeValSingle)Integersafecall
-paramsArray[9]  := BEQ10_gain+function SetGain(GainIdxInteger)Integersafecall
-paramsArray[10] := BEQ11_gain; +function GetGain(var GainIdxInteger, var GainValSingle): Integer; safecall
-paramsArray[11] := BEQ12_gain; +function SetBias(Bias: Integer)Integer; safecall
-         +function GetBias(var BiasInteger): Integer; safecall
-paramsArray[12] := C1_MPO; +function GetEthosArray(out ArrPSafeArray): Integer; safecall;
-paramsArray[13] := C2_MPO+
-paramsArray[14] := C3_MPO; +
-paramsArray[15] := C4_MPO; +
-paramsArray[16] := C5_MPO+
-paramsArray[17] := C6_MPO; +
-paramsArray[18] := C7_MPO; +
-paramsArray[19] := C8_MPO; +
-         +
-paramsArray[20] := C1_Ratio+
-paramsArray[21] := C2_Ratio; +
-paramsArray[22] := C3_Ratio; +
-paramsArray[23] := C4_Ratio+
-paramsArray[24] := C5_Ratio; +
-paramsArray[25] := C6_Ratio; +
-paramsArray[26] := C7_Ratio; +
-paramsArray[27] := C8_Ratio+
-                 +
-paramsArray[28] := C1_TK; +
-paramsArray[29] := C2_TK; +
-paramsArray[30] := C3_TK+
-paramsArray[31] := C4_TK; +
-paramsArray[32] := C5_TK; +
-paramsArray[33] := C6_TK; +
-paramsArray[34] := C7_TK+
-paramsArray[35] := C8_TK; +
-         +
-paramsArray[36] := FBC_Enable; +
-paramsArray[37] := input_mux+
-paramsArray[38] := matrix_gain; +
-paramsArray[39] := Noise_Reduction+
-paramsArray[40] := preamp_gain0+
-paramsArray[41] := preamp_gain1+
-paramsArray[42] := TimeConstants; +
-</code>+
  
-==== Ethos Error Values  ==== +function SetCompression(BumpGain60: Integer; BumpQ60: Integer; BumpCF60: Integer; 
-^ Error Code  ^ Error Description ^ +   TiltSlope60: Integer; OverallGain60: Integer; GainBias60: Integer; 
-| 0  | Ethos OK  | +   BumpGain80: Integer; BumpQ80: Integer; BumpCF80: Integer; 
-| 1  | Ethos NoProgrammer | +   TiltSlope80: Integer; OverallGain80: Integer; GainBias80: Integer): Integer; safecall;
-| 2  | Ethos NoInstrument | +
-| 3  | Ethos BadArgument | +
-| 4  | Ethos NotInitialized | +
-| 5  | Ethos NotRead | +
-| 6  | Ethos ChecksumError | +
-| 7  | Ethos InvalidVersion | +
-| 8  | Ethos ProgrammerError | +
-| 9  | Ethos CMFError | +
-| 10 | Ethos WrongInstrument | +
-| 11 | Ethos BootError | +
-| 12 | Ethos NoNLDriver | +
-| 13 | Ethos NLInUse |+
  
 +'//--- Revised functionality ---
 +function SetAudiogram(AnAudiogram: PSafeArray): Integer; safecall; // Not needed by Clarujust
 +function GetAudiogram(var AnAudiogram: PSafeArray; EarSideIdx: integer): Integer; safecall;
  
-== Function Prototypes ==+function SetSerialNumber(SerialNum: PChar; EarSideIdx: integer): Integer; safecall; // Not needed by Clarujust 
 +function GetSerialNumber(var SerialNumber: PChar; EarSideIdx: integer): Integer; safecall; 
 + 
 +'//--- New functionality --- 
 +function Setup60(): Integer; safecall; // Prepares the HI settings before running 
 +function Setup80(): Integer; safecall; // a test 
 +function ApplySettings: Integer; safecall; 
 +function GetHAInitialized(var IsInitialized: WordBool): Integer; safecall; 
 +function GetEarCount(var EarCount: Integer) : Integer; safecall;  // 0–none, 1-left, 2-right, 3-both 
 + 
 +</code>
  
 === API 3.5 === === API 3.5 ===
Line 246: Line 215:
 </code> </code>
  
 +== Data Types ==
 +
 +==== Programming Interface ====
 +Return or Set values for ''GetInterface()'' and ''SetInterface()'' routines:
 +^ Code ^ Value      ^ Description ^
 +|  0   | Simulation | There is no programmer interface. |
 +|  1   | HiPro      | HiPro is programmer interface.    |
 +|  2   | EMiniTec   | EMiniTec is programmer interface. |
 +
 +==== Audiogram ====
 +Audiogram array to pass to Optimizer (''SetAudiogram()'' and ''GetAudiogram()''):
 +^ Index ^ Frequency ^ 
 +|  0     250 | 
 +|  1     500 | 
 +|  2     750 | 
 +|  3    1000 | 
 +|  4    1500 | 
 +|  5    2000 | 
 +|  6    3000 | 
 +|  7    4000 | 
 +|  8    6000 | 
 +|  9    8000 | 
 +
 +==== Circuit Parameters ====
 +For ''SetParams()'', ''GetParams()'', and ''GetEthosParams()'', array format for Ethos-based circuit:
 +<code delphi>
 +paramsArray[0]  := BEQ1_gain;
 +paramsArray[1]  := BEQ2_gain;
 +paramsArray[2]  := BEQ3_gain;
 +paramsArray[3]  := BEQ4_gain;
 +paramsArray[4]  := BEQ5_gain;
 +paramsArray[5]  := BEQ6_gain;
 +paramsArray[6]  := BEQ7_gain;
 +paramsArray[7]  := BEQ8_gain;
 +paramsArray[8]  := BEQ9_gain;
 +paramsArray[9]  := BEQ10_gain;
 +paramsArray[10] := BEQ11_gain;
 +paramsArray[11] := BEQ12_gain;
 +        
 +paramsArray[12] := C1_MPO;
 +paramsArray[13] := C2_MPO;
 +paramsArray[14] := C3_MPO;
 +paramsArray[15] := C4_MPO;
 +paramsArray[16] := C5_MPO;
 +paramsArray[17] := C6_MPO;
 +paramsArray[18] := C7_MPO;
 +paramsArray[19] := C8_MPO;
 +        
 +paramsArray[20] := C1_Ratio;
 +paramsArray[21] := C2_Ratio;
 +paramsArray[22] := C3_Ratio;
 +paramsArray[23] := C4_Ratio;
 +paramsArray[24] := C5_Ratio;
 +paramsArray[25] := C6_Ratio;
 +paramsArray[26] := C7_Ratio;
 +paramsArray[27] := C8_Ratio;
 +                
 +paramsArray[28] := C1_TK;
 +paramsArray[29] := C2_TK;
 +paramsArray[30] := C3_TK;
 +paramsArray[31] := C4_TK;
 +paramsArray[32] := C5_TK;
 +paramsArray[33] := C6_TK;
 +paramsArray[34] := C7_TK;
 +paramsArray[35] := C8_TK;
 +        
 +paramsArray[36] := FBC_Enable;
 +paramsArray[37] := input_mux;
 +paramsArray[38] := matrix_gain;
 +paramsArray[39] := Noise_Reduction;
 +paramsArray[40] := preamp_gain0;
 +paramsArray[41] := preamp_gain1;
 +paramsArray[42] := TimeConstants;
 +</code>
 +
 +==== Circuit I/O Operation Error Values ====
 +^ Error Value ^ Error Code      ^ Error Description ^
 +| 0           | OK              | Operation was successful. |
 +| 1           | NoProgrammer    | Valid programmer has not been set. |
 +| 2           | NoInstrument    | No or invalid hearing instrument (HI) connected. |
 +| 3           | BadArgument     | Bad Argument provided.  Check one of these: <code>
 +  - Invalid programming interface
 +  - Invalid platformID specified
 +  - Invalid program specified
 +  - Invalid channel specified
 +  - Invalid data in params or config structure
 +  - Page argument invalid</code> |
 +| 4           | NotInitialized  | Programmer has not been initialized yet. |
 +| 5           | NotRead         | Not Read. |
 +| 6           | ChecksumError   | Invalid data received. |
 +| 7           | InvalidVersion  | Invalid parameter version passed in. |
 +| 8           | ProgrammerError | Error occurred trying to initialize programmer. |
 +| 9           | CMFError        | Error during previous load. |
 +| 10          | WrongInstrument | Invalid security ID of the connected device. |
 +| 11          | BootError       | Boot Error. |
 +| 12          | NoNLDriver      | Noahlink drivers have not been installed. |
 +| 13          | NLInUse         | Noahlink in use by another software package. |