pub struct Calibration { /* private fields */ }Expand description
The per-chip calibration coefficients read from the sensor’s calibration registers.
These are factory-programmed and constant for a given device, so they are read once at start-up and reused for every measurement.
Implementations§
Source§impl Calibration
impl Calibration
Sourcepub fn from_registers(temp_press: &[u8; 26], humidity: &[u8; 7]) -> Calibration
pub fn from_registers(temp_press: &[u8; 26], humidity: &[u8; 7]) -> Calibration
Parses the calibration coefficients from the two register blocks.
The split-and-shifted packing of dig_h4 and dig_h5, which share a byte, is
done exactly as the datasheet specifies.
§Arguments
temp_press- the 26 bytes read from0x88..=0xA1.humidity- the 7 bytes read from0xE1..=0xE7.
§Returns
The decoded calibration.
Sourcepub fn compensate(&self, raw: &RawMeasurement) -> Measurement
pub fn compensate(&self, raw: &RawMeasurement) -> Measurement
Compensates a raw measurement into temperature, pressure, and humidity.
Temperature is computed first because its intermediate t_fine term feeds the
pressure and humidity formulas, exactly as the reference code shares it.
§Arguments
raw- the uncompensated readings from the data registers.
§Returns
The compensated Measurement.
Source§impl Calibration
impl Calibration
Sourcepub fn to_registers(&self) -> ([u8; 26], [u8; 7])
pub fn to_registers(&self) -> ([u8; 26], [u8; 7])
Packs the coefficients back into the two register blocks.
This is the inverse of from_registers, so a
test can build what a part with these coefficients holds in its calibration
registers. Byte 24 of the first block (register 0xA0) is not a coefficient and
is written as zero.
§Returns
The 26 bytes of 0x88..=0xA1 and the 7 bytes of 0xE1..=0xE7.
Trait Implementations§
Source§impl Clone for Calibration
impl Clone for Calibration
Source§fn clone(&self) -> Calibration
fn clone(&self) -> Calibration
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more