diff --git a/src/board_controller/muse/inc/muse_athena_constants.h b/src/board_controller/muse/inc/muse_athena_constants.h index d2f9e7783..ff477eb04 100644 --- a/src/board_controller/muse/inc/muse_athena_constants.h +++ b/src/board_controller/muse/inc/muse_athena_constants.h @@ -12,5 +12,6 @@ #define MUSE_ATHENA_ACCELEROMETER_SCALE_FACTOR 0.00006103515625 #define MUSE_ATHENA_GYRO_SCALE_FACTOR -0.007476806640625 #define MUSE_ATHENA_EEG_SCALE_FACTOR (1450.0 / 16383.0) +#define MUSE_ATHENA_EEG_MIDPOINT 8192.0 #define MUSE_ATHENA_OPTICS_SCALE_FACTOR 1.0 #define MUSE_ATHENA_BATTERY_PERCENT_SCALE_FACTOR (1.0 / 512.0) diff --git a/src/board_controller/muse/muse_athena.cpp b/src/board_controller/muse/muse_athena.cpp index e2f1a5555..1fab5576d 100644 --- a/src/board_controller/muse/muse_athena.cpp +++ b/src/board_controller/muse/muse_athena.cpp @@ -782,7 +782,7 @@ void MuseAthena::parse_sensor_payload ( if ((size_t)channel < eeg_channels.size ()) { package[(size_t)eeg_channels[(size_t)channel]] = - (double)raw * MUSE_ATHENA_EEG_SCALE_FACTOR; + ((double)raw - MUSE_ATHENA_EEG_MIDPOINT) * MUSE_ATHENA_EEG_SCALE_FACTOR; } else { @@ -790,7 +790,7 @@ void MuseAthena::parse_sensor_payload ( if (other_channel < other_channels.size ()) { package[(size_t)other_channels[other_channel]] = - (double)raw * MUSE_ATHENA_EEG_SCALE_FACTOR; + ((double)raw - MUSE_ATHENA_EEG_MIDPOINT) * MUSE_ATHENA_EEG_SCALE_FACTOR; } } }