aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf/src/nvmc.rs
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2022-02-07 12:35:58 +0100
committerUlf Lilleengen <[email protected]>2022-02-07 12:35:58 +0100
commitf79624c3e64565b57eb18f7fae152fdb50c8bded (patch)
tree02b4b9fc2ff4697d7c149dbf07cd9e9277e60694 /embassy-nrf/src/nvmc.rs
parentd06b0628e06bdf2ff32de26ea041ecf2f082d00a (diff)
Upgrade to embedded-storage 0.3.0
Diffstat (limited to 'embassy-nrf/src/nvmc.rs')
-rw-r--r--embassy-nrf/src/nvmc.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/embassy-nrf/src/nvmc.rs b/embassy-nrf/src/nvmc.rs
index 722e49d6c..7d7b56841 100644
--- a/embassy-nrf/src/nvmc.rs
+++ b/embassy-nrf/src/nvmc.rs
@@ -8,7 +8,9 @@ use core::ptr;
8use core::slice; 8use core::slice;
9use embassy::util::Unborrow; 9use embassy::util::Unborrow;
10use embassy_hal_common::unborrow; 10use embassy_hal_common::unborrow;
11use embedded_storage::nor_flash::{MultiwriteNorFlash, NorFlash, ReadNorFlash}; 11use embedded_storage::nor_flash::{
12 ErrorType, MultiwriteNorFlash, NorFlash, NorFlashError, NorFlashErrorKind, ReadNorFlash,
13};
12 14
13pub const PAGE_SIZE: usize = 4096; 15pub const PAGE_SIZE: usize = 4096;
14pub const FLASH_SIZE: usize = crate::chip::FLASH_SIZE; 16pub const FLASH_SIZE: usize = crate::chip::FLASH_SIZE;
@@ -20,6 +22,15 @@ pub enum Error {
20 Unaligned, 22 Unaligned,
21} 23}
22 24
25impl NorFlashError for Error {
26 fn kind(&self) -> NorFlashErrorKind {
27 match self {
28 Self::OutOfBounds => NorFlashErrorKind::OutOfBounds,
29 Self::Unaligned => NorFlashErrorKind::NotAligned,
30 }
31 }
32}
33
23pub struct Nvmc<'d> { 34pub struct Nvmc<'d> {
24 _p: PhantomData<&'d NVMC>, 35 _p: PhantomData<&'d NVMC>,
25} 36}
@@ -43,9 +54,11 @@ impl<'d> Nvmc<'d> {
43 54
44impl<'d> MultiwriteNorFlash for Nvmc<'d> {} 55impl<'d> MultiwriteNorFlash for Nvmc<'d> {}
45 56
46impl<'d> ReadNorFlash for Nvmc<'d> { 57impl<'d> ErrorType for Nvmc<'d> {
47 type Error = Error; 58 type Error = Error;
59}
48 60
61impl<'d> ReadNorFlash for Nvmc<'d> {
49 const READ_SIZE: usize = 1; 62 const READ_SIZE: usize = 1;
50 63
51 fn read(&mut self, offset: u32, bytes: &mut [u8]) -> Result<(), Self::Error> { 64 fn read(&mut self, offset: u32, bytes: &mut [u8]) -> Result<(), Self::Error> {