pub struct Flash<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize = 4, const MINI_READ_SIZE: usize = 1, MODE = Blocking> { /* private fields */ }Expand description
Internal flash memory driver.
Implementations§
Source§impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize> Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, Blocking>
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize> Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, Blocking>
Sourcepub fn new_blocking() -> Self
pub fn new_blocking() -> Self
Create a new flash driver, usable in blocking mode.
Source§impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
Sourcepub fn blocking_read(
&mut self,
offset: u32,
bytes: &mut [u8],
) -> Result<(), Error>
pub fn blocking_read( &mut self, offset: u32, bytes: &mut [u8], ) -> Result<(), Error>
Blocking read.
NOTE: offset is an offset from the flash start, NOT an absolute address.
For example, to read address 0x0800_1234 you have to use offset 0x1234.
Trait Implementations§
Source§impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> ErrorType for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> ErrorType for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
Source§impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> NorFlash for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> NorFlash for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
Source§const WRITE_SIZE: usize = MINI_WRITE_SIZE
const WRITE_SIZE: usize = MINI_WRITE_SIZE
The minumum number of bytes the storage peripheral can write
Source§const ERASE_SIZE: usize = PAGE_SIZE
const ERASE_SIZE: usize = PAGE_SIZE
The minumum number of bytes the storage peripheral can erase
Source§impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> ReadNorFlash for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> ReadNorFlash for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
Source§const READ_SIZE: usize = MINI_READ_SIZE
const READ_SIZE: usize = MINI_READ_SIZE
The minumum number of bytes the storage peripheral can read
Auto Trait Implementations§
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> Freeze for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> RefUnwindSafe for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>where
MODE: RefUnwindSafe,
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> Send for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>where
MODE: Send,
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> Sync for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>where
MODE: Sync,
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> Unpin for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>where
MODE: Unpin,
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> UnsafeUnpin for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>
impl<const PAGE_SIZE: usize, const PAGE_NUM: usize, const MINI_WRITE_SIZE: usize, const MINI_READ_SIZE: usize, MODE> UnwindSafe for Flash<PAGE_SIZE, PAGE_NUM, MINI_WRITE_SIZE, MINI_READ_SIZE, MODE>where
MODE: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more