From c6e5c58845912ab1a9ff35c13dabad27294b099e Mon Sep 17 00:00:00 2001 From: Lachezar Lechev Date: Wed, 12 Jul 2023 17:50:34 +0300 Subject: [PATCH] feat: get device state and more derives Signed-off-by: Lachezar Lechev --- src/device.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/device.rs b/src/device.rs index bf41a7c..7630c12 100644 --- a/src/device.rs +++ b/src/device.rs @@ -8,6 +8,8 @@ use crate::socket::Socket; use crate::uninitialized_device::UninitializedDevice; use crate::{register, MacAddress}; +#[derive(Debug, Clone)] +#[cfg_attr(feature = "defmt", derive(defmt::Format))] pub enum ResetError { SocketsNotReleased, Other(E), @@ -21,7 +23,7 @@ impl From for ResetError { #[derive(Debug)] #[cfg_attr(feature = "defmt", derive(defmt::Format))] -pub(crate) struct DeviceState { +pub struct DeviceState { host: HostImpl, sockets: [u8; 1], } @@ -42,6 +44,10 @@ impl Device { } } + pub fn get_state(&self) -> &DeviceState { + &self.state + } + pub fn reset(mut self) -> Result, ResetError> { if self.state.sockets != [0b11111111] { Err(ResetError::SocketsNotReleased)