aboutsummaryrefslogtreecommitdiff
path: root/embassy-embedded-hal/src/flash/partition/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-embedded-hal/src/flash/partition/mod.rs')
-rw-r--r--embassy-embedded-hal/src/flash/partition/mod.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/embassy-embedded-hal/src/flash/partition/mod.rs b/embassy-embedded-hal/src/flash/partition/mod.rs
new file mode 100644
index 000000000..a12e49ce1
--- /dev/null
+++ b/embassy-embedded-hal/src/flash/partition/mod.rs
@@ -0,0 +1,30 @@
1//! Flash Partition utilities
2
3use embedded_storage::nor_flash::{NorFlashError, NorFlashErrorKind};
4
5#[cfg(feature = "nightly")]
6mod asynch;
7mod blocking;
8
9#[cfg(feature = "nightly")]
10pub use asynch::Partition;
11pub use blocking::BlockingPartition;
12
13/// Partition error
14#[derive(Debug)]
15#[cfg_attr(feature = "defmt", derive(defmt::Format))]
16pub enum Error<T> {
17 /// The requested flash area is outside the partition
18 OutOfBounds,
19 /// Underlying flash error
20 Flash(T),
21}
22
23impl<T: NorFlashError> NorFlashError for Error<T> {
24 fn kind(&self) -> NorFlashErrorKind {
25 match self {
26 Error::OutOfBounds => NorFlashErrorKind::OutOfBounds,
27 Error::Flash(f) => f.kind(),
28 }
29 }
30}