M5Unit-ENV 1.6.0 git rev:f6fd6b0
Loading...
Searching...
No Matches
m5::unit::spa06::Data Struct Reference

One SPA06 sample: a 6-byte burst from PSR_B2 (0x00) = PSR(24) + TMP(24), big-endian. More...

#include <unit_SPA06_data.hpp>

Public Member Functions

int32_t psr_raw () const
 Raw pressure (24-bit 2's complement)
 
int32_t tmp_raw () const
 Raw temperature (24-bit 2's complement)
 
float temperature () const
 Compensated temperature (Celsius); NaN if not populated/measured.
 
float celsius () const
 Compensated temperature (Celsius)
 
float fahrenheit () const
 Compensated temperature (Fahrenheit)
 
float pressure () const
 Compensated pressure (hPa); NaN if not populated/measured.
 

Public Attributes

std::array< uint8_t, 6 > raw {}
 PSR B2/B1/B0 + TMP B2/B1/B0.
 
coeffs_t coeffs {}
 Calibration coefficients for compensation.
 
float kp {}
 Pressure scale factor kP at measurement time (0 = not populated)
 
float kt {}
 Temperature scale factor kT at measurement time (0 = not populated)
 

Detailed Description

One SPA06 sample: a 6-byte burst from PSR_B2 (0x00) = PSR(24) + TMP(24), big-endian.

Member Data Documentation

◆ coeffs

coeffs_t m5::unit::spa06::Data::coeffs {}

Calibration coefficients for compensation.

Note
Stored by value (self-contained): unlike BMP280/QMP6988 whose calibration never changes, kP/kT below change with the oversampling of each measurement, so a pointer to unit state would go stale. Held all-by-value so a Data stays valid regardless of later config changes or unit lifetime.