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

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 than 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.

110

Cortex successfully updated the configuration of a headset. See updateHeadset.

This warning was added in Cortex 2.4

111

Cortex failed to update the configuration of a headset. See updateHeadset.

This warning was added in Cortex 2.4

Examples

0 - 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"
}
}
}

1 - 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"
}
}
}

2 - User login

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

3 - User logout

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

9 - App access granted

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

10 - App access declined

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

13 - Profile loaded

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

14 - 15 - 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"
}
}
}

17 - EULA accepted

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

19 - 20 - 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"
}
}
}

21 - 22 - 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
}
}
}

100 - 101 - 102 - Failed to connect to a headset

{
"jsonrpc": "2.0",
"warning": {
"code": 100,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "Headset cannot be connected. Please try again."
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 101,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "Headset cannot be connected. Please try again."
}
}
}
{
"jsonrpc": "2.0",
"warning": {
"code": 102,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "Headset cannot be connected due to connection timeout."
}
}
}

103 - Headset disconnected

{
"jsonrpc": "2.0",
"warning": {
"code": 103,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "Headset has been disconnected due to connection timeout."
}
}
}

104 - Headset connected

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

110 - Headset update successful

{
"jsonrpc": "2.0",
"warning": {
"code": 110,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "Headset configuration is updated."
}
}
}

111 - Headset update failed

{
"jsonrpc": "2.0",
"warning": {
"code": 111,
"message": {
"headsetId": "EPOCPLUS-3B9AXXXX",
"behavior": "Headset configuration update failed."
}
}
}