OneshotSensorSync

Trait OneshotSensorSync 

Source
pub trait OneshotSensorSync {
    type Error: Debug;
    type Measurement: Measurement;

    // Required method
    fn measure(&mut self) -> Result<Self::Measurement, Self::Error>;
}
Expand description

A sensor supporting one-shot measurements.

If the hardware device itself doesn’t support one-shot measurements but they can be meaningfully emulated by starting and stopping continuous measurements without drawbacks, it may also implement this trait. If the sensor requires a certain amount of time in continuous measurement mode to yield meaningful results, this trait should not be implemented.

Required Associated Types§

Source

type Error: Debug

The error type which may occur on associated functions

Source

type Measurement: Measurement

A type holding the measurements obtained by this sensor

Required Methods§

Source

fn measure(&mut self) -> Result<Self::Measurement, Self::Error>

Performs a one-shot measurement.

If the device supports several measurement modes, this function attempts to switch to oneshot mode on best effort. The mode in which the device is left after measurement is not specified further, but if possible, a sleep mode or equivalent mode should be preferred.

Implementors§

Source§

impl<D: DelayNs, I: CommandInterfaceSync> OneshotSensorSync for SCD41Sync<D, I>

Source§

impl<D: DelayNs, I: CommandInterfaceSync> OneshotSensorSync for SCD43Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for MAX31865Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for BL0942Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for BME280CommonSync<D, I, false>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for BME280CommonSync<D, I, true>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for BMP390Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for MCP9808Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for INA219Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for INA226Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for INA228Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for TMP102Sync<D, I>

Source§

impl<D: DelayNs, I: RegisterInterfaceSync> OneshotSensorSync for TMP117Sync<D, I>