Implement embedded-storage traits for full flash struct
This commit is contained in:
parent
46227bec1e
commit
1c68c62ebd
1 changed files with 29 additions and 0 deletions
|
@ -162,6 +162,35 @@ impl FlashRegion {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl embedded_storage::nor_flash::ErrorType for Flash<'_> {
|
||||||
|
type Error = Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl embedded_storage::nor_flash::ReadNorFlash for Flash<'_> {
|
||||||
|
const READ_SIZE: usize = 1;
|
||||||
|
|
||||||
|
fn read(&mut self, offset: u32, bytes: &mut [u8]) -> Result<(), Self::Error> {
|
||||||
|
self.blocking_read(offset, bytes)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn capacity(&self) -> usize {
|
||||||
|
FLASH_SIZE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl embedded_storage::nor_flash::NorFlash for Flash<'_> {
|
||||||
|
const WRITE_SIZE: usize = 8;
|
||||||
|
const ERASE_SIZE: usize = 2048;
|
||||||
|
|
||||||
|
fn write(&mut self, offset: u32, bytes: &[u8]) -> Result<(), Self::Error> {
|
||||||
|
self.blocking_write(offset, bytes)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn erase(&mut self, from: u32, to: u32) -> Result<(), Self::Error> {
|
||||||
|
self.blocking_erase(from, to)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach_flash_region! {
|
foreach_flash_region! {
|
||||||
($type_name:ident, $write_size:literal, $erase_size:literal) => {
|
($type_name:ident, $write_size:literal, $erase_size:literal) => {
|
||||||
impl crate::_generated::flash_regions::$type_name<'_> {
|
impl crate::_generated::flash_regions::$type_name<'_> {
|
||||||
|
|
Loading…
Reference in a new issue