Skip to main content

SharedNorFlash

Struct SharedNorFlash 

Source
pub struct SharedNorFlash<'a, M, F>
where M: RawMutex,
{ /* private fields */ }
Expand description

A copyable view of one asynchronously serialized NOR flash device.

Each operation holds the device lock through completion. Higher-level stores may interleave operations safely when their flash regions are disjoint.

Implementations§

Source§

impl<'a, M, F> SharedNorFlash<'a, M, F>
where M: RawMutex,

Source

pub const fn new(flash: &'a Mutex<M, F>, capacity: usize) -> Self

Trait Implementations§

Source§

impl<M, F> Clone for SharedNorFlash<'_, M, F>
where M: RawMutex,

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<M, F> Copy for SharedNorFlash<'_, M, F>
where M: RawMutex,

Source§

impl<M, F> ErrorType for SharedNorFlash<'_, M, F>
where M: RawMutex, F: ErrorType,

Source§

type Error = <F as ErrorType>::Error

Errors returned by this NOR flash.
Source§

impl<M, F> NorFlash for SharedNorFlash<'_, M, F>
where M: RawMutex, F: NorFlash,

Source§

const WRITE_SIZE: usize = F::WRITE_SIZE

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

const ERASE_SIZE: usize = F::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<M, F> ReadNorFlash for SharedNorFlash<'_, M, F>
where M: RawMutex, F: ReadNorFlash,

Source§

const READ_SIZE: usize = F::READ_SIZE

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

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

Auto Trait Implementations§

§

impl<'a, M, F> !RefUnwindSafe for SharedNorFlash<'a, M, F>

§

impl<'a, M, F> !UnwindSafe for SharedNorFlash<'a, M, F>

§

impl<'a, M, F> Freeze for SharedNorFlash<'a, M, F>

§

impl<'a, M, F> Send for SharedNorFlash<'a, M, F>
where M: Sync, F: Send,

§

impl<'a, M, F> Sync for SharedNorFlash<'a, M, F>
where M: Sync, F: Send,

§

impl<'a, M, F> Unpin for SharedNorFlash<'a, M, F>

§

impl<'a, M, F> UnsafeUnpin for SharedNorFlash<'a, M, F>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.