Category

Enum Category 

Source
#[non_exhaustive]
pub enum Category {
Show 21 variants Accelerometer, AccelerometerTemperature, AccelerometerGyroscope, AccelerometerGyroscopeTemperature, AccelerometerMagnetometerTemperature, Ammeter, Co2Gas, Color, Gnss, Gyroscope, RelativeHumidity, RelativeHumidityTemperature, Light, Magnetometer, Ph, Pressure, PressureTemperature, PushButton, Temperature, Tvoc, Voltage,
}
Expand description

Categories a sensor driver can be part of.

A sensor driver may be part of multiple categories.

§For sensor driver implementors

Many MEMS sensor devices (e.g., accelerometers) include a temperature sensing element in addition to their main sensing element, as temperature may slightly affect the measurement results. Sensor drivers are not under the obligation of exposing such temperature readings, even if they are exposed by the sensor device. They may however still be fetched by the sensor driver internally, especially to dynamically compute the accuracy of the main reading returned by the sensor driver. If temperature readings are not exposed by the sensor driver, the sensor driver must not be considered part of a category that includes temperature (Category::Temperature or Category::AccelerometerTemperature in the case of an accelerometer), even if the sensor device does expose them. One reason to not expose the extra readings is a lack of precision or accuracy with the extra sensing element.

Sensor drivers may be part of multiple categories and should then list all of them: e.g., being part of the Category::AccelerometerTemperature does not imply also being part of the Category::Accelerometer category, and the sensor driver must list both of them.

Missing variants can be added when required. Please open an issue to discuss it.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Accelerometer

Accelerometer.

§

AccelerometerTemperature

Accelerometer & temperature sensor.

§

AccelerometerGyroscope

Accelerometer & gyroscope, also known as inertial measurement unit (IMU).

§

AccelerometerGyroscopeTemperature

Accelerometer & gyroscope & temperature sensor, also known as inertial measurement unit (IMU).

§

AccelerometerMagnetometerTemperature

Accelerometer & magnetometer & temperature sensor.

§

Ammeter

Ammeter (ampere meter).

§

Co2Gas

CO₂ gas sensor.

§

Color

Color sensor.

§

Gnss

GNSS (Global Navigation Satellite System) receiver.

§

Gyroscope

Gyroscope.

§

RelativeHumidity

Relative humidity sensor.

§

RelativeHumidityTemperature

Relative humidity & temperature sensor.

§

Light

Light sensor.

§

Magnetometer

Magnetometer.

§

Ph

pH sensor.

§

Pressure

Pressure sensor.

§

PressureTemperature

Pressure & temperature sensor.

§

PushButton

Push button.

§

Temperature

Temperature sensor.

§

Tvoc

TVOC sensor.

§

Voltage

Voltage sensor.

Trait Implementations§

Source§

impl Clone for Category

Source§

fn clone(&self) -> Category

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Category

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Format for Category

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.
Source§

impl PartialEq for Category

Source§

fn eq(&self, other: &Category) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Category

Source§

impl Eq for Category

Source§

impl StructuralPartialEq for Category

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.