From 58b3a97d73dc2461362125a91fb18a24b7f564bd Mon Sep 17 00:00:00 2001 From: ju6ge Date: Sat, 18 Apr 2026 22:34:46 +0200 Subject: [PATCH] lib-bms-protocol expose timestamp error and enable thiserror --- lib-bms-protocol/src/lib.rs | 2 +- lib-bms-protocol/src/timestamp.rs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) 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, }