From 206ffacb93871a6b054f3ca80b163ad36eaee5e0 Mon Sep 17 00:00:00 2001 From: Andrey Parfenov Date: Tue, 18 Aug 2026 16:04:21 +0200 Subject: [PATCH 1/4] Fix Muse S Athena EEG scale factor --- .../muse/inc/muse_athena_constants.h | 2 +- .../muse_athena_constants_unittest.cpp | 13 +++++++++++++ src/tests/build.cmake | 4 +++- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 src/tests/board_controller/muse_athena_constants_unittest.cpp diff --git a/src/board_controller/muse/inc/muse_athena_constants.h b/src/board_controller/muse/inc/muse_athena_constants.h index 6ab674720..d2f9e7783 100644 --- a/src/board_controller/muse/inc/muse_athena_constants.h +++ b/src/board_controller/muse/inc/muse_athena_constants.h @@ -11,6 +11,6 @@ // info for equations #define MUSE_ATHENA_ACCELEROMETER_SCALE_FACTOR 0.00006103515625 #define MUSE_ATHENA_GYRO_SCALE_FACTOR -0.007476806640625 -#define MUSE_ATHENA_EEG_SCALE_FACTOR 0.40293040293040294 +#define MUSE_ATHENA_EEG_SCALE_FACTOR (1450.0 / 16383.0) #define MUSE_ATHENA_OPTICS_SCALE_FACTOR 1.0 #define MUSE_ATHENA_BATTERY_PERCENT_SCALE_FACTOR (1.0 / 512.0) diff --git a/src/tests/board_controller/muse_athena_constants_unittest.cpp b/src/tests/board_controller/muse_athena_constants_unittest.cpp new file mode 100644 index 000000000..384125112 --- /dev/null +++ b/src/tests/board_controller/muse_athena_constants_unittest.cpp @@ -0,0 +1,13 @@ +#include + +#include "muse_athena_constants.h" + + +TEST (MuseAthenaConstantsTest, EegScaleMatchesFourteenBitFullScaleRange) +{ + constexpr double max_14_bit_code = 16383.0; + constexpr double full_scale_microvolts = 1450.0; + + EXPECT_NEAR (MUSE_ATHENA_EEG_SCALE_FACTOR * max_14_bit_code, + full_scale_microvolts, 1e-12); +} diff --git a/src/tests/build.cmake b/src/tests/build.cmake index 3db4fd092..920e490aa 100644 --- a/src/tests/build.cmake +++ b/src/tests/build.cmake @@ -30,6 +30,7 @@ enable_testing() SET (TESTS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/bluetooth/bluetooth_functions.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/data_buffer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/board_controller/muse_athena_constants_unittest.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/bluetooth/socket_bluetooth_test.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/bluetooth/bluetooth_functions_unittest.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/data_buffer_unittest.cpp @@ -42,6 +43,7 @@ add_executable( target_include_directories ( ${TESTS_EXE_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/muse/inc ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/bluetooth/inc ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/bluetooth/inc @@ -61,4 +63,4 @@ set_target_properties (${TESTS_EXE_NAME} ) include(GoogleTest) -gtest_discover_tests(${TESTS_EXE_NAME}) \ No newline at end of file +gtest_discover_tests(${TESTS_EXE_NAME}) From 049c4e287a43954885545ae7e6341e253322cbfc Mon Sep 17 00:00:00 2001 From: Andrey Parfenov Date: Tue, 18 Aug 2026 23:52:33 +0200 Subject: [PATCH 2/4] Remove Athena scale unit test wiring --- src/tests/build.cmake | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/tests/build.cmake b/src/tests/build.cmake index 920e490aa..fcf972e76 100644 --- a/src/tests/build.cmake +++ b/src/tests/build.cmake @@ -30,7 +30,6 @@ enable_testing() SET (TESTS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/bluetooth/bluetooth_functions.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/data_buffer.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/board_controller/muse_athena_constants_unittest.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/bluetooth/socket_bluetooth_test.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/bluetooth/bluetooth_functions_unittest.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/data_buffer_unittest.cpp @@ -43,7 +42,6 @@ add_executable( target_include_directories ( ${TESTS_EXE_NAME} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/muse/inc ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/bluetooth/inc ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/utils/bluetooth/inc From ef9402cbbb2bf508a25b5229ad79848c60cd4da8 Mon Sep 17 00:00:00 2001 From: Andrey Parfenov Date: Tue, 18 Aug 2026 23:52:40 +0200 Subject: [PATCH 3/4] Remove Athena scale unit test --- .../muse_athena_constants_unittest.cpp | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 src/tests/board_controller/muse_athena_constants_unittest.cpp diff --git a/src/tests/board_controller/muse_athena_constants_unittest.cpp b/src/tests/board_controller/muse_athena_constants_unittest.cpp deleted file mode 100644 index 384125112..000000000 --- a/src/tests/board_controller/muse_athena_constants_unittest.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include - -#include "muse_athena_constants.h" - - -TEST (MuseAthenaConstantsTest, EegScaleMatchesFourteenBitFullScaleRange) -{ - constexpr double max_14_bit_code = 16383.0; - constexpr double full_scale_microvolts = 1450.0; - - EXPECT_NEAR (MUSE_ATHENA_EEG_SCALE_FACTOR * max_14_bit_code, - full_scale_microvolts, 1e-12); -} From e7425db52513ac4972ab429449170b5dbd1676e9 Mon Sep 17 00:00:00 2001 From: Andrey Parfenov Date: Tue, 18 Aug 2026 23:53:13 +0200 Subject: [PATCH 4/4] Restore build file unchanged after test removal --- src/tests/build.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/build.cmake b/src/tests/build.cmake index fcf972e76..3db4fd092 100644 --- a/src/tests/build.cmake +++ b/src/tests/build.cmake @@ -61,4 +61,4 @@ set_target_properties (${TESTS_EXE_NAME} ) include(GoogleTest) -gtest_discover_tests(${TESTS_EXE_NAME}) +gtest_discover_tests(${TESTS_EXE_NAME}) \ No newline at end of file