Category

Enum Category 

#[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,
}
Available on crate feature sensors only.
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§

§

impl Clone for Category

§

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
§

impl Debug for Category

§

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

Formats the value using the given formatter. Read more
§

impl Format for Category

§

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

Writes the defmt representation of self to fmt.
§

impl PartialEq for Category

§

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.
§

impl Copy for Category

§

impl Eq for Category

§

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.

§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

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

§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
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> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> FormatOrDebug for T
where T: Format,