Warning Objects

In addition to method responses and data samples, Cortex can send a third type of message, called warnings.

These warnings inform your application about important events, like when the user logs in or out. or when a training profile is loaded or unloaded for a headset.

Description

A warning object contain these fields:

Name

Type

Description

jsonrpc

string

Always has the value "2.0".

warning

object

An object with the fields "code" and "message".

The warning object has 2 fields:

Name

Type

Description

code

number

The code of this warning. The possible codes are documented below.

message

any

The type and value of this field depends on the code. For most of the warnings it is just a string, but it can also be an object. See the examples below.

Warning Codes

The possible codes are:

Code

Description

0

All the data streams you subscribed to have been automatically canceled by Cortex. This can happen if the headset was disconnected.

1

Your session was automatically closed by Cortex. This can happen if the headset was disconnected.

2

The user has logged in with EMOTIV App.

3

The user has logged out with EMOTIV App.

9

The user approved your application in EMOTIV App.

10

The user declined your application in EMOTIV App.

13

A training profile was loaded for a headset using setupProfile‚Äč

14

A training profile was unloaded for a headset using setupProfile.

15

A training profile was automatically unloaded by Cortex. This can happen if the headset was disconnected, or if the application that loaded this profile was disconnected from Cortex.

17

The user accepted the EULA in EMOTIV App.

19

The available disk space is low. Cortex send this warning when there is less then 1 GB available of the hard drive.

This warning was added in Cortex 2.2.1

20

The available disk space is critically low. Cortex send this warning when there is less then 300 MB available of the hard drive. When this happens Cortex automatically disconnect all the headsets. You cannot connect a headset until the user free up some space.

This warning was added in Cortex 2.2.1

21

The user has changed the opt-out configuration.

This warning was added in Cortex 2.2.1

22

Cortex has changed the opt-out configuration. This can happen when the license of the user is updated.

This warning was added in Cortex 2.2.1

24

Cortex has finished importing a file from an Extender.

This warning was added in Cortex 2.3.0

26

The license of the user will expire in a few days.

This warning was added in Cortex 2.3.0

100 101

Cortex failed to connect to a headset. If the headset uses a Bluetooth connection, then you should try to disconnect the headset from the Bluetooth manager of the OS.

102

Cortex reached a timeout while trying to connect to a headset. This can happen if the wireless connection is of poor quality.

103

Cortex disconnected a headset because it didn't receive any data from this headset for more then 30 seconds. This can happen if the headset goes out of range of the computer, or if the wireless connection is of poor quality.

104

Cortex successfully connected to a headset.

Examples

Data stream unsubscribed

{
"jsonrpc": "2.0",
"warning": {
"code": 0,
"message": {
"behavior": "Cortex has stopped all the subscriptions of session 866b8437-2380-4392-9a35-3d5957eaf95d.",
"sessionId": "866b8437-2380-4392-9a35-3d5957eaf95d"
}
}
}

Session closed

{
"jsonrpc": "2.0",
"warning": {
"code": 1,
"message": {
"behavior": "Cortex has closed the session 866b8437-2380-4392-9a35-3d5957eaf95d.",
"sessionId": "866b8437-2380-4392-9a35-3d5957eaf95d"
}
}
}

User login

{
"jsonrpc": "2.0",
"warning": {
"code": 2,
"message": "User jon.snow has already logged in to Cortex."
}
}

User logout

{
"jsonrpc": "2.0",
"warning": {
"code": 3,
"message": "User jon.snow has already logged out from Cortex."
}
}

App access granted

{
"jsonrpc": "2.0",
"warning": {
"code": 9,
"message": "The access right to the cortex-examples has been granted"
}
}

App access declined

{
"jsonrpc": "2.0",
"warning": {
"code": 10,
"message": "The access right to the cortex-examples has been rejected"
}
}

Profile loaded

{
"jsonrpc": "2.0",
"warning": {
"code": 13,
"message": {
"behavior": "Profile is loaded",
"headset": "INSIGHT-12341234",
"profile": "foo"
}
}
}

Profile unloaded

{
"jsonrpc": "2.0",
"warning": {
"code": 14,
"message": {
"behavior": "Profile is unloaded",
"headset": "INSIGHT-12341234",
"profile": "foo"
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 15,
"message": {
"behavior": "Cortex has unloaded the profile",
"headset": "INSIGHT-12341234",
"profile": "foo"
}
}
}

EULA accepted

{
"jsonrpc": "2.0",
"warning": {
"code": 17,
"message": "User jon.snow has accepted the EULA via EMOTIV App"
}
}

Disk space

{
"jsonrpc": "2.0",
"warning": {
"code": 19,
"message": {
"behavior": "The available disk space is low.",
"rootPath": "/",
"volumeName": "MAC"
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 20,
"message": {
"behavior": "The available disk space is critically low. Cortex will disconnect all the headsets.",
"rootPath": "C",
"volumeName": "Windows"
}
}
}

Opt-out configuration changed

{
"jsonrpc": "2.0",
"warning": {
"code": 21,
"message": {
"currOptOut": true,
"forceOptOut": false,
"message": "User has changed the Opt-out configuration.",
"optOutAvail": true
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 22,
"message": {
"currOptOut": true,
"forceOptOut": false,
"message": "The Opt-out configuration has been automatically changed due to change in license.",
"optOutAvail": true
}
}
}

File import done

{
"jsonrpc": "2.0",
"warning": {
"code": 24,
"message": {
"inputPath": "/Users/bob/Documents/eed3",
"uuid": "d2117bed-2cf4-4294-937e-3d732d866112"
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 24,
"message": {
"inputPath": "/Users/bob/Documents/eed3",
"error": "Import data fail."
}
}
}

Failed to connect to a headset

{
"jsonrpc": "2.0",
"warning": {
"code": 100,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "The headset has wrong information. Please dis/reconnect your headset from OS manager."
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 101,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "Cannot connect to the headset. Please dis/reconnect your headset from OS manager."
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 102,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "The headset is disconnected because of connecting timeout"
}
}
}

Headset disconnected

{
"jsonrpc": "2.0",
"warning": {
"code": 103,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "The headset is disconnected because of data timeout"
}
}
}

Headset connected

{
"jsonrpc": "2.0",
"warning": {
"code": 104,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "The headset is connected"
}
}
}