diff --git a/lib-bms-protocol/src/lib.rs b/lib-bms-protocol/src/lib.rs index cb2b83f..a8bfeb2 100644 --- a/lib-bms-protocol/src/lib.rs +++ b/lib-bms-protocol/src/lib.rs @@ -9,7 +9,7 @@ mod types; mod timestamp; pub use types::{Stored_U26, Transit_U26, Transit_I26, U26Error}; -pub use timestamp::{Store_DateTimeUtc, Transit_DateTimeUtc}; +pub use timestamp::{Store_DateTimeUtc, Transit_DateTimeUtc, DateTimeUtcError}; use embedded_hal::i2c::{I2c, Operation, SevenBitAddress}; use thiserror::Error; diff --git a/lib-bms-protocol/src/timestamp.rs b/lib-bms-protocol/src/timestamp.rs index 34d01ed..ef2d6b7 100644 --- a/lib-bms-protocol/src/timestamp.rs +++ b/lib-bms-protocol/src/timestamp.rs @@ -1,12 +1,16 @@ use chrono::{DateTime, Utc}; +use thiserror::Error; use crate::types::{Stored_U26, Transit_U26, U26Error}; -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Error)] /// Error type for DateTimeUtc wrapper types pub enum DateTimeUtcError { + #[error("timestamp overflow")] Overflow, + #[error("timestamp invalid")] InvalidTimestamp, + #[error("timestamp conversion error")] ConversionError, }