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)