Struct NorMemoryAsync

Source
pub struct NorMemoryAsync<NMS> { /* private fields */ }

Implementations§

Source§

impl<NMS> NorMemoryAsync<NMS>

Asynchronous NOR flash memory interface from embedded_storage_async::nor_flash.
it is a wrapper around a synchronous NOR flash memory.
Note: all operations are executed synchronously, prentending to be asynchronous.

Source

pub fn new(nor_memory_sync: NMS) -> Self

given a synchronous NOR flash memory, returns an asynchronous NOR flash memory.

Source

pub fn get_sync(self) -> NMS

returns the synchronous NOR flash memory back.

Trait Implementations§

Source§

impl<NMS> ErrorType for NorMemoryAsync<NMS>
where NMS: ErrorTypeSync,

Source§

type Error = <NMS as ErrorType>::Error

Errors returned by this NOR flash.
Source§

impl<NMS> NorFlash for NorMemoryAsync<NMS>
where NMS: NorFlashSync,

Source§

const WRITE_SIZE: usize = NMS::WRITE_SIZE

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

const ERASE_SIZE: usize = NMS::ERASE_SIZE

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

async 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§

async 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. Read more
Source§

impl<NMS> ReadNorFlash for NorMemoryAsync<NMS>
where NMS: ReadNorFlashSync,

Source§

const READ_SIZE: usize = NMS::READ_SIZE

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

async fn read( &mut self, address: u32, buf: &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<NMS> MultiwriteNorFlash for NorMemoryAsync<NMS>

Auto Trait Implementations§

§

impl<NMS> Freeze for NorMemoryAsync<NMS>
where NMS: Freeze,

§

impl<NMS> RefUnwindSafe for NorMemoryAsync<NMS>
where NMS: RefUnwindSafe,

§

impl<NMS> Send for NorMemoryAsync<NMS>
where NMS: Send,

§

impl<NMS> Sync for NorMemoryAsync<NMS>
where NMS: Sync,

§

impl<NMS> Unpin for NorMemoryAsync<NMS>
where NMS: Unpin,

§

impl<NMS> UnwindSafe for NorMemoryAsync<NMS>
where NMS: 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>,

Source§

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>,

Source§

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.