From ad80496b86dd9f8bbca2cdf058413148f05813db Mon Sep 17 00:00:00 2001 From: GOB Date: Wed, 12 Feb 2025 14:43:05 +0900 Subject: [PATCH] Change some enum classes name --- .../HatHeart/PlotToSerial/PlotToSerial.ino | 2 +- .../PlotToSerial/main/PlotToSerial.cpp | 54 ++-- src/unit/unit_MAX30102.cpp | 37 ++- src/unit/unit_MAX30102.hpp | 73 +++-- test/embedded/test_max30102/max30102_test.cpp | 262 +++++++++--------- 5 files changed, 214 insertions(+), 214 deletions(-) diff --git a/examples/UnitUnified/HatHeart/PlotToSerial/PlotToSerial.ino b/examples/UnitUnified/HatHeart/PlotToSerial/PlotToSerial.ino index d4542d2..ee0887f 100644 --- a/examples/UnitUnified/HatHeart/PlotToSerial/PlotToSerial.ino +++ b/examples/UnitUnified/HatHeart/PlotToSerial/PlotToSerial.ino @@ -4,6 +4,6 @@ * SPDX-License-Identifier: MIT */ /* - Example using M5UnitUnified for HatHEART + Example using M5UnitUnified for HatHeart */ #include "main/PlotToSerial.cpp" diff --git a/examples/UnitUnified/HatHeart/PlotToSerial/main/PlotToSerial.cpp b/examples/UnitUnified/HatHeart/PlotToSerial/main/PlotToSerial.cpp index f168873..821e31a 100644 --- a/examples/UnitUnified/HatHeart/PlotToSerial/main/PlotToSerial.cpp +++ b/examples/UnitUnified/HatHeart/PlotToSerial/main/PlotToSerial.cpp @@ -15,10 +15,10 @@ namespace { auto& lcd = M5.Display; m5::unit::UnitUnified Units; m5::unit::HatHeart hat; - m5::heart::PulseMonitor monitor{}; -constexpr bool using_multi_led_mode{true}; +constexpr bool using_multi_led_mode{false}; // Using multiLED mode if true +constexpr bool using_wire1{false}; // Using Wire1 if true } // namespace @@ -27,10 +27,12 @@ using namespace m5::unit::max30102; void setup() { // Configuration if using Wire1 - auto m5cfg = M5.config(); - m5cfg.pmic_button = false; // Disable BtnPWR - m5cfg.internal_imu = false; // Disable internal IMU - m5cfg.internal_rtc = false; // Disable internal RTC + auto m5cfg = M5.config(); + if (using_wire1) { + m5cfg.pmic_button = false; // Disable BtnPWR + m5cfg.internal_imu = false; // Disable internal IMU + m5cfg.internal_rtc = false; // Disable internal RTC + } M5.begin(m5cfg); auto board = M5.getBoard(); @@ -55,27 +57,27 @@ void setup() } // Using TwoWire -#if 1 - Wire1.end(); - Wire1.begin(0, 26, 400 * 1000U); // Hat port 0,26 - if (!Units.add(hat, Wire1) || !Units.begin()) { - M5_LOGE("Failed to begin"); - lcd.clear(TFT_RED); - while (true) { - m5::utility::delay(10000); + if (using_wire1) { + Wire1.end(); + Wire1.begin(0, 26, 400 * 1000U); + if (!Units.add(hat, Wire1) || !Units.begin()) { + M5_LOGE("Failed to begin"); + lcd.clear(TFT_RED); + while (true) { + m5::utility::delay(10000); + } + } + } else { + Wire.end(); + Wire.begin(0, 26, 400 * 1000U); + if (!Units.add(hat, Wire) || !Units.begin()) { + M5_LOGE("Failed to begin"); + lcd.clear(TFT_RED); + while (true) { + m5::utility::delay(10000); + } } } -#else - Wire.end(); - Wire.begin(0, 26, 400 * 1000U); // Hat port 0,26 - if (!Units.add(hat, Wire) || !Units.begin()) { - M5_LOGE("Failed to begin"); - lcd.clear(TFT_RED); - while (true) { - m5::utility::delay(10000); - } - } -#endif M5_LOGI("M5UnitUnified has been begun"); M5_LOGI("%s", Units.debugInfo().c_str()); @@ -83,7 +85,7 @@ void setup() // In MultiLED mode, you need to set and start them yourself if (using_multi_led_mode) { hat.writeMode(Mode::MultiLED); - hat.writeSpO2Configuration(SpO2ADCRange::nA4096, Sampling::Rate400, LEDPulseWidth::PW411); + hat.writeSpO2Configuration(ADC::Range4096nA, Sampling::Rate400, LEDPulse::Width411); hat.writeFIFOConfiguration(FIFOSampling::Average4, true, 15); // hat.writeMultiLEDModeControl(Slot::Red, Slot::IR); // (A) hat.writeMultiLEDModeControl(Slot::IR, Slot::Red); // (B) diff --git a/src/unit/unit_MAX30102.cpp b/src/unit/unit_MAX30102.cpp index dd6fc5c..f83d11b 100644 --- a/src/unit/unit_MAX30102.cpp +++ b/src/unit/unit_MAX30102.cpp @@ -86,7 +86,7 @@ constexpr const uint8_t* allowed_setting_table[] = { none_table, none_table, hr_table, spo2_table, none_table, none_table, none_table, spo2_table, }; -inline bool is_allowed_settings(const Mode mode, const Sampling rate, const LEDPulseWidth pw) +inline bool is_allowed_settings(const Mode mode, const Sampling rate, const LEDPulse pw) { return allowed_setting_table[m5::stl::to_underlying(mode)][m5::stl::to_underlying(rate)] & (1U << m5::stl::to_underlying(pw)); @@ -184,19 +184,19 @@ struct ModeConfiguration { }; struct SpO2Configuration { - inline SpO2ADCRange range() const + inline ADC range() const { - return static_cast((value >> 5) & 0x03); + return static_cast((value >> 5) & 0x03); } inline Sampling rate() const { return static_cast((value >> 2) & 0x07); } - inline LEDPulseWidth width() const + inline LEDPulse width() const { - return static_cast(value & 0x03); + return static_cast(value & 0x03); } - inline void range(const SpO2ADCRange range) + inline void range(const ADC range) { value = (value & ~(0x03 << 5)) | ((m5::stl::to_underlying(range) & 0x03) << 5); } @@ -204,7 +204,7 @@ struct SpO2Configuration { { value = (value & ~(0x07 << 2)) | ((m5::stl::to_underlying(rate) & 0x07) << 2); } - inline void width(const LEDPulseWidth width) + inline void width(const LEDPulse width) { value = (value & ~0x03) | (m5::stl::to_underlying(width) & 0x03); } @@ -247,7 +247,7 @@ bool UnitMAX30102::begin() return false; } - return (_cfg.start_periodic && (_cfg.mode == Mode::SPO2 || _cfg.mode == Mode::MultiLED)) + return (_cfg.start_periodic && (_cfg.mode == Mode::SpO2 || _cfg.mode == Mode::HROnly)) ? startPeriodicMeasurement(_cfg.mode, _cfg.adc_range, _cfg.sampling_rate, _cfg.pulse_width, _cfg.fifo_sampling_average, _cfg.ir_current, _cfg.red_current) : true; @@ -277,9 +277,9 @@ bool UnitMAX30102::start_periodic_measurement() FIFOSampling avg{}; bool rollover{}; uint8_t almostFull{}; - SpO2ADCRange range{}; + ADC range{}; Sampling rate{}; - LEDPulseWidth width{}; + LEDPulse width{}; if (readFIFOConfiguration(avg, rollover, almostFull) && readSpO2Configuration(range, rate, width)) { _periodic = writeFIFOConfiguration(avg, true /* rollover always true */, almostFull) && @@ -295,8 +295,8 @@ bool UnitMAX30102::start_periodic_measurement() return _periodic; } -bool UnitMAX30102::start_periodic_measurement(const max30102::Mode mode, const SpO2ADCRange range, - const max30102::Sampling rate, const max30102::LEDPulseWidth width, +bool UnitMAX30102::start_periodic_measurement(const max30102::Mode mode, const max30102::ADC range, + const max30102::Sampling rate, const max30102::LEDPulse width, const max30102::FIFOSampling avg, const uint8_t ir_current, const uint8_t red_current) { @@ -380,8 +380,7 @@ bool UnitMAX30102::write_mode_configuration(const max30102::ModeConfiguration& m return writeRegister8(MODE_CONFIGURATION, mc.value); } -bool UnitMAX30102::readSpO2Configuration(max30102::SpO2ADCRange& range, max30102::Sampling& rate, - max30102::LEDPulseWidth& width) +bool UnitMAX30102::readSpO2Configuration(max30102::ADC& range, max30102::Sampling& rate, max30102::LEDPulse& width) { SpO2Configuration sc{}; if (read_register8(SPO2_CONFIGURATION, sc.value)) { @@ -407,8 +406,8 @@ bool UnitMAX30102::write_spo2_configuration(const SpO2Configuration& sc) return writeRegister8(SPO2_CONFIGURATION, sc.value); } -bool UnitMAX30102::writeSpO2Configuration(const max30102::SpO2ADCRange range, const max30102::Sampling rate, - const max30102::LEDPulseWidth width) +bool UnitMAX30102::writeSpO2Configuration(const max30102::ADC range, const max30102::Sampling rate, + const max30102::LEDPulse width) { SpO2Configuration sc{}; sc.range(range); @@ -417,7 +416,7 @@ bool UnitMAX30102::writeSpO2Configuration(const max30102::SpO2ADCRange range, co return write_spo2_configuration(sc); } -bool UnitMAX30102::writeSpO2ADCRange(const max30102::SpO2ADCRange range) +bool UnitMAX30102::writeSpO2ADCRange(const max30102::ADC range) { SpO2Configuration sc{}; if (read_register8(SPO2_CONFIGURATION, sc.value)) { @@ -437,7 +436,7 @@ bool UnitMAX30102::writeSpO2SamplingRate(const max30102::Sampling rate) return false; } -bool UnitMAX30102::writeSpO2LEDPulseWidth(const max30102::LEDPulseWidth width) +bool UnitMAX30102::writeSpO2LEDPulseWidth(const max30102::LEDPulse width) { SpO2Configuration sc{}; if (read_register8(SPO2_CONFIGURATION, sc.value)) { @@ -622,7 +621,7 @@ bool UnitMAX30102::read_FIFO() #if 1 uint32_t dlen = (_mode == Mode::HROnly) ? 3 - : (_mode == Mode::SPO2) ? 6 + : (_mode == Mode::SpO2) ? 6 : (_mode == Mode::MultiLED) ? 3 * ((_slot[0] != Slot::None) + (_slot[1] != Slot::None)) : 0; if (dlen && readCount) { diff --git a/src/unit/unit_MAX30102.hpp b/src/unit/unit_MAX30102.hpp index 5ce13e6..8fda4a7 100644 --- a/src/unit/unit_MAX30102.hpp +++ b/src/unit/unit_MAX30102.hpp @@ -30,26 +30,26 @@ namespace max30102 { enum class Mode : uint8_t { None, //!< None HROnly = 0x02, //!< Heart Rate mode (Red only) - SPO2, //!< SpO2 mode (Red and IR) + SpO2, //!< SpO2 mode (Red and IR) MultiLED = 0x07, //!< Multi-LED mode (Red and IR) }; /*! - @enum SpO2ADCRange + @enum ADC @brief SpO2 ADC Range Control @warning If the ambient environment is very bright or the sensor is exposed to strong light, setting a smaller value may cause the IR/RED to overflow */ -enum class SpO2ADCRange : uint8_t { - nA2048, //!< LSB size 7.81 Full scale 2048 - nA4096, //!< LSB size 15.63 Full scale 4096 - nA8192, //!< LSB size 31.25 Full scale 8192 - nA16384, //!< LSB size 62.5 Full scale 16384 +enum class ADC : uint8_t { + Range2048nA, //!< LSB size 7.81 Full scale 2048 + Range4096nA, //!< LSB size 15.63 Full scale 4096 + Range8192nA, //!< LSB size 31.25 Full scale 8192 + Range16384nA, //!< LSB size 62.5 Full scale 16384 }; /*! @enum Sampling - @brief Sampling rate for pulse + @brief Sampling rate for pulse/conversion @details Unit is the number of sample per second */ enum class Sampling : uint8_t { @@ -64,14 +64,14 @@ enum class Sampling : uint8_t { }; /*! - @enum LEDPulseWidth + @enum LEDPulse @brief LED pulse width (the IR and RED have the same pulse width) */ -enum class LEDPulseWidth : uint8_t { - PW69, //!< 68.95 us (ADC 15 bits) - PW118, //!< 117.78 us (ADC 16 bits) - PW215, //!< 215.44 us (ADC 17 bits) - PW411, //!< 410.75 us (ADC 18 bits) +enum class LEDPulse : uint8_t { + Width69, //!< 68.95 us (ADC 15 bits) + Width118, //!< 117.78 us (ADC 16 bits) + Width215, //!< 215.44 us (ADC 17 bits) + Width411, //!< 410.75 us (ADC 18 bits) }; /*! @@ -99,9 +99,6 @@ enum class FIFOSampling : uint8_t { // Average32, duplicated }; -struct ModeConfiguration; -struct SpO2Configuration; - constexpr uint8_t MAX_FIFO_DEPTH{32}; //!< @brief FIFO depth /*! @@ -176,6 +173,9 @@ constexpr uint8_t READ_REVISION_ID{0xFE}; constexpr uint8_t READ_PART_ID{0xFF}; } // namespace command + +struct ModeConfiguration; +struct SpO2Configuration; ///@endcond } // namespace max30102 @@ -200,15 +200,15 @@ public: @warning In MultiLED mode, only the mode setting is performed @warning The other settings are ignored, so you need to set and start them yourself */ - max30102::Mode mode{max30102::Mode::SPO2}; + max30102::Mode mode{max30102::Mode::SpO2}; //! Start periodic measurement on begin? bool start_periodic{true}; //! ADC range if start on begin - max30102::SpO2ADCRange adc_range{max30102::SpO2ADCRange::nA4096}; + max30102::ADC adc_range{max30102::ADC::Range4096nA}; //! Sampling rate if start on begin max30102::Sampling sampling_rate{max30102::Sampling::Rate400}; //! LED pulse width if start on begin - max30102::LEDPulseWidth pulse_width{max30102::LEDPulseWidth::PW411}; + max30102::LEDPulse pulse_width{max30102::LEDPulse::Width411}; //! LED current for IR if start on begin uint8_t ir_current{0x1F}; //! LED current for Red if start on begin (only SpO2 MODE) @@ -307,8 +307,8 @@ public: @return True if successful @warning Note that some combinations of rate and width are invalid. See also datasheet */ - inline bool startPeriodicMeasurement(const max30102::Mode mode, const max30102::SpO2ADCRange range, - const max30102::Sampling rate, const max30102::LEDPulseWidth width, + inline bool startPeriodicMeasurement(const max30102::Mode mode, const max30102::ADC range, + const max30102::Sampling rate, const max30102::LEDPulse width, const max30102::FIFOSampling avg, const uint8_t ir_current, const uint8_t red_current) { @@ -390,25 +390,25 @@ public: @param[out] width LED pulse width @return True if successful */ - bool readSpO2Configuration(max30102::SpO2ADCRange& range, max30102::Sampling& rate, max30102::LEDPulseWidth& width); + bool readSpO2Configuration(max30102::ADC& range, max30102::Sampling& rate, max30102::LEDPulse& width); //! @brief Read the ADC range - inline bool readSpO2ADCRange(max30102::SpO2ADCRange& range) + inline bool readSpO2ADCRange(max30102::ADC& range) { max30102::Sampling rate{}; - max30102::LEDPulseWidth width{}; + max30102::LEDPulse width{}; return readSpO2Configuration(range, rate, width); } //! @brief Read the sampling rate inline bool readSpO2SamplingRate(max30102::Sampling& rate) { - max30102::SpO2ADCRange range{}; - max30102::LEDPulseWidth width{}; + max30102::ADC range{}; + max30102::LEDPulse width{}; return readSpO2Configuration(range, rate, width); } //! @brief Read the LED pulse width - inline bool readSpO2LEDPulseWidth(max30102::LEDPulseWidth& width) + inline bool readSpO2LEDPulseWidth(max30102::LEDPulse& width) { - max30102::SpO2ADCRange range{}; + max30102::ADC range{}; max30102::Sampling rate{}; return readSpO2Configuration(range, rate, width); } @@ -420,14 +420,14 @@ public: @return True if successful @warning During periodic detection runs, an error is returned */ - bool writeSpO2Configuration(const max30102::SpO2ADCRange range, const max30102::Sampling rate, - const max30102::LEDPulseWidth width); + bool writeSpO2Configuration(const max30102::ADC range, const max30102::Sampling rate, + const max30102::LEDPulse width); //! @brief Write the ADC range - bool writeSpO2ADCRange(const max30102::SpO2ADCRange range); + bool writeSpO2ADCRange(const max30102::ADC range); //! @brief Write the sampling rate bool writeSpO2SamplingRate(const max30102::Sampling rate); //! @brief Write the LED pulse width - bool writeSpO2LEDPulseWidth(const max30102::LEDPulseWidth width); + bool writeSpO2LEDPulseWidth(const max30102::LEDPulse width); ///@} ///@note Note that the target LEDs differ depending on the mode @@ -581,10 +581,9 @@ protected: bool read_register8(const uint8_t reg, uint8_t& v); bool start_periodic_measurement(); - bool start_periodic_measurement(const max30102::Mode mode, const max30102::SpO2ADCRange range, - const max30102::Sampling rate, const max30102::LEDPulseWidth width, - const max30102::FIFOSampling avg, const uint8_t ir_current, - const uint8_t red_current); + bool start_periodic_measurement(const max30102::Mode mode, const max30102::ADC range, const max30102::Sampling rate, + const max30102::LEDPulse width, const max30102::FIFOSampling avg, + const uint8_t ir_current, const uint8_t red_current); bool stop_periodic_measurement(); bool write_mode_configuration(const max30102::ModeConfiguration& sc); diff --git a/test/embedded/test_max30102/max30102_test.cpp b/test/embedded/test_max30102/max30102_test.cpp index 2e075cf..7f6f1a0 100644 --- a/test/embedded/test_max30102/max30102_test.cpp +++ b/test/embedded/test_max30102/max30102_test.cpp @@ -97,23 +97,23 @@ constexpr uint32_t adc_resolution_bits_table[] = { 0x03FFFF, // 18 bits }; -bool is_allowed_settings(const Mode mode, const Sampling rate, const LEDPulseWidth pw) +bool is_allowed_settings(const Mode mode, const Sampling rate, const LEDPulse pw) { return allowed_setting_table[m5::stl::to_underlying(mode)][m5::stl::to_underlying(rate)] & (1U << m5::stl::to_underlying(pw)); } constexpr Mode mode_table[] = { - Mode::SPO2, + Mode::SpO2, Mode::HROnly, Mode::MultiLED, }; -constexpr SpO2ADCRange range_table[] = { - SpO2ADCRange::nA2048, - SpO2ADCRange::nA4096, - SpO2ADCRange::nA8192, - SpO2ADCRange::nA16384, +constexpr ADC range_table[] = { + ADC::Range2048nA, + ADC::Range4096nA, + ADC::Range8192nA, + ADC::Range16384nA, }; constexpr Sampling sr_table[] = { @@ -121,11 +121,11 @@ constexpr Sampling sr_table[] = { Sampling::Rate800, Sampling::Rate1000, Sampling::Rate1600, Sampling::Rate3200, }; -constexpr LEDPulseWidth pw_table[] = { - LEDPulseWidth::PW69, - LEDPulseWidth::PW118, - LEDPulseWidth::PW215, - LEDPulseWidth::PW411, +constexpr LEDPulse pw_table[] = { + LEDPulse::Width69, + LEDPulse::Width118, + LEDPulse::Width215, + LEDPulse::Width411, }; constexpr std::array slots_table[] = { @@ -156,9 +156,9 @@ void test_spo2_config(UnitMAX30102* unit, const Mode mode) auto s = m5::utility::formatString("Mode:%u Rate:%u Width:%u", mode, sr, pw); SCOPED_TRACE(s); - SpO2ADCRange range{}; + ADC range{}; Sampling rate{}; - LEDPulseWidth width{}; + LEDPulse width{}; if (is_allowed_settings(mode, sr, pw)) { EXPECT_TRUE(unit->writeSpO2Configuration(rg, sr, pw)); @@ -172,9 +172,9 @@ void test_spo2_config(UnitMAX30102* unit, const Mode mode) EXPECT_FALSE(unit->writeSpO2Configuration(rg, sr, pw)); - SpO2ADCRange range2{}; + ADC range2{}; Sampling rate2{}; - LEDPulseWidth width2{}; + LEDPulse width2{}; EXPECT_TRUE(unit->readSpO2Configuration(range2, rate2, width2)); EXPECT_EQ(range2, range); EXPECT_EQ(rate2, rate2); @@ -191,13 +191,13 @@ void test_spo2_config_each(UnitMAX30102* unit, const Mode mode) SCOPED_TRACE(s); EXPECT_TRUE(unit->writeMode(mode)); - EXPECT_TRUE(unit->writeSpO2Configuration(SpO2ADCRange::nA2048, Sampling::Rate50, LEDPulseWidth::PW69)); + EXPECT_TRUE(unit->writeSpO2Configuration(ADC::Range2048nA, Sampling::Rate50, LEDPulse::Width69)); for (auto& rg : range_table) { auto s = m5::utility::formatString("Range:%u", rg); SCOPED_TRACE(s); - SpO2ADCRange range{}; + ADC range{}; EXPECT_TRUE(unit->writeSpO2ADCRange(rg)); EXPECT_TRUE(unit->readSpO2ADCRange(range)); EXPECT_EQ(range, rg); @@ -206,7 +206,7 @@ void test_spo2_config_each(UnitMAX30102* unit, const Mode mode) auto s = m5::utility::formatString("Rate:%u", sr); SCOPED_TRACE(s); - if (is_allowed_settings(mode, sr, LEDPulseWidth::PW69)) { + if (is_allowed_settings(mode, sr, LEDPulse::Width69)) { Sampling rate{}; EXPECT_TRUE(unit->writeSpO2SamplingRate(sr)); @@ -217,7 +217,7 @@ void test_spo2_config_each(UnitMAX30102* unit, const Mode mode) for (auto&& pw : pw_table) { auto s = m5::utility::formatString("Width:%u", pw); SCOPED_TRACE(s); - LEDPulseWidth width{}; + LEDPulse width{}; if (is_allowed_settings(mode, sr, pw)) { EXPECT_TRUE(unit->writeSpO2LEDPulseWidth(pw)); @@ -225,7 +225,7 @@ void test_spo2_config_each(UnitMAX30102* unit, const Mode mode) EXPECT_TRUE(unit->readSpO2LEDPulseWidth(width)); EXPECT_EQ(width, pw); } else { - LEDPulseWidth width2{}; + LEDPulse width2{}; EXPECT_TRUE(unit->readSpO2LEDPulseWidth(width)); EXPECT_FALSE(unit->writeSpO2LEDPulseWidth(pw)); @@ -234,7 +234,7 @@ void test_spo2_config_each(UnitMAX30102* unit, const Mode mode) EXPECT_EQ(width2, width); } } - EXPECT_TRUE(unit->writeSpO2LEDPulseWidth(LEDPulseWidth::PW69)); + EXPECT_TRUE(unit->writeSpO2LEDPulseWidth(LEDPulse::Width69)); } else { Sampling rate{}, rate2{}; EXPECT_TRUE(unit->readSpO2SamplingRate(rate)); @@ -245,7 +245,7 @@ void test_spo2_config_each(UnitMAX30102* unit, const Mode mode) EXPECT_EQ(rate2, rate); } } - EXPECT_TRUE(unit->writeSpO2Configuration(rg, Sampling::Rate50, LEDPulseWidth::PW69)); + EXPECT_TRUE(unit->writeSpO2Configuration(rg, Sampling::Rate50, LEDPulse::Width69)); } } @@ -291,62 +291,62 @@ elapsed_time_t test_periodic(U* unit, const uint32_t times, const uint32_t measu void test_periodic_spo2(UnitMAX30102* unit) { // Pairwise - constexpr std::tuple cond_table[] = { - {SpO2ADCRange::nA2048, Sampling::Rate50, LEDPulseWidth::PW118, FIFOSampling::Average1}, - {SpO2ADCRange::nA8192, Sampling::Rate100, LEDPulseWidth::PW215, FIFOSampling::Average16}, - {SpO2ADCRange::nA4096, Sampling::Rate100, LEDPulseWidth::PW411, FIFOSampling::Average4}, - {SpO2ADCRange::nA4096, Sampling::Rate200, LEDPulseWidth::PW215, FIFOSampling::Average8}, - {SpO2ADCRange::nA8192, Sampling::Rate1000, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA4096, Sampling::Rate800, LEDPulseWidth::PW69, FIFOSampling::Average1}, - {SpO2ADCRange::nA16384, Sampling::Rate400, LEDPulseWidth::PW118, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate200, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA16384, Sampling::Rate800, LEDPulseWidth::PW215, FIFOSampling::Average32}, - {SpO2ADCRange::nA16384, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average1}, - {SpO2ADCRange::nA8192, Sampling::Rate200, LEDPulseWidth::PW411, FIFOSampling::Average1}, - {SpO2ADCRange::nA2048, Sampling::Rate50, LEDPulseWidth::PW411, FIFOSampling::Average2}, - {SpO2ADCRange::nA8192, Sampling::Rate800, LEDPulseWidth::PW118, FIFOSampling::Average4}, - {SpO2ADCRange::nA2048, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average4}, - {SpO2ADCRange::nA4096, Sampling::Rate1000, LEDPulseWidth::PW118, FIFOSampling::Average32}, - {SpO2ADCRange::nA4096, Sampling::Rate50, LEDPulseWidth::PW215, FIFOSampling::Average4}, - {SpO2ADCRange::nA8192, Sampling::Rate400, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA2048, Sampling::Rate800, LEDPulseWidth::PW215, FIFOSampling::Average8}, - {SpO2ADCRange::nA16384, Sampling::Rate100, LEDPulseWidth::PW411, FIFOSampling::Average1}, - {SpO2ADCRange::nA16384, Sampling::Rate1000, LEDPulseWidth::PW118, FIFOSampling::Average16}, - {SpO2ADCRange::nA8192, Sampling::Rate200, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA16384, Sampling::Rate1000, LEDPulseWidth::PW69, FIFOSampling::Average4}, - {SpO2ADCRange::nA4096, Sampling::Rate400, LEDPulseWidth::PW215, FIFOSampling::Average1}, - {SpO2ADCRange::nA4096, Sampling::Rate800, LEDPulseWidth::PW215, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate100, LEDPulseWidth::PW118, FIFOSampling::Average8}, - {SpO2ADCRange::nA16384, Sampling::Rate50, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA8192, Sampling::Rate50, LEDPulseWidth::PW411, FIFOSampling::Average16}, - {SpO2ADCRange::nA8192, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA2048, Sampling::Rate400, LEDPulseWidth::PW411, FIFOSampling::Average8}, - {SpO2ADCRange::nA4096, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate1000, LEDPulseWidth::PW69, FIFOSampling::Average1}, - {SpO2ADCRange::nA2048, Sampling::Rate100, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA4096, Sampling::Rate800, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA2048, Sampling::Rate1000, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA16384, Sampling::Rate200, LEDPulseWidth::PW411, FIFOSampling::Average32}, - {SpO2ADCRange::nA2048, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA2048, Sampling::Rate100, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA16384, Sampling::Rate50, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA2048, Sampling::Rate400, LEDPulseWidth::PW69, FIFOSampling::Average4}, - {SpO2ADCRange::nA2048, Sampling::Rate400, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA2048, Sampling::Rate200, LEDPulseWidth::PW118, FIFOSampling::Average4}, + constexpr std::tuple cond_table[] = { + {ADC::Range2048nA, Sampling::Rate50, LEDPulse::Width118, FIFOSampling::Average1}, + {ADC::Range8192nA, Sampling::Rate100, LEDPulse::Width215, FIFOSampling::Average16}, + {ADC::Range4096nA, Sampling::Rate100, LEDPulse::Width411, FIFOSampling::Average4}, + {ADC::Range4096nA, Sampling::Rate200, LEDPulse::Width215, FIFOSampling::Average8}, + {ADC::Range8192nA, Sampling::Rate1000, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range4096nA, Sampling::Rate800, LEDPulse::Width69, FIFOSampling::Average1}, + {ADC::Range16384nA, Sampling::Rate400, LEDPulse::Width118, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate200, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range16384nA, Sampling::Rate800, LEDPulse::Width215, FIFOSampling::Average32}, + {ADC::Range16384nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average1}, + {ADC::Range8192nA, Sampling::Rate200, LEDPulse::Width411, FIFOSampling::Average1}, + {ADC::Range2048nA, Sampling::Rate50, LEDPulse::Width411, FIFOSampling::Average2}, + {ADC::Range8192nA, Sampling::Rate800, LEDPulse::Width118, FIFOSampling::Average4}, + {ADC::Range2048nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average4}, + {ADC::Range4096nA, Sampling::Rate1000, LEDPulse::Width118, FIFOSampling::Average32}, + {ADC::Range4096nA, Sampling::Rate50, LEDPulse::Width215, FIFOSampling::Average4}, + {ADC::Range8192nA, Sampling::Rate400, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range2048nA, Sampling::Rate800, LEDPulse::Width215, FIFOSampling::Average8}, + {ADC::Range16384nA, Sampling::Rate100, LEDPulse::Width411, FIFOSampling::Average1}, + {ADC::Range16384nA, Sampling::Rate1000, LEDPulse::Width118, FIFOSampling::Average16}, + {ADC::Range8192nA, Sampling::Rate200, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range16384nA, Sampling::Rate1000, LEDPulse::Width69, FIFOSampling::Average4}, + {ADC::Range4096nA, Sampling::Rate400, LEDPulse::Width215, FIFOSampling::Average1}, + {ADC::Range4096nA, Sampling::Rate800, LEDPulse::Width215, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate100, LEDPulse::Width118, FIFOSampling::Average8}, + {ADC::Range16384nA, Sampling::Rate50, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range8192nA, Sampling::Rate50, LEDPulse::Width411, FIFOSampling::Average16}, + {ADC::Range8192nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range2048nA, Sampling::Rate400, LEDPulse::Width411, FIFOSampling::Average8}, + {ADC::Range4096nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate1000, LEDPulse::Width69, FIFOSampling::Average1}, + {ADC::Range2048nA, Sampling::Rate100, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range4096nA, Sampling::Rate800, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range2048nA, Sampling::Rate1000, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range16384nA, Sampling::Rate200, LEDPulse::Width411, FIFOSampling::Average32}, + {ADC::Range2048nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range2048nA, Sampling::Rate100, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range16384nA, Sampling::Rate50, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range2048nA, Sampling::Rate400, LEDPulse::Width69, FIFOSampling::Average4}, + {ADC::Range2048nA, Sampling::Rate400, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range2048nA, Sampling::Rate200, LEDPulse::Width118, FIFOSampling::Average4}, }; for (auto&& cond : cond_table) { - SpO2ADCRange range{}; + ADC range{}; Sampling rate{}; - LEDPulseWidth width{}; + LEDPulse width{}; FIFOSampling avg{}; std::tie(range, rate, width, avg) = cond; auto s = m5::utility::formatString("SPO2 RNG:%u SR:%u WID:%u AVG:%u", range, rate, width, avg); SCOPED_TRACE(s); - EXPECT_TRUE(unit->startPeriodicMeasurement(Mode::SPO2, range, rate, width, avg, 0x1f, 0x1f)); + EXPECT_TRUE(unit->startPeriodicMeasurement(Mode::SpO2, range, rate, width, avg, 0x1f, 0x1f)); auto it = unit->interval() ? unit->interval() : 1; auto elapsed = test_periodic(unit, STORED_SIZE, it); @@ -403,61 +403,61 @@ void test_periodic_spo2(UnitMAX30102* unit) void test_periodic_hr(UnitMAX30102* unit) { // Pairwise - constexpr std::tuple cond_table[] = { - {SpO2ADCRange::nA8192, Sampling::Rate3200, LEDPulseWidth::PW69, FIFOSampling::Average4}, - {SpO2ADCRange::nA2048, Sampling::Rate50, LEDPulseWidth::PW118, FIFOSampling::Average1}, - {SpO2ADCRange::nA8192, Sampling::Rate100, LEDPulseWidth::PW215, FIFOSampling::Average16}, - {SpO2ADCRange::nA4096, Sampling::Rate100, LEDPulseWidth::PW411, FIFOSampling::Average4}, - {SpO2ADCRange::nA4096, Sampling::Rate200, LEDPulseWidth::PW215, FIFOSampling::Average8}, - {SpO2ADCRange::nA8192, Sampling::Rate1000, LEDPulseWidth::PW118, FIFOSampling::Average8}, - {SpO2ADCRange::nA4096, Sampling::Rate1000, LEDPulseWidth::PW69, FIFOSampling::Average1}, - {SpO2ADCRange::nA16384, Sampling::Rate400, LEDPulseWidth::PW118, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate200, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA8192, Sampling::Rate800, LEDPulseWidth::PW411, FIFOSampling::Average32}, - {SpO2ADCRange::nA16384, Sampling::Rate1000, LEDPulseWidth::PW215, FIFOSampling::Average32}, - {SpO2ADCRange::nA2048, Sampling::Rate1600, LEDPulseWidth::PW215, FIFOSampling::Average1}, - {SpO2ADCRange::nA16384, Sampling::Rate200, LEDPulseWidth::PW411, FIFOSampling::Average1}, - {SpO2ADCRange::nA2048, Sampling::Rate50, LEDPulseWidth::PW411, FIFOSampling::Average2}, - {SpO2ADCRange::nA8192, Sampling::Rate400, LEDPulseWidth::PW215, FIFOSampling::Average1}, - {SpO2ADCRange::nA8192, Sampling::Rate200, LEDPulseWidth::PW118, FIFOSampling::Average32}, - {SpO2ADCRange::nA4096, Sampling::Rate1600, LEDPulseWidth::PW118, FIFOSampling::Average4}, - {SpO2ADCRange::nA4096, Sampling::Rate3200, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA4096, Sampling::Rate50, LEDPulseWidth::PW215, FIFOSampling::Average4}, - {SpO2ADCRange::nA2048, Sampling::Rate800, LEDPulseWidth::PW118, FIFOSampling::Average4}, - {SpO2ADCRange::nA4096, Sampling::Rate800, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA16384, Sampling::Rate800, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA16384, Sampling::Rate3200, LEDPulseWidth::PW69, FIFOSampling::Average1}, - {SpO2ADCRange::nA2048, Sampling::Rate3200, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA16384, Sampling::Rate100, LEDPulseWidth::PW118, FIFOSampling::Average1}, - {SpO2ADCRange::nA4096, Sampling::Rate1000, LEDPulseWidth::PW411, FIFOSampling::Average16}, - {SpO2ADCRange::nA8192, Sampling::Rate200, LEDPulseWidth::PW215, FIFOSampling::Average2}, - {SpO2ADCRange::nA16384, Sampling::Rate1000, LEDPulseWidth::PW69, FIFOSampling::Average4}, - {SpO2ADCRange::nA16384, Sampling::Rate1600, LEDPulseWidth::PW118, FIFOSampling::Average16}, - {SpO2ADCRange::nA2048, Sampling::Rate800, LEDPulseWidth::PW215, FIFOSampling::Average1}, - {SpO2ADCRange::nA2048, Sampling::Rate400, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA4096, Sampling::Rate400, LEDPulseWidth::PW411, FIFOSampling::Average8}, - {SpO2ADCRange::nA2048, Sampling::Rate100, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA16384, Sampling::Rate50, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA8192, Sampling::Rate50, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA8192, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA2048, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate800, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA2048, Sampling::Rate1000, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate100, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate1600, LEDPulseWidth::PW69, FIFOSampling::Average32}, - {SpO2ADCRange::nA2048, Sampling::Rate3200, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA2048, Sampling::Rate400, LEDPulseWidth::PW69, FIFOSampling::Average4}, - {SpO2ADCRange::nA2048, Sampling::Rate100, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA2048, Sampling::Rate3200, LEDPulseWidth::PW69, FIFOSampling::Average2}, - {SpO2ADCRange::nA2048, Sampling::Rate50, LEDPulseWidth::PW69, FIFOSampling::Average8}, - {SpO2ADCRange::nA2048, Sampling::Rate400, LEDPulseWidth::PW69, FIFOSampling::Average16}, - {SpO2ADCRange::nA2048, Sampling::Rate200, LEDPulseWidth::PW69, FIFOSampling::Average4}, + constexpr std::tuple cond_table[] = { + {ADC::Range8192nA, Sampling::Rate3200, LEDPulse::Width69, FIFOSampling::Average4}, + {ADC::Range2048nA, Sampling::Rate50, LEDPulse::Width118, FIFOSampling::Average1}, + {ADC::Range8192nA, Sampling::Rate100, LEDPulse::Width215, FIFOSampling::Average16}, + {ADC::Range4096nA, Sampling::Rate100, LEDPulse::Width411, FIFOSampling::Average4}, + {ADC::Range4096nA, Sampling::Rate200, LEDPulse::Width215, FIFOSampling::Average8}, + {ADC::Range8192nA, Sampling::Rate1000, LEDPulse::Width118, FIFOSampling::Average8}, + {ADC::Range4096nA, Sampling::Rate1000, LEDPulse::Width69, FIFOSampling::Average1}, + {ADC::Range16384nA, Sampling::Rate400, LEDPulse::Width118, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate200, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range8192nA, Sampling::Rate800, LEDPulse::Width411, FIFOSampling::Average32}, + {ADC::Range16384nA, Sampling::Rate1000, LEDPulse::Width215, FIFOSampling::Average32}, + {ADC::Range2048nA, Sampling::Rate1600, LEDPulse::Width215, FIFOSampling::Average1}, + {ADC::Range16384nA, Sampling::Rate200, LEDPulse::Width411, FIFOSampling::Average1}, + {ADC::Range2048nA, Sampling::Rate50, LEDPulse::Width411, FIFOSampling::Average2}, + {ADC::Range8192nA, Sampling::Rate400, LEDPulse::Width215, FIFOSampling::Average1}, + {ADC::Range8192nA, Sampling::Rate200, LEDPulse::Width118, FIFOSampling::Average32}, + {ADC::Range4096nA, Sampling::Rate1600, LEDPulse::Width118, FIFOSampling::Average4}, + {ADC::Range4096nA, Sampling::Rate3200, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range4096nA, Sampling::Rate50, LEDPulse::Width215, FIFOSampling::Average4}, + {ADC::Range2048nA, Sampling::Rate800, LEDPulse::Width118, FIFOSampling::Average4}, + {ADC::Range4096nA, Sampling::Rate800, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range16384nA, Sampling::Rate800, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range16384nA, Sampling::Rate3200, LEDPulse::Width69, FIFOSampling::Average1}, + {ADC::Range2048nA, Sampling::Rate3200, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range16384nA, Sampling::Rate100, LEDPulse::Width118, FIFOSampling::Average1}, + {ADC::Range4096nA, Sampling::Rate1000, LEDPulse::Width411, FIFOSampling::Average16}, + {ADC::Range8192nA, Sampling::Rate200, LEDPulse::Width215, FIFOSampling::Average2}, + {ADC::Range16384nA, Sampling::Rate1000, LEDPulse::Width69, FIFOSampling::Average4}, + {ADC::Range16384nA, Sampling::Rate1600, LEDPulse::Width118, FIFOSampling::Average16}, + {ADC::Range2048nA, Sampling::Rate800, LEDPulse::Width215, FIFOSampling::Average1}, + {ADC::Range2048nA, Sampling::Rate400, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range4096nA, Sampling::Rate400, LEDPulse::Width411, FIFOSampling::Average8}, + {ADC::Range2048nA, Sampling::Rate100, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range16384nA, Sampling::Rate50, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range8192nA, Sampling::Rate50, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range8192nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range2048nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate800, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range2048nA, Sampling::Rate1000, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate100, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate1600, LEDPulse::Width69, FIFOSampling::Average32}, + {ADC::Range2048nA, Sampling::Rate3200, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range2048nA, Sampling::Rate400, LEDPulse::Width69, FIFOSampling::Average4}, + {ADC::Range2048nA, Sampling::Rate100, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range2048nA, Sampling::Rate3200, LEDPulse::Width69, FIFOSampling::Average2}, + {ADC::Range2048nA, Sampling::Rate50, LEDPulse::Width69, FIFOSampling::Average8}, + {ADC::Range2048nA, Sampling::Rate400, LEDPulse::Width69, FIFOSampling::Average16}, + {ADC::Range2048nA, Sampling::Rate200, LEDPulse::Width69, FIFOSampling::Average4}, }; for (auto&& cond : cond_table) { - SpO2ADCRange range{}; + ADC range{}; Sampling rate{}; - LEDPulseWidth width{}; + LEDPulse width{}; FIFOSampling avg{}; std::tie(range, rate, width, avg) = cond; @@ -638,8 +638,8 @@ TEST_P(TestMAX30102, SpO2Cfg) EXPECT_TRUE(unit->stopPeriodicMeasurement()); EXPECT_FALSE(unit->inPeriodic()); - test_spo2_config(unit.get(), Mode::SPO2); - test_spo2_config_each(unit.get(), Mode::SPO2); + test_spo2_config(unit.get(), Mode::SpO2); + test_spo2_config_each(unit.get(), Mode::SpO2); test_spo2_config(unit.get(), Mode::HROnly); test_spo2_config_each(unit.get(), Mode::HROnly); @@ -719,7 +719,7 @@ TEST_P(TestMAX30102, MultiLEDMode) // All invalid (slots can be set for MutiLED mode only). constexpr Mode m_table[] = { - Mode::SPO2, + Mode::SpO2, Mode::HROnly, }; for (auto&& mode : m_table) { @@ -814,7 +814,7 @@ TEST_P(TestMAX30102, Reset) // EXPECT_TRUE(unit->writeMode(Mode::MultiLED)); - EXPECT_TRUE(unit->writeSpO2Configuration(SpO2ADCRange::nA16384, Sampling::Rate400, LEDPulseWidth::PW411)); + EXPECT_TRUE(unit->writeSpO2Configuration(ADC::Range16384nA, Sampling::Rate400, LEDPulse::Width411)); EXPECT_TRUE(unit->writeLEDCurrent(0, 255)); EXPECT_TRUE(unit->writeLEDCurrent(1, 255)); EXPECT_TRUE(unit->writeMultiLEDModeControl(Slot::IR, Slot::Red)); @@ -835,13 +835,13 @@ TEST_P(TestMAX30102, Reset) EXPECT_TRUE(unit->readMode(mode)); EXPECT_EQ(mode, Mode::None); - SpO2ADCRange range{}; + ADC range{}; Sampling rate{}; - LEDPulseWidth width{}; + LEDPulse width{}; EXPECT_TRUE(unit->readSpO2Configuration(range, rate, width)); - EXPECT_EQ(range, SpO2ADCRange::nA2048); + EXPECT_EQ(range, ADC::Range2048nA); EXPECT_EQ(rate, Sampling::Rate50); - EXPECT_EQ(width, LEDPulseWidth::PW69); + EXPECT_EQ(width, LEDPulse::Width69); uint8_t led1{}, led2{}; EXPECT_TRUE(unit->readLEDCurrent(led1, 0)); @@ -880,8 +880,8 @@ TEST_P(TestMAX30102, Periodic) EXPECT_FALSE(unit->inPeriodic()); // 100 sps - EXPECT_TRUE(unit->startPeriodicMeasurement(Mode::SPO2, SpO2ADCRange::nA4096, Sampling::Rate100, - LEDPulseWidth::PW411, FIFOSampling::Average1, 0x1F, 0x1F)); + EXPECT_TRUE(unit->startPeriodicMeasurement(Mode::SpO2, ADC::Range4096nA, Sampling::Rate100, LEDPulse::Width411, + FIFOSampling::Average1, 0x1F, 0x1F)); // Wait first updated auto start_at = m5::utility::millis(); @@ -977,7 +977,7 @@ TEST_P(TestMAX30102, Periodic_MultiLED) EXPECT_FALSE(unit->inPeriodic()); EXPECT_TRUE(unit->writeMode(Mode::MultiLED)); - EXPECT_TRUE(unit->writeSpO2Configuration(SpO2ADCRange::nA4096, Sampling::Rate400, LEDPulseWidth::PW411)); + EXPECT_TRUE(unit->writeSpO2Configuration(ADC::Range4096nA, Sampling::Rate400, LEDPulse::Width411)); EXPECT_TRUE(unit->writeFIFOConfiguration(FIFOSampling::Average4, true, 15)); EXPECT_TRUE(unit->writeLEDCurrent(0, 0x40)); EXPECT_TRUE(unit->writeLEDCurrent(1, 0x1F));