ESPHome 2026.4.0-dev
Loading...
Searching...
No Matches
esphome::spa06_base Namespace Reference

Data Structures

class  SPA06Component
 

Enumerations

enum  Register : uint8_t {
  SPA06_PSR = 0x00 , SPA06_PSR_B1 = 0x01 , SPA06_PSR_B0 = 0x02 , SPA06_TMP = 0x03 ,
  SPA06_TMP_B1 = 0x04 , SPA06_TMP_B0 = 0x05 , SPA06_PSR_CFG = 0x06 , SPA06_TMP_CFG = 0x07 ,
  SPA06_MEAS_CFG = 0x08 , SPA06_CFG_REG = 0x09 , SPA06_INT_STS = 0x0A , SPA06_FIFO_STS = 0x0B ,
  SPA06_RESET = 0x0C , SPA06_ID = 0x0D , SPA06_COEF = 0x10 , SPA06_INVALID_CMD = 0x25
}
 
enum  Oversampling : uint8_t {
  OVERSAMPLING_NONE = 0x0 , OVERSAMPLING_X2 = 0x1 , OVERSAMPLING_X4 = 0x2 , OVERSAMPLING_X8 = 0x3 ,
  OVERSAMPLING_X16 = 0x4 , OVERSAMPLING_X32 = 0x5 , OVERSAMPLING_X64 = 0x6 , OVERSAMPLING_X128 = 0x7 ,
  OVERSAMPLING_COUNT = 0x8
}
 
enum  SampleRate : uint8_t {
  SAMPLE_RATE_1 = 0x0 , SAMPLE_RATE_2 = 0x1 , SAMPLE_RATE_4 = 0x2 , SAMPLE_RATE_8 = 0x3 ,
  SAMPLE_RATE_16 = 0x4 , SAMPLE_RATE_32 = 0x5 , SAMPLE_RATE_64 = 0x6 , SAMPLE_RATE_128 = 0x7 ,
  SAMPLE_RATE_25P16 = 0x8 , SAMPLE_RATE_25P8 = 0x9 , SAMPLE_RATE_25P4 = 0xA , SAMPLE_RATE_25P2 = 0xB ,
  SAMPLE_RATE_25 = 0xC , SAMPLE_RATE_50 = 0xD , SAMPLE_RATE_100 = 0xE , SAMPLE_RATE_200 = 0xF
}
 
enum  MeasCrtl : uint8_t {
  MEASCRTL_IDLE = 0x0 , MEASCRTL_PRES = 0x1 , MEASCRTL_TEMP = 0x2 , MEASCRTL_BG_PRES = 0x5 ,
  MEASCRTL_BG_TEMP = 0x6 , MEASCRTL_BG_BOTH = 0x7
}
 

Functions

int16_t decode16 (uint8_t msb, uint8_t lsb, size_t bits, size_t head=0)
 
int32_t decode32 (uint8_t xmsb, uint8_t msb, uint8_t lsb, uint8_t xlsb, size_t bits, size_t head=0)
 
 PROGMEM_STRING_TABLE (MeasRateStrings, "1Hz", "2Hz", "4Hz", "8Hz", "16Hz", "32Hz", "64Hz", "128Hz", "1.5625Hz", "3.125Hz", "6.25Hz", "12.5Hz", "25Hz", "50Hz", "100Hz", "200Hz")
 
 PROGMEM_STRING_TABLE (OversamplingStrings, "X1", "X2", "X4", "X8", "X16", "X32", "X64", "X128")
 
uint32_t oversampling_to_scale_factor (const Oversampling oversampling)
 

Variables

constexpr size_t SPA06_MEAS_LEN = 3
 
constexpr size_t SPA06_COEF_LEN = 21
 
constexpr uint8_t SPA06_SOFT_RESET = 0x9
 
constexpr uint32_t OVERSAMPLING_K_LUT [8] = {524288, 1572864, 3670016, 7864320, 253952, 516096, 1040384, 2088960}
 

Enumeration Type Documentation

◆ MeasCrtl

Enumerator
MEASCRTL_IDLE 
MEASCRTL_PRES 
MEASCRTL_TEMP 
MEASCRTL_BG_PRES 
MEASCRTL_BG_TEMP 
MEASCRTL_BG_BOTH 

Definition at line 75 of file spa06_base.h.

◆ Oversampling

Enumerator
OVERSAMPLING_NONE 
OVERSAMPLING_X2 
OVERSAMPLING_X4 
OVERSAMPLING_X8 
OVERSAMPLING_X16 
OVERSAMPLING_X32 
OVERSAMPLING_X64 
OVERSAMPLING_X128 
OVERSAMPLING_COUNT 

Definition at line 41 of file spa06_base.h.

◆ Register

Enumerator
SPA06_PSR 
SPA06_PSR_B1 
SPA06_PSR_B0 
SPA06_TMP 
SPA06_TMP_B1 
SPA06_TMP_B0 
SPA06_PSR_CFG 
SPA06_TMP_CFG 
SPA06_MEAS_CFG 
SPA06_CFG_REG 
SPA06_INT_STS 
SPA06_FIFO_STS 
SPA06_RESET 
SPA06_ID 
SPA06_COEF 
SPA06_INVALID_CMD 

Definition at line 21 of file spa06_base.h.

◆ SampleRate

Enumerator
SAMPLE_RATE_1 
SAMPLE_RATE_2 
SAMPLE_RATE_4 
SAMPLE_RATE_8 
SAMPLE_RATE_16 
SAMPLE_RATE_32 
SAMPLE_RATE_64 
SAMPLE_RATE_128 
SAMPLE_RATE_25P16 
SAMPLE_RATE_25P8 
SAMPLE_RATE_25P4 
SAMPLE_RATE_25P2 
SAMPLE_RATE_25 
SAMPLE_RATE_50 
SAMPLE_RATE_100 
SAMPLE_RATE_200 

Definition at line 54 of file spa06_base.h.

Function Documentation

◆ decode16()

int16_t esphome::spa06_base::decode16 ( uint8_t msb,
uint8_t lsb,
size_t bits,
size_t head = 0 )
inline

Definition at line 12 of file spa06_base.cpp.

◆ decode32()

int32_t esphome::spa06_base::decode32 ( uint8_t xmsb,
uint8_t msb,
uint8_t lsb,
uint8_t xlsb,
size_t bits,
size_t head = 0 )
inline

Definition at line 17 of file spa06_base.cpp.

◆ oversampling_to_scale_factor()

uint32_t esphome::spa06_base::oversampling_to_scale_factor ( const Oversampling oversampling)
inline

Definition at line 96 of file spa06_base.h.

◆ PROGMEM_STRING_TABLE() [1/2]

esphome::spa06_base::PROGMEM_STRING_TABLE ( MeasRateStrings ,
"1Hz" ,
"2Hz" ,
"4Hz" ,
"8Hz" ,
"16Hz" ,
"32Hz" ,
"64Hz" ,
"128Hz" ,
"1.5625Hz" ,
"3.125Hz" ,
"6.25Hz" ,
"12.5Hz" ,
"25Hz" ,
"50Hz" ,
"100Hz" ,
"200Hz"  )

◆ PROGMEM_STRING_TABLE() [2/2]

esphome::spa06_base::PROGMEM_STRING_TABLE ( OversamplingStrings ,
"X1" ,
"X2" ,
"X4" ,
"X8" ,
"X16" ,
"X32" ,
"X64" ,
"X128"  )

Variable Documentation

◆ OVERSAMPLING_K_LUT

uint32_t esphome::spa06_base::OVERSAMPLING_K_LUT[8] = {524288, 1572864, 3670016, 7864320, 253952, 516096, 1040384, 2088960}
constexpr

Definition at line 85 of file spa06_base.h.

◆ SPA06_COEF_LEN

size_t esphome::spa06_base::SPA06_COEF_LEN = 21
constexpr

Definition at line 15 of file spa06_base.h.

◆ SPA06_MEAS_LEN

size_t esphome::spa06_base::SPA06_MEAS_LEN = 3
constexpr

Definition at line 14 of file spa06_base.h.

◆ SPA06_SOFT_RESET

uint8_t esphome::spa06_base::SPA06_SOFT_RESET = 0x9
constexpr

Definition at line 18 of file spa06_base.h.