M5Unit-ENV 1.2.0 git rev:d576302
Loading...
Searching...
No Matches
unit_BME688.hpp File Reference

BME688 Unit for M5UnitUnified. More...

#include <M5UnitComponent.hpp>
#include <m5_utility/stl/extension.hpp>
#include <bme68x/bme68x.h>
#include <inc/bsec_datatypes.h>
#include <memory>
#include <limits>
#include <initializer_list>

Go to the source code of this file.

Classes

struct  m5::unit::bme688::bme68xHeatrConf
 Setting for gas heater. More...
 
struct  m5::unit::bme688::GasWait
 GasSensor heater-on time. More...
 
struct  m5::unit::bme688::Data
 Measurement data group. More...
 
class  m5::unit::UnitBME688
 BME688 unit. More...
 
struct  m5::unit::UnitBME688::config_t
 Settings for begin. More...
 

Namespaces

namespace  m5
 Top level namespace of M5stack.
 

Typedefs

Aliases for bme68x structures
using m5::unit::bme688::bme68xData = struct bme68x_data
 Raw data.
 
using m5::unit::bme688::bme68xDev = struct bme68x_dev
 bme68x device
 
using m5::unit::bme688::bme68xConf = struct bme68x_conf
 Setting for temperature, pressure, humidity...
 
using m5::unit::bme688::bme68xCalibration = struct bme68x_calib_data
 Calibration parameters.
 

Enumerations

enum class  m5::unit::bme688::Mode : uint8_t { Sleep , Forced , Parallel , Sequential }
 Operation mode same as BME68X_xxx_MODE. More...
 
enum class  m5::unit::bme688::Oversampling : uint8_t {
  None , x1 , x2 , x4 ,
  x8 , x16
}
 
enum class  m5::unit::bme688::Filter : uint8_t {
  None , Coeff_1 , Coeff_3 , Coeff_7 ,
  Coeff_15 , Coeff_31 , Coeff_63 , Coeff_127
}
 IIR Filter setting.
 
enum class  m5::unit::bme688::ODR : uint8_t {
  MS_0_59 , MS_62_5 , MS_125 , MS_250 ,
  MS_500 , MS_1000 , MS_10 , MS_20 ,
  None
}
 bme68xConf::odr settings (standbytime Unit:ms) More...
 
enum class  m5::unit::bme688::bsec2::SampleRate : uint8_t {
  Disabled , LowPower , UltraLowPower , UltraLowPowerMeasurementOnDemand ,
  Scan , Continuous
}
 Sample rate for BSEC2. More...
 

Functions

uint32_t m5::unit::bme688::bsec2::virtual_sensor_array_to_bits (const bsec_virtual_sensor_t *ss, const size_t len)
 Conversion from BSEC2 subscription array to bits.
 
template<typename... Args>
uint32_t m5::unit::bme688::bsec2::subscribe_to_bits (Args... args)
 Make subscribe bits from bsec_virtual_sensor_t.
 

Detailed Description

BME688 Unit for M5UnitUnified.

Enumeration Type Documentation

◆ Mode

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

Operation mode same as BME68X_xxx_MODE.

Enumerator
Sleep 

No measurements are performed.

Forced 

Single TPHG cycle is performed.

Parallel 

Multiple TPHG cycles are performed.

Sequential 

Sequential mode is similar as forced mode, but it provides temperature, pressure, humidity one by one

◆ ODR

enum class m5::unit::bme688::ODR : uint8_t
strong

bme68xConf::odr settings (standbytime Unit:ms)

Enumerator
MS_250 

250 ms

MS_500 

500 ms

MS_1000 

1000 ms

MS_10 

10 ms

MS_20 

20 ms

None 

No standbytime.

◆ Oversampling

enum class m5::unit::bme688::Oversampling : uint8_t
strong
Enumerator
None 

Skipped.

x1 

x1

x2 

x2

x4 

x4

x8 

x8

x16 

x16

◆ SampleRate

enum class m5::unit::bme688::bsec2::SampleRate : uint8_t
strong

Sample rate for BSEC2.

Enumerator
Disabled 

Sample rate of a disabled sensor.

LowPower 

Sample rate in case of Low Power Mode (0.33Hz) interval 3 sec.

UltraLowPower 

Sample rate in case of Ultra Low Power Mode (3.3 mHz) interval 300 sec.

UltraLowPowerMeasurementOnDemand 

Input value used to trigger an extra measurment (ULP plus) (0.33Hz [T,p,h] 3.3mHz [IAQ])

Scan 

Sample rate in case of scan mode (1/10.8 s)

Continuous 

Sample rate in case of Continuous Mode (1Hz) interval 1 sec.