From 22558615eacff55a843a551739da7e663ca65df5 Mon Sep 17 00:00:00 2001 From: Christian Meusel Date: Sat, 12 Oct 2024 13:48:17 +0200 Subject: [PATCH] Derive standard traits for crate types --- src/commands.rs | 2 +- src/error.rs | 2 +- src/sht4x.rs | 2 +- src/types.rs | 12 ++++++------ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/commands.rs b/src/commands.rs index 132e12f..20fe027 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -1,5 +1,5 @@ #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub(crate) enum Command { MeasureHighPrecision, MeasureMediumPrecision, diff --git a/src/error.rs b/src/error.rs index c4af875..400e2af 100644 --- a/src/error.rs +++ b/src/error.rs @@ -3,7 +3,7 @@ use sensirion_i2c::i2c; /// Error conditions from accessing SHT4x sensors. #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] #[non_exhaustive] pub enum Error { /// Failed I2C communication. diff --git a/src/sht4x.rs b/src/sht4x.rs index a49bf7d..7f236c2 100644 --- a/src/sht4x.rs +++ b/src/sht4x.rs @@ -14,7 +14,7 @@ const RESPONSE_LEN: usize = 6; /// Driver for STH4x sensors. #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Debug)] +#[derive(Debug, Eq, PartialEq)] pub struct Sht4x { i2c: I, address: Address, diff --git a/src/types.rs b/src/types.rs index c87d9f7..1d041d8 100644 --- a/src/types.rs +++ b/src/types.rs @@ -2,7 +2,7 @@ use fixed::types::{I16F16, I18F14, U16F16}; /// I2C adresses used by STH4x sensors. #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)] pub enum Address { Address0x44, Address0x45, @@ -19,7 +19,7 @@ impl From
for u8 { /// Heating power to apply when activating the internal heater. #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)] pub enum HeatingPower { /// Operate the heater at 200 mW. Low, @@ -31,7 +31,7 @@ pub enum HeatingPower { /// Duration of heating when activating the internal heater. #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)] pub enum HeatingDuration { /// Operate the heater for 100 ms. Short, @@ -40,7 +40,7 @@ pub enum HeatingDuration { } /// A measurement from the sensor in SI units. -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct Measurement { /// The measurred temperature in degree Celsius (°C). temperature: I16F16, @@ -52,7 +52,7 @@ pub struct Measurement { /// /// Higher-precision measurements take longer. #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)] pub enum Precision { Low, Medium, @@ -61,7 +61,7 @@ pub enum Precision { /// A measurement from the sensor in raw sensor data. #[cfg_attr(feature = "defmt", derive(defmt::Format))] -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct SensorData { /// The measured temperature as raw sensor value. pub temperature: u16,