M5Unit-HEART 0.0.2 git rev:70607f7
Loading...
Searching...
No Matches
unit_MAX30100.hpp File Reference

MAX30100 Unit for M5UnitUnified. More...

#include <M5UnitComponent.hpp>
#include <m5_utility/stl/extension.hpp>
#include <m5_utility/container/circular_buffer.hpp>
#include <limits>

Go to the source code of this file.

Classes

struct  m5::unit::max30100::ModeConfiguration
 Accessor for ModeConfiguration. More...
 
struct  m5::unit::max30100::SpO2Configuration
 Accessor for SpO2Configuration. More...
 
struct  m5::unit::max30100::LedConfiguration
 Accessor for LedConfiguration. More...
 
struct  m5::unit::max30100::Data
 Measurement data group. More...
 
struct  m5::unit::max30100::TemperatureData
 Measurement data group for temperature. More...
 
class  m5::unit::UnitMAX30100
 Pulse oximetry and heart-rate sensor. More...
 
struct  m5::unit::UnitMAX30100::config_t
 Settings for begin. More...
 

Namespaces

namespace  m5
 Top level namespace of M5stack.
 
namespace  max30100
 For MAX30100.
 

Enumerations

enum class  m5::unit::max30100::Mode : uint8_t { None , HROnly = 0x02 , SPO2 }
 Operation mode. More...
 
enum class  m5::unit::max30100::Sampling : uint8_t {
  Rate50 , Rate100 , Rate167 , Rate200 ,
  Rate400 , Rate600 , Rate800 , Rate1000
}
 Sampling rate for pulse. More...
 
enum class  m5::unit::max30100::LedPulseWidth { PW200 , PW400 , PW800 , PW1600 }
 LED pulse width (the IR and RED have the same pulse width) More...
 
enum class  m5::unit::max30100::CurrentControl {
  mA0_0 , mA4_4 , mA7_6 , mA11_0 ,
  mA14_2 , mA17_4 , mA20_8 , mA24_0 ,
  mA27_1 , mA30_6 , mA33_8 , mA37_0 ,
  mA40_2 , mA43_6 , mA46_8 , mA50_0
}
 Current level for Led. More...
 

Functions

uint32_t m5::unit::max30100::getSamplingRate (const Sampling rate)
 Enum to sampling rate value.
 

Variables

constexpr uint8_t m5::unit::max30100::MAX_FIFO_DEPTH {16}
 FIFO depth.
 

Detailed Description

MAX30100 Unit for M5UnitUnified.

Enumeration Type Documentation

◆ CurrentControl

Current level for Led.

Enumerator
mA0_0 

0,0 mA

mA4_4 

4,4 mA

mA7_6 

7.6 mA

mA11_0 

11.0 mA

mA14_2 

14.2 mA

mA17_4 

17.4 mA

mA20_8 

20,8 mA

mA24_0 

24.0 mA

mA27_1 

27.1 mA

mA30_6 

30.6 mA

mA33_8 

33.8 mA

mA37_0 

37.0 mA

mA40_2 

40.2 mA

mA43_6 

43.6 mA

mA46_8 

46.8 mA

mA50_0 

50.0 mA

◆ LedPulseWidth

LED pulse width (the IR and RED have the same pulse width)

Enumerator
PW200 

200 us (ADC 13 bits)

PW400 

400 us (ADC 14 bits)

PW800 

800 us (ADC 15 bits)

PW1600 

1600 us (ADC 16 bits)

◆ Mode

enum class m5::unit::max30100::Mode : uint8_t
strong

Operation mode.

Enumerator
None 

None.

HROnly 

HR only enabled.

SPO2 

SPO2 and HR enabled.

◆ Sampling

enum class m5::unit::max30100::Sampling : uint8_t
strong

Sampling rate for pulse.

Unit is the number of sample per second

Enumerator
Rate50 

50 sps

Rate100 

100 sps

Rate167 

167 sps

Rate200 

200 sps

Rate400 

400 sps

Rate600 

600 sps

Rate800 

800 sps

Rate1000 

1000 sps

Function Documentation

◆ getSamplingRate()

uint32_t m5::unit::max30100::getSamplingRate ( const Sampling rate)

Enum to sampling rate value.

Parameters
rateEnum value
Returns
sampling rate