pub struct Eeprom<H, EEPROM> { /* private fields */ }

Implementations§

source§

impl<H, EEPROM> Eeprom<H, EEPROM>
where EEPROM: EepromOps<H>,

source

pub const CAPACITY: u16 = EEPROM::CAPACITY

source

pub fn new(p: EEPROM) -> Self

source

pub fn capacity(&self) -> u16

source

pub fn read_byte(&self, offset: u16) -> u8

source

pub fn write_byte(&mut self, offset: u16, data: u8)

source

pub fn erase_byte(&mut self, offset: u16)

source

pub fn read(&self, offset: u16, buf: &mut [u8]) -> Result<(), OutOfBoundsError>

source

pub fn write(&mut self, offset: u16, buf: &[u8]) -> Result<(), OutOfBoundsError>

source

pub fn erase(&mut self, from: u16, to: u16) -> Result<(), OutOfBoundsError>

Trait Implementations§

source§

impl<H, EEPROM> NorFlash for Eeprom<H, EEPROM>
where EEPROM: EepromOps<H>,

source§

const WRITE_SIZE: usize = 1usize

The minumum number of bytes the storage peripheral can write
source§

const ERASE_SIZE: usize = 1usize

The minumum number of bytes the storage peripheral can erase
source§

fn erase(&mut self, from: u32, to: u32) -> Result<(), Self::Error>

Erase the given storage range, clearing all data within [from..to]. The given range will contain all 1s afterwards. Read more
source§

fn write(&mut self, offset: u32, bytes: &[u8]) -> Result<(), Self::Error>

If power is lost during write, the contents of the written words are undefined, but the rest of the page is guaranteed to be unchanged. It is not allowed to write to the same word twice. offset and bytes.len() must both be multiples of WRITE_SIZE.
source§

impl<H, EEPROM> ReadNorFlash for Eeprom<H, EEPROM>
where EEPROM: EepromOps<H>,

§

type Error = OutOfBoundsError

An enumeration of storage errors
source§

const READ_SIZE: usize = 1usize

The minumum number of bytes the storage peripheral can read
source§

fn read(&mut self, offset: u32, bytes: &mut [u8]) -> Result<(), Self::Error>

Read a slice of data from the storage peripheral, starting the read operation at the given address offset, and reading bytes.len() bytes. Read more
source§

fn capacity(&self) -> usize

The capacity of the peripheral in bytes.
source§

impl<H, EEPROM> MultiwriteNorFlash for Eeprom<H, EEPROM>
where EEPROM: EepromOps<H>,

Auto Trait Implementations§

§

impl<H, EEPROM> Freeze for Eeprom<H, EEPROM>
where EEPROM: Freeze,

§

impl<H, EEPROM> RefUnwindSafe for Eeprom<H, EEPROM>
where EEPROM: RefUnwindSafe, H: RefUnwindSafe,

§

impl<H, EEPROM> Send for Eeprom<H, EEPROM>
where EEPROM: Send, H: Send,

§

impl<H, EEPROM> Sync for Eeprom<H, EEPROM>
where EEPROM: Sync, H: Sync,

§

impl<H, EEPROM> Unpin for Eeprom<H, EEPROM>
where EEPROM: Unpin, H: Unpin,

§

impl<H, EEPROM> UnwindSafe for Eeprom<H, EEPROM>
where EEPROM: UnwindSafe, H: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.