IEmoStateDLL.h
Go to the documentation of this file.
1 
19 
21 #ifndef IEMOSTATE_DLL_H
22 #define IEMOSTATE_DLL_H
23 #include <sys/types.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #if (!EDK_STATIC_LIB)
30 # ifdef EMOSTATE_DLL_EXPORTS
31 # ifdef _WIN32
32 # define EMOSTATE_DLL_API __declspec(dllexport)
33 # else
34 # if (defined __GNUC__ && __GNUC__ >= 4) || defined __INTEL_COMPILER || defined __clang__
35 # define EMOSTATE_DLL_API __attribute__ ((visibility("default")))
36 # else
37 # define EMOSTATE_DLL_API
38 # endif
39 # endif
40 # else
41 # ifdef _WIN32
42 # define EMOSTATE_DLL_API __declspec(dllimport)
43 # else
44 # define EMOSTATE_DLL_API
45 # endif
46 # endif
47 #else
48 # define EMOSTATE_DLL_API extern
49 #endif
50 
52 typedef void* EmoStateHandle;
53 
54 
56  typedef enum IEE_EmotivSuite_enum {
57 
61 
63 
66 
67  FE_NEUTRAL = 0x0001,
68  FE_BLINK = 0x0002,
69  FE_WINK_LEFT = 0x0004,
70  FE_WINK_RIGHT = 0x0008,
71  FE_HORIEYE = 0x0010,
72  FE_SURPRISE = 0x0020,
73  FE_FROWN = 0x0040,
74  FE_SMILE = 0x0080,
75  FE_CLENCH = 0x0100,
76 
77  FE_LAUGH = 0x0200,
78  FE_SMIRK_LEFT = 0x0400,
80 
82 
85 
86  MC_NEUTRAL = 0x0001,
87  MC_PUSH = 0x0002,
88  MC_PULL = 0x0004,
89  MC_LIFT = 0x0008,
90  MC_DROP = 0x0010,
91  MC_LEFT = 0x0020,
92  MC_RIGHT = 0x0040,
93  MC_ROTATE_LEFT = 0x0080,
94  MC_ROTATE_RIGHT = 0x0100,
99  MC_DISAPPEAR = 0x2000
100 
102 
103 
105  typedef enum IEE_SignalStrength_enum {
106 
107  NO_SIG = 0,
111 
113 
117  typedef enum IEE_InputChannels_enum {
118 
139 
141 
147 
153 
155 
156 
158 
168  EMOSTATE_DLL_API EmoStateHandle
169  IS_Create();
170 
171 
173 
180  EMOSTATE_DLL_API void
181  IS_Free(EmoStateHandle state);
182 
183 
185 
190  EMOSTATE_DLL_API void
191  IS_Init(EmoStateHandle state);
192 
193 
195 
204  EMOSTATE_DLL_API float
205  IS_GetTimeFromStart(EmoStateHandle state);
206 
207 
209 
217  EMOSTATE_DLL_API int
218  IS_GetHeadsetOn(EmoStateHandle state);
219 
220 
222 
228  EMOSTATE_DLL_API int
229  IS_GetNumContactQualityChannels(EmoStateHandle state);
230 
231 
233 
241  EMOSTATE_DLL_API IEE_EEG_ContactQuality_t
242  IS_GetContactQuality(EmoStateHandle state,
243  IEE_InputChannels_t electroIdx);
244 
245 
247 
264  EMOSTATE_DLL_API int
265  IS_GetContactQualityFromAllChannels(EmoStateHandle state,
266  IEE_EEG_ContactQuality_t* contactQuality,
267  size_t numChannels);
268 
269 
271 
278  EMOSTATE_DLL_API IEE_SignalStrength_t
279  IS_GetWirelessSignalStatus(EmoStateHandle state);
280 
281 
283 
288  EMOSTATE_DLL_API void
289  IS_GetBatteryChargeLevel(EmoStateHandle state,
290  int* chargeLevel,
291  int* maxChargeLevel);
292 
293 
295 
301  EMOSTATE_DLL_API int
302  IS_FacialExpressionIsBlink(EmoStateHandle state);
303 
304 
306 
313  EMOSTATE_DLL_API int
314  IS_FacialExpressionIsLeftWink(EmoStateHandle state);
315 
316 
318 
325  EMOSTATE_DLL_API int
326  IS_FacialExpressionIsRightWink(EmoStateHandle state);
327 
328 
330 
336  EMOSTATE_DLL_API int
337  IS_FacialExpressionIsEyesOpen(EmoStateHandle state);
338 
339 
341 
348  EMOSTATE_DLL_API int
349  IS_FacialExpressionIsLookingUp(EmoStateHandle state);
350 
351 
353 
360  EMOSTATE_DLL_API int
361  IS_FacialExpressionIsLookingDown(EmoStateHandle state);
362 
363 
365 
374  EMOSTATE_DLL_API int
375  IS_FacialExpressionIsLookingLeft(EmoStateHandle state);
376 
377 
379 
388  EMOSTATE_DLL_API int
389  IS_FacialExpressionIsLookingRight(EmoStateHandle state);
390 
391 
393 
404  EMOSTATE_DLL_API void
405  IS_FacialExpressionGetEyelidState(EmoStateHandle state,
406  float* leftEye,
407  float* rightEye);
408 
409 
411 
429  EMOSTATE_DLL_API void
430  IS_FacialExpressionGetEyeLocation(EmoStateHandle state,
431  float* x,
432  float* y);
433 
434 
436 
443  EMOSTATE_DLL_API float
444  IS_FacialExpressionGetEyebrowExtent(EmoStateHandle state);
445 
446 
448 
455  EMOSTATE_DLL_API float
456  IS_FacialExpressionGetSmileExtent(EmoStateHandle state);
457 
458 
460 
467  EMOSTATE_DLL_API float
468  IS_FacialExpressionGetClenchExtent(EmoStateHandle state);
469 
470 
472 
480  IS_FacialExpressionGetUpperFaceAction(EmoStateHandle state);
481 
482 
484 
491  EMOSTATE_DLL_API float
492  IS_FacialExpressionGetUpperFaceActionPower(EmoStateHandle state);
493 
494 
496 
504  IS_FacialExpressionGetLowerFaceAction(EmoStateHandle state);
505 
506 
508 
515  EMOSTATE_DLL_API float
516  IS_FacialExpressionGetLowerFaceActionPower(EmoStateHandle state);
517 
518 
520 
528  EMOSTATE_DLL_API int
529  IS_FacialExpressionIsActive(EmoStateHandle state,
531 
532 
534 
542  IS_MentalCommandGetCurrentAction(EmoStateHandle state);
543 
544 
546 
553  EMOSTATE_DLL_API float
554  IS_MentalCommandGetCurrentActionPower(EmoStateHandle state);
555 
556 
558 
563  EMOSTATE_DLL_API int
564  IS_MentalCommandIsActive(EmoStateHandle state);
565 
566 
568 
576  EMOSTATE_DLL_API int
577  IS_FacialExpressionEqual(EmoStateHandle a,
578  EmoStateHandle b);
579 
580 
582 
590  EMOSTATE_DLL_API int
591  IS_MentalCommandEqual(EmoStateHandle a,
592  EmoStateHandle b);
593 
594 
596 
602  EMOSTATE_DLL_API void
603  IS_Copy(EmoStateHandle a,
604  EmoStateHandle b);
605 
607 
618  EMOSTATE_DLL_API int
619  IS_EmoEngineEqual(EmoStateHandle a,
620  EmoStateHandle b);
621 
623 
631  EMOSTATE_DLL_API int
632  IS_Equal(EmoStateHandle a,
633  EmoStateHandle b);
634 
635 #ifdef __cplusplus
636 }
637 #endif
638 #endif // EMOSTATE_DLL_H
639 
640 
641 
void * EmoStateHandle
Defining EmoStateHandle as a void pointer.
Definition: IEmoStateDLL.h:52
EMOSTATE_DLL_API EmoStateHandle IS_Create()
Create EmoState handle.
IEE_SignalStrength_enum
Wireless Signal Strength enumerator.
Definition: IEmoStateDLL.h:105
EMOSTATE_DLL_API int IS_GetContactQualityFromAllChannels(EmoStateHandle state, IEE_EEG_ContactQuality_t *contactQuality, size_t numChannels)
Query the contact quality of all the electrodes in one single call.
EMOSTATE_DLL_API float IS_MentalCommandGetCurrentActionPower(EmoStateHandle state)
Returns the detected MentalCommand action power of the user.
Definition: IEmoStateDLL.h:77
EMOSTATE_DLL_API void IS_Free(EmoStateHandle state)
Free EmoState handle.
Definition: IEmoStateDLL.h:73
Definition: IEmoStateDLL.h:109
Definition: IEmoStateDLL.h:148
Definition: IEmoStateDLL.h:107
Definition: IEmoStateDLL.h:72
EMOSTATE_DLL_API int IS_FacialExpressionIsEyesOpen(EmoStateHandle state)
Query whether the eyes of the user are opened at the time the EmoState is captured.
EMOSTATE_DLL_API float IS_FacialExpressionGetEyebrowExtent(EmoStateHandle state)
Returns the eyebrow extent of the user (Obsolete function)
Definition: IEmoStateDLL.h:120
Definition: IEmoStateDLL.h:137
EMOSTATE_DLL_API IEE_SignalStrength_t IS_GetWirelessSignalStatus(EmoStateHandle state)
Query of the current wireless signal strength.
Definition: IEmoStateDLL.h:127
Definition: IEmoStateDLL.h:69
Definition: IEmoStateDLL.h:123
IEE_FacialExpressionAlgo_enum
FacialExpression facial expression type enumerator.
Definition: IEmoStateDLL.h:65
Definition: IEmoStateDLL.h:134
IEE_EmotivSuite_enum
Emotiv Detection Suite enumerator.
Definition: IEmoStateDLL.h:56
EMOSTATE_DLL_API int IS_FacialExpressionIsLookingDown(EmoStateHandle state)
Query whether the user is looking down at the time the EmoState is captured.
Definition: IEmoStateDLL.h:58
EMOSTATE_DLL_API int IS_FacialExpressionEqual(EmoStateHandle a, EmoStateHandle b)
Check whether two states are with identical FacialExpression state, i.e. are both state representing ...
enum IEE_EEG_ContactQuality_enum IEE_EEG_ContactQuality_t
EEG Electrode Contact Quality enumeration.
Definition: IEmoStateDLL.h:91
Definition: IEmoStateDLL.h:124
EMOSTATE_DLL_API int IS_MentalCommandEqual(EmoStateHandle a, EmoStateHandle b)
Check whether two states are with identical MentalCommand state.
Definition: IEmoStateDLL.h:99
Definition: IEmoStateDLL.h:136
Definition: IEmoStateDLL.h:119
Definition: IEmoStateDLL.h:132
IEE_MentalCommandAction_enum
MentalCommand action type enumerator.
Definition: IEmoStateDLL.h:84
Definition: IEmoStateDLL.h:71
enum IEE_SignalStrength_enum IEE_SignalStrength_t
Wireless Signal Strength enumerator.
Definition: IEmoStateDLL.h:79
Definition: IEmoStateDLL.h:68
EMOSTATE_DLL_API IEE_FacialExpressionAlgo_t IS_FacialExpressionGetUpperFaceAction(EmoStateHandle state)
Returns the detected upper face FacialExpression action of the user.
Definition: IEmoStateDLL.h:88
Definition: IEmoStateDLL.h:70
enum IEE_MentalCommandAction_enum IEE_MentalCommandAction_t
MentalCommand action type enumerator.
Definition: IEmoStateDLL.h:122
EMOSTATE_DLL_API IEE_EEG_ContactQuality_t IS_GetContactQuality(EmoStateHandle state, IEE_InputChannels_t electroIdx)
Query the contact quality of a specific EEG electrode.
EMOSTATE_DLL_API float IS_FacialExpressionGetSmileExtent(EmoStateHandle state)
Returns the smile extent of the user (Obsolete function)
IEE_InputChannels_enum
Logical input channel identifiers.
Definition: IEmoStateDLL.h:117
Definition: IEmoStateDLL.h:59
EMOSTATE_DLL_API float IS_FacialExpressionGetClenchExtent(EmoStateHandle state)
Returns the clench extent of the user (Obsolete function)
enum IEE_EmotivSuite_enum IEE_EmotivSuite_t
Emotiv Detection Suite enumerator.
#define EMOSTATE_DLL_API
Definition: IEmoStateDLL.h:44
Definition: IEmoStateDLL.h:75
EMOSTATE_DLL_API int IS_FacialExpressionIsLeftWink(EmoStateHandle state)
Query whether the user is winking left at the time the EmoState is captured.
Definition: IEmoStateDLL.h:126
Definition: IEmoStateDLL.h:125
Definition: IEmoStateDLL.h:87
Definition: IEmoStateDLL.h:135
Definition: IEmoStateDLL.h:78
Definition: IEmoStateDLL.h:90
Definition: IEmoStateDLL.h:97
EMOSTATE_DLL_API int IS_FacialExpressionIsLookingLeft(EmoStateHandle state)
Query whether the user is looking left at the time the EmoState is captured with EPOC/EPOC+ headset...
enum IEE_InputChannels_enum IEE_InputChannels_t
Logical input channel identifiers.
Definition: IEmoStateDLL.h:130
EMOSTATE_DLL_API IEE_FacialExpressionAlgo_t IS_FacialExpressionGetLowerFaceAction(EmoStateHandle state)
Returns the detected lower face FacialExpression action of the user.
Definition: IEmoStateDLL.h:129
EMOSTATE_DLL_API int IS_FacialExpressionIsActive(EmoStateHandle state, IEE_FacialExpressionAlgo_t type)
Query whether the signal is too noisy for FacialExpression detection to be active.
EMOSTATE_DLL_API void IS_Init(EmoStateHandle state)
Initialize the EmoState into neutral state.
EMOSTATE_DLL_API void IS_GetBatteryChargeLevel(EmoStateHandle state, int *chargeLevel, int *maxChargeLevel)
Get the level of charge remaining in the headset battery.
Definition: IEmoStateDLL.h:86
Definition: IEmoStateDLL.h:98
Definition: IEmoStateDLL.h:95
Definition: IEmoStateDLL.h:151
Definition: IEmoStateDLL.h:133
EMOSTATE_DLL_API int IS_FacialExpressionIsLookingRight(EmoStateHandle state)
Query whether the user is looking right at the time the EmoState is captured with EPOC/EPOC+ headset...
EMOSTATE_DLL_API float IS_GetTimeFromStart(EmoStateHandle state)
Return the time since EmoEngine has been successfully connected to the headset.
EMOSTATE_DLL_API void IS_Copy(EmoStateHandle a, EmoStateHandle b)
Clone EmoStateHandle.
EMOSTATE_DLL_API int IS_FacialExpressionIsBlink(EmoStateHandle state)
Query whether the user is blinking at the time the EmoState is captured.
Definition: IEmoStateDLL.h:128
Definition: IEmoStateDLL.h:131
IEE_EEG_ContactQuality_enum
EEG Electrode Contact Quality enumeration.
Definition: IEmoStateDLL.h:146
Definition: IEmoStateDLL.h:152
Definition: IEmoStateDLL.h:149
EMOSTATE_DLL_API void IS_FacialExpressionGetEyelidState(EmoStateHandle state, float *leftEye, float *rightEye)
Query the eyelids state of the user.
Definition: IEmoStateDLL.h:67
Definition: IEmoStateDLL.h:93
Definition: IEmoStateDLL.h:60
EMOSTATE_DLL_API float IS_FacialExpressionGetUpperFaceActionPower(EmoStateHandle state)
Returns the detected upper face FacialExpression action power of the user.
Definition: IEmoStateDLL.h:74
Definition: IEmoStateDLL.h:96
Definition: IEmoStateDLL.h:92
Definition: IEmoStateDLL.h:94
EMOSTATE_DLL_API int IS_MentalCommandIsActive(EmoStateHandle state)
Query whether the signal is too noisy for MentalCommand detection to be active.
Definition: IEmoStateDLL.h:89
Definition: IEmoStateDLL.h:150
EMOSTATE_DLL_API IEE_MentalCommandAction_t IS_MentalCommandGetCurrentAction(EmoStateHandle state)
Returns the detected MentalCommand action of the user.
Definition: IEmoStateDLL.h:121
EMOSTATE_DLL_API int IS_FacialExpressionIsLookingUp(EmoStateHandle state)
Query whether the user is looking up at the time the EmoState is captured.
Definition: IEmoStateDLL.h:108
enum IEE_FacialExpressionAlgo_enum IEE_FacialExpressionAlgo_t
FacialExpression facial expression type enumerator.
EMOSTATE_DLL_API int IS_EmoEngineEqual(EmoStateHandle a, EmoStateHandle b)
Check whether two states are with identical EmoEngine state.
EMOSTATE_DLL_API int IS_Equal(EmoStateHandle a, EmoStateHandle b)
Check whether two EmoStateHandles are identical.
EMOSTATE_DLL_API float IS_FacialExpressionGetLowerFaceActionPower(EmoStateHandle state)
Returns the detected lower face FacialExpression action power of the user.
EMOSTATE_DLL_API int IS_GetHeadsetOn(EmoStateHandle state)
Return whether the headset has been put on correctly or not.
EMOSTATE_DLL_API int IS_GetNumContactQualityChannels(EmoStateHandle state)
Query the number of channels of available sensor contact quality data.
EMOSTATE_DLL_API void IS_FacialExpressionGetEyeLocation(EmoStateHandle state, float *x, float *y)
Query the eyes position of the user.
EMOSTATE_DLL_API int IS_FacialExpressionIsRightWink(EmoStateHandle state)
Query whether the user is winking right at the time the EmoState is captured.