diff options
4 files changed, 31 insertions, 4 deletions
diff --git a/embassy-embedded-hal/src/adapter/yielding_async.rs b/embassy-embedded-hal/src/adapter/yielding_async.rs index fe9c9c341..87f822a63 100644 --- a/embassy-embedded-hal/src/adapter/yielding_async.rs +++ b/embassy-embedded-hal/src/adapter/yielding_async.rs | |||
| @@ -147,6 +147,11 @@ impl<T: embedded_storage_async::nor_flash::NorFlash> embedded_storage_async::nor | |||
| 147 | } | 147 | } |
| 148 | } | 148 | } |
| 149 | 149 | ||
| 150 | impl<T: embedded_storage_async::nor_flash::MultiwriteNorFlash> embedded_storage_async::nor_flash::MultiwriteNorFlash | ||
| 151 | for YieldingAsync<T> | ||
| 152 | { | ||
| 153 | } | ||
| 154 | |||
| 150 | #[cfg(test)] | 155 | #[cfg(test)] |
| 151 | mod tests { | 156 | mod tests { |
| 152 | use embedded_storage_async::nor_flash::NorFlash; | 157 | use embedded_storage_async::nor_flash::NorFlash; |
diff --git a/embassy-embedded-hal/src/flash/concat_flash.rs b/embassy-embedded-hal/src/flash/concat_flash.rs index 499941d19..fe5a18ce2 100644 --- a/embassy-embedded-hal/src/flash/concat_flash.rs +++ b/embassy-embedded-hal/src/flash/concat_flash.rs | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | use embedded_storage::nor_flash::{ErrorType, NorFlash, NorFlashError, ReadNorFlash}; | 1 | use embedded_storage::nor_flash::{ErrorType, MultiwriteNorFlash, NorFlash, NorFlashError, ReadNorFlash}; |
| 2 | use embedded_storage_async::nor_flash::{NorFlash as AsyncNorFlash, ReadNorFlash as AsyncReadNorFlash}; | 2 | use embedded_storage_async::nor_flash::{ |
| 3 | MultiwriteNorFlash as AsyncMultiwriteNorFlash, NorFlash as AsyncNorFlash, ReadNorFlash as AsyncReadNorFlash, | ||
| 4 | }; | ||
| 3 | 5 | ||
| 4 | /// Convenience helper for concatenating two consecutive flashes into one. | 6 | /// Convenience helper for concatenating two consecutive flashes into one. |
| 5 | /// This is especially useful if used with "flash regions", where one may | 7 | /// This is especially useful if used with "flash regions", where one may |
| @@ -116,6 +118,14 @@ where | |||
| 116 | } | 118 | } |
| 117 | } | 119 | } |
| 118 | 120 | ||
| 121 | impl<First, Second, E> MultiwriteNorFlash for ConcatFlash<First, Second> | ||
| 122 | where | ||
| 123 | First: MultiwriteNorFlash<Error = E>, | ||
| 124 | Second: MultiwriteNorFlash<Error = E>, | ||
| 125 | E: NorFlashError, | ||
| 126 | { | ||
| 127 | } | ||
| 128 | |||
| 119 | impl<First, Second, E> AsyncReadNorFlash for ConcatFlash<First, Second> | 129 | impl<First, Second, E> AsyncReadNorFlash for ConcatFlash<First, Second> |
| 120 | where | 130 | where |
| 121 | First: AsyncReadNorFlash<Error = E>, | 131 | First: AsyncReadNorFlash<Error = E>, |
| @@ -185,6 +195,14 @@ where | |||
| 185 | } | 195 | } |
| 186 | } | 196 | } |
| 187 | 197 | ||
| 198 | impl<First, Second, E> AsyncMultiwriteNorFlash for ConcatFlash<First, Second> | ||
| 199 | where | ||
| 200 | First: AsyncMultiwriteNorFlash<Error = E>, | ||
| 201 | Second: AsyncMultiwriteNorFlash<Error = E>, | ||
| 202 | E: NorFlashError, | ||
| 203 | { | ||
| 204 | } | ||
| 205 | |||
| 188 | #[cfg(test)] | 206 | #[cfg(test)] |
| 189 | mod tests { | 207 | mod tests { |
| 190 | use embedded_storage::nor_flash::{NorFlash, ReadNorFlash}; | 208 | use embedded_storage::nor_flash::{NorFlash, ReadNorFlash}; |
diff --git a/embassy-embedded-hal/src/flash/partition/asynch.rs b/embassy-embedded-hal/src/flash/partition/asynch.rs index 1b0c91232..82e27bb7c 100644 --- a/embassy-embedded-hal/src/flash/partition/asynch.rs +++ b/embassy-embedded-hal/src/flash/partition/asynch.rs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | use embassy_sync::blocking_mutex::raw::RawMutex; | 1 | use embassy_sync::blocking_mutex::raw::RawMutex; |
| 2 | use embassy_sync::mutex::Mutex; | 2 | use embassy_sync::mutex::Mutex; |
| 3 | use embedded_storage::nor_flash::ErrorType; | 3 | use embedded_storage::nor_flash::ErrorType; |
| 4 | use embedded_storage_async::nor_flash::{NorFlash, ReadNorFlash}; | 4 | use embedded_storage_async::nor_flash::{MultiwriteNorFlash, NorFlash, ReadNorFlash}; |
| 5 | 5 | ||
| 6 | use super::Error; | 6 | use super::Error; |
| 7 | 7 | ||
| @@ -99,6 +99,8 @@ impl<M: RawMutex, T: NorFlash> NorFlash for Partition<'_, M, T> { | |||
| 99 | } | 99 | } |
| 100 | } | 100 | } |
| 101 | 101 | ||
| 102 | impl<M: RawMutex, T: MultiwriteNorFlash> MultiwriteNorFlash for Partition<'_, M, T> {} | ||
| 103 | |||
| 102 | #[cfg(test)] | 104 | #[cfg(test)] |
| 103 | mod tests { | 105 | mod tests { |
| 104 | use embassy_sync::blocking_mutex::raw::NoopRawMutex; | 106 | use embassy_sync::blocking_mutex::raw::NoopRawMutex; |
diff --git a/embassy-embedded-hal/src/flash/partition/blocking.rs b/embassy-embedded-hal/src/flash/partition/blocking.rs index a68df7812..951998166 100644 --- a/embassy-embedded-hal/src/flash/partition/blocking.rs +++ b/embassy-embedded-hal/src/flash/partition/blocking.rs | |||
| @@ -2,7 +2,7 @@ use core::cell::RefCell; | |||
| 2 | 2 | ||
| 3 | use embassy_sync::blocking_mutex::raw::RawMutex; | 3 | use embassy_sync::blocking_mutex::raw::RawMutex; |
| 4 | use embassy_sync::blocking_mutex::Mutex; | 4 | use embassy_sync::blocking_mutex::Mutex; |
| 5 | use embedded_storage::nor_flash::{ErrorType, NorFlash, ReadNorFlash}; | 5 | use embedded_storage::nor_flash::{ErrorType, MultiwriteNorFlash, NorFlash, ReadNorFlash}; |
| 6 | 6 | ||
| 7 | use super::Error; | 7 | use super::Error; |
| 8 | 8 | ||
| @@ -109,6 +109,8 @@ impl<M: RawMutex, T: NorFlash> NorFlash for BlockingPartition<'_, M, T> { | |||
| 109 | } | 109 | } |
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | impl<M: RawMutex, T: MultiwriteNorFlash> MultiwriteNorFlash for BlockingPartition<'_, M, T> {} | ||
| 113 | |||
| 112 | #[cfg(test)] | 114 | #[cfg(test)] |
| 113 | mod tests { | 115 | mod tests { |
| 114 | use embassy_sync::blocking_mutex::raw::NoopRawMutex; | 116 | use embassy_sync::blocking_mutex::raw::NoopRawMutex; |
