33 EEGO_CHANNEL_VPWR33 = 64,
34 EEGO_CHANNEL_VPWR50 = 65,
35 EEGO_CHANNEL_VPWR55 = 66,
36 EEGO_CHANNEL_IPWO = 67,
37 EEGO_CHANNEL_VREF = 68,
38 EEGO_CHANNEL_VGND = 69,
39 EEGO_CHANNEL_VDRV = 70,
40 EEGO_CHANNEL_IDRV = 71,
42 EEGO_CHANNEL_FRAME_INDEX = 72,
43 EEGO_CHANNEL_STATUS = 73,
44 EEGO_CHANNEL_CONTROL = 74,
45 EEGO_CHANNEL_PGND_DRIVER = 75,
46 EEGO_CHANNEL_RTC_CTR = 76,
47 EEGO_CHANNEL_RDY_CTR = 77,
48 EEGO_CHANNEL_TRG = 79,
57 EEGO_STATUS_OK = 0x00,
58 EEGO_STATUS_BUSY = 0x01,
59 EEGO_STATUS_E_UNKNOWN = 0x80,
60 EEGO_STATUS_E_NOT_AVAIL = 0xFF,
70 EEGO_COMMAND_RESET = 0x01,
73 EEGO_COMMAND_SET_MODE = 0x10,
74 EEGO_COMMAND_SET_CONFIG = 0x11,
75 EEGO_COMMAND_SET_DRIVER_AMP = 0x12,
76 EEGO_COMMAND_SET_DRIVER_PERIOD = 0x13,
77 EEGO_COMMAND_SET_RATE = 0x14,
78 EEGO_COMMAND_SET_GAIN = 0x15,
79 EEGO_COMMAND_SET_MUX = 0x16,
84 EEGO_COMMAND_GET_BATTERY_LEVEL = 0x81,
85 EEGO_COMMAND_GET_FIRMWARE_NUMBER = 0x82,
86 EEGO_COMMAND_GET_BATTERY_CHARGING = 0x83,
89 EEGO_COMMAND_GET_MODE = 0x90,
90 EEGO_COMMAND_GET_CONFIG = 0x91,
91 EEGO_COMMAND_GET_DRIVER_AMP = 0x92,
92 EEGO_COMMAND_GET_DRIVER_PERIOD = 0x93,
93 EEGO_COMMAND_GET_RATE = 0x94,
94 EEGO_COMMAND_GET_GAIN = 0x95,
95 EEGO_COMMAND_GET_MUX = 0x96
113 USHORT bEnableDAC : 1;
114 USHORT bEnablePWO : 1;
115 USHORT bUnlockOCP : 1;
116 USHORT bRawValues : 1;
117 USHORT uDebugEEGO : 2;
118 USHORT uDebugDACQ : 2;
130 EEGO_MODE_STREAMING = 2,
131 EEGO_MODE_CALIBRATION = 3,
132 EEGO_MODE_IMPEDANCE_CHA = 4,
133 EEGO_MODE_IMPEDANCE_REF = 5,
142 EEGO_RATE_500HZ = 500,
143 EEGO_RATE_512HZ = 512,
144 EEGO_RATE_1000HZ = 1000,
145 EEGO_RATE_1024HZ = 1024,
146 EEGO_RATE_2000HZ = 2000,
147 EEGO_RATE_2048HZ = 2048,
148 EEGO_RATE_4000HZ = 4000,
149 EEGO_RATE_4096HZ = 4096,
150 EEGO_RATE_8000HZ = 8000,
151 EEGO_RATE_8192HZ = 8192,
152 EEGO_RATE_16000HZ = 16000,
153 EEGO_RATE_16384HZ = 16384
178 EEGO_MUX_SHORTED = 2,
179 EEGO_MUX_RLD_CONJ = 3,
183 EEGO_MUX_RLD_DRP = 7,
184 EEGO_MUX_RLD_DRN = 8,
210 EEGO_DEBUG_EEGO_NONE = 0,
211 EEGO_DEBUG_EEGO_STREAMER = 1,
212 EEGO_DEBUG_EEGO_RESERVED = 2,
213 EEGO_DEBUG_EEGO_TOGGLE = 3,
222 EEGO_DEBUG_DACQ_NONE = 0,
223 EEGO_DEBUG_DACQ_INDICES = 1,
224 EEGO_DEBUG_DACQ_SAMPLES = 2,
225 EEGO_DEBUG_DACQ_TOGGLE = 3,
232 typedef SHORT EEGO_REQVAL;
233 typedef BYTE EEGO_REQRESV;
234 typedef BYTE EEGO_REQLEN;
235 typedef BYTE EEGO_REQDATA;
239 EEGO_COMMAND eCommand;
240 EEGO_REQRESV uRerserved;
244 EEGO_REQDATA uData[48];
279 virtual ULONG AddRef( )=NULL;
280 virtual ULONG Release( )=NULL;
290 virtual HRESULT EnumDevices( UINT* puiDeviceCount )=NULL;
291 virtual HRESULT EnumDevices( UINT uiDeviceIndex, LPTSTR* pszDeviceName )=NULL;
296 virtual HRESULT Connect( UINT uiDeviceIndex=0 )=NULL;
297 virtual HRESULT Connect( LPCTSTR szSerial )=NULL;
302 virtual HRESULT Disconnect( )=NULL;
307 virtual HRESULT Reset( )=NULL;
312 virtual HRESULT GetData(
IBuffer** ppBuffer )=NULL;
321 virtual BOOL Connected( )=NULL;
326 virtual HRESULT GetMode( EEGO_MODE* peMode )=NULL;
327 virtual HRESULT SetMode( EEGO_MODE eMode )=NULL;
332 virtual HRESULT GetConfig(
EEGO_CONFIG* psConfig )=NULL;
333 virtual HRESULT SetConfig(
EEGO_CONFIG sConfig )=NULL;
339 virtual HRESULT GetDriverAmplitude( SHORT* pnAmplitude )=NULL;
340 virtual HRESULT SetDriverAmplitude( SHORT nAmplitude )=NULL;
345 virtual HRESULT GetDriverPeriod( USHORT* puPeriod )=NULL;
346 virtual HRESULT SetDriverPeriod( USHORT uPeriod )=NULL;
351 virtual HRESULT GetSamplingRate( EEGO_RATE* peSamplingRate )=NULL;
352 virtual HRESULT SetSamplingRate( EEGO_RATE eSamplingRate )=NULL;
357 virtual HRESULT GetSignalGain( EEGO_GAIN* peSignalGain, EEGO_ADC eAdc )=NULL;
358 virtual HRESULT SetSignalGain( EEGO_GAIN eSignalGain, EEGO_ADC eAdc )=NULL;
363 virtual HRESULT GetSignalMux( EEGO_MUX* peSignalMux, EEGO_ADC eAdc )=NULL;
364 virtual HRESULT SetSignalMux( EEGO_MUX eSignalMux, EEGO_ADC eAdc )=NULL;
369 virtual HRESULT GetBatteryLevel( USHORT* puLevel )=NULL;
374 virtual HRESULT GetFirmwareVersion( USHORT* puVersion )=NULL;
379 virtual HRESULT GetBatteryCharging( USHORT* puVersion )=NULL;
381 virtual void DumpData(
const std::string& fileName,
bool bDump)=NULL;
398 enum ErrorStates :
int
409 virtual ULONG AddRef( )=NULL;
410 virtual ULONG Release( )=NULL;
420 virtual LONG* GetBuffer( )=NULL;
421 virtual LONG GetBuffer( UINT i )=NULL;
422 virtual LONG GetBuffer( UINT ci, UINT si )=NULL;
427 virtual UINT GetChannelCount( )=NULL;
432 virtual UINT GetSampleCount( )=NULL;
434 virtual int GetErrors()
const = NULL;
435 virtual void ClearErrors() = NULL;
441 HRESULT CreateAmplifierObject(
IAmplifier** ppAmplifier );