aboutsummaryrefslogtreecommitdiff
path: root/embassy-embedded-hal/src/flash/partition/mod.rs
diff options
context:
space:
mode:
authorRasmus Melchior Jacobsen <[email protected]>2023-05-27 10:29:21 +0200
committerRasmus Melchior Jacobsen <[email protected]>2023-05-27 10:29:21 +0200
commit6d8f409018f9fabd23e80e07a20b357989c4d841 (patch)
treec88ff271f3f7f3a87b454b31d4bb0103d305248e /embassy-embedded-hal/src/flash/partition/mod.rs
parentbea42a78a4c44df3ebab564c32bf04ed76493704 (diff)
Add BlockingPartition
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}