Bump embedded-storage-async to 0.4
This commit is contained in:
parent
2209bef4f2
commit
bc0cb43307
@ -28,7 +28,7 @@ log = { version = "0.4", optional = true }
|
|||||||
ed25519-dalek = { version = "1.0.1", default_features = false, features = ["u32_backend"], optional = true }
|
ed25519-dalek = { version = "1.0.1", default_features = false, features = ["u32_backend"], optional = true }
|
||||||
embassy-sync = { version = "0.1.0", path = "../../embassy-sync" }
|
embassy-sync = { version = "0.1.0", path = "../../embassy-sync" }
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = "0.3.0"
|
embedded-storage-async = "0.4.0"
|
||||||
salty = { git = "https://github.com/ycrypto/salty.git", rev = "a9f17911a5024698406b75c0fac56ab5ccf6a8c7", optional = true }
|
salty = { git = "https://github.com/ycrypto/salty.git", rev = "a9f17911a5024698406b75c0fac56ab5ccf6a8c7", optional = true }
|
||||||
signature = { version = "1.6.4", default-features = false }
|
signature = { version = "1.6.4", default-features = false }
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
mod fmt;
|
mod fmt;
|
||||||
|
|
||||||
use embedded_storage::nor_flash::{ErrorType, NorFlash, NorFlashError, NorFlashErrorKind, ReadNorFlash};
|
use embedded_storage::nor_flash::{ErrorType, NorFlash, NorFlashError, NorFlashErrorKind, ReadNorFlash};
|
||||||
use embedded_storage_async::nor_flash::AsyncNorFlash;
|
use embedded_storage_async::nor_flash::NorFlash as AsyncNorFlash;
|
||||||
|
|
||||||
const BOOT_MAGIC: u8 = 0xD0;
|
const BOOT_MAGIC: u8 = 0xD0;
|
||||||
const SWAP_MAGIC: u8 = 0xF0;
|
const SWAP_MAGIC: u8 = 0xF0;
|
||||||
@ -1199,7 +1199,7 @@ mod tests {
|
|||||||
use core::future::Future;
|
use core::future::Future;
|
||||||
|
|
||||||
use embedded_storage::nor_flash::ErrorType;
|
use embedded_storage::nor_flash::ErrorType;
|
||||||
use embedded_storage_async::nor_flash::AsyncReadNorFlash;
|
use embedded_storage_async::nor_flash::ReadNorFlash as AsyncReadNorFlash;
|
||||||
use futures::executor::block_on;
|
use futures::executor::block_on;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
@ -22,7 +22,7 @@ embassy-boot = { path = "../boot", default-features = false }
|
|||||||
cortex-m = { version = "0.7.6" }
|
cortex-m = { version = "0.7.6" }
|
||||||
cortex-m-rt = { version = "0.7" }
|
cortex-m-rt = { version = "0.7" }
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = "0.3.0"
|
embedded-storage-async = "0.4.0"
|
||||||
cfg-if = "1.0.0"
|
cfg-if = "1.0.0"
|
||||||
|
|
||||||
nrf-softdevice-mbr = { version = "0.1.0", git = "https://github.com/embassy-rs/nrf-softdevice.git", branch = "master", optional = true }
|
nrf-softdevice-mbr = { version = "0.1.0", git = "https://github.com/embassy-rs/nrf-softdevice.git", branch = "master", optional = true }
|
||||||
|
@ -25,7 +25,7 @@ embassy-time = { path = "../../embassy-time", features = ["nightly"] }
|
|||||||
cortex-m = { version = "0.7.6" }
|
cortex-m = { version = "0.7.6" }
|
||||||
cortex-m-rt = { version = "0.7" }
|
cortex-m-rt = { version = "0.7" }
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = "0.3.0"
|
embedded-storage-async = "0.4.0"
|
||||||
cfg-if = "1.0.0"
|
cfg-if = "1.0.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -24,7 +24,7 @@ embassy-boot = { path = "../boot", default-features = false }
|
|||||||
cortex-m = { version = "0.7.6" }
|
cortex-m = { version = "0.7.6" }
|
||||||
cortex-m-rt = { version = "0.7" }
|
cortex-m-rt = { version = "0.7" }
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = "0.3.0"
|
embedded-storage-async = "0.4.0"
|
||||||
cfg-if = "1.0.0"
|
cfg-if = "1.0.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -22,7 +22,7 @@ embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["un
|
|||||||
embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.9" }
|
embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.9" }
|
||||||
embedded-hal-async = { version = "=0.2.0-alpha.0", optional = true }
|
embedded-hal-async = { version = "=0.2.0-alpha.0", optional = true }
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = { version = "0.3.0", optional = true }
|
embedded-storage-async = { version = "0.4.0", optional = true }
|
||||||
nb = "1.0.0"
|
nb = "1.0.0"
|
||||||
|
|
||||||
defmt = { version = "0.3", optional = true }
|
defmt = { version = "0.3", optional = true }
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
//! Adapters between embedded-hal traits.
|
//! Adapters between embedded-hal traits.
|
||||||
|
|
||||||
use core::future::Future;
|
|
||||||
|
|
||||||
use embedded_hal_02::{blocking, serial};
|
use embedded_hal_02::{blocking, serial};
|
||||||
|
|
||||||
/// Wrapper that implements async traits using blocking implementations.
|
/// Wrapper that implements async traits using blocking implementations.
|
||||||
@ -182,7 +180,7 @@ where
|
|||||||
|
|
||||||
/// NOR flash wrapper
|
/// NOR flash wrapper
|
||||||
use embedded_storage::nor_flash::{ErrorType, NorFlash, ReadNorFlash};
|
use embedded_storage::nor_flash::{ErrorType, NorFlash, ReadNorFlash};
|
||||||
use embedded_storage_async::nor_flash::{AsyncNorFlash, AsyncReadNorFlash};
|
use embedded_storage_async::nor_flash::{NorFlash as AsyncNorFlash, ReadNorFlash as AsyncReadNorFlash};
|
||||||
|
|
||||||
impl<T> ErrorType for BlockingAsync<T>
|
impl<T> ErrorType for BlockingAsync<T>
|
||||||
where
|
where
|
||||||
@ -198,14 +196,12 @@ where
|
|||||||
const WRITE_SIZE: usize = <T as NorFlash>::WRITE_SIZE;
|
const WRITE_SIZE: usize = <T as NorFlash>::WRITE_SIZE;
|
||||||
const ERASE_SIZE: usize = <T as NorFlash>::ERASE_SIZE;
|
const ERASE_SIZE: usize = <T as NorFlash>::ERASE_SIZE;
|
||||||
|
|
||||||
type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
|
async fn write(&mut self, offset: u32, data: &[u8]) -> Result<(), Self::Error> {
|
||||||
fn write<'a>(&'a mut self, offset: u32, data: &'a [u8]) -> Self::WriteFuture<'a> {
|
self.wrapped.write(offset, data)
|
||||||
async move { self.wrapped.write(offset, data) }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type EraseFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
|
async fn erase(&mut self, from: u32, to: u32) -> Result<(), Self::Error> {
|
||||||
fn erase<'a>(&'a mut self, from: u32, to: u32) -> Self::EraseFuture<'a> {
|
self.wrapped.erase(from, to)
|
||||||
async move { self.wrapped.erase(from, to) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,9 +210,8 @@ where
|
|||||||
T: ReadNorFlash,
|
T: ReadNorFlash,
|
||||||
{
|
{
|
||||||
const READ_SIZE: usize = <T as ReadNorFlash>::READ_SIZE;
|
const READ_SIZE: usize = <T as ReadNorFlash>::READ_SIZE;
|
||||||
type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
|
async fn read(&mut self, address: u32, data: &mut [u8]) -> Result<(), Self::Error> {
|
||||||
fn read<'a>(&'a mut self, address: u32, data: &'a mut [u8]) -> Self::ReadFuture<'a> {
|
self.wrapped.read(address, data)
|
||||||
async move { self.wrapped.read(address, data) }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn capacity(&self) -> usize {
|
fn capacity(&self) -> usize {
|
||||||
|
@ -100,7 +100,7 @@ critical-section = "1.1"
|
|||||||
rand_core = "0.6.3"
|
rand_core = "0.6.3"
|
||||||
fixed = "1.10.0"
|
fixed = "1.10.0"
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = { version = "0.3.0", optional = true }
|
embedded-storage-async = { version = "0.4.0", optional = true }
|
||||||
cfg-if = "1.0.0"
|
cfg-if = "1.0.0"
|
||||||
|
|
||||||
nrf52805-pac = { version = "0.12.0", optional = true, features = [ "rt" ] }
|
nrf52805-pac = { version = "0.12.0", optional = true, features = [ "rt" ] }
|
||||||
|
@ -528,34 +528,28 @@ impl<'d, T: Instance, const FLASH_SIZE: usize> NorFlash for Qspi<'d, T, FLASH_SI
|
|||||||
cfg_if::cfg_if! {
|
cfg_if::cfg_if! {
|
||||||
if #[cfg(feature = "nightly")]
|
if #[cfg(feature = "nightly")]
|
||||||
{
|
{
|
||||||
use embedded_storage_async::nor_flash::{AsyncNorFlash, AsyncReadNorFlash};
|
use embedded_storage_async::nor_flash::{NorFlash as AsyncNorFlash, ReadNorFlash as AsyncReadNorFlash};
|
||||||
use core::future::Future;
|
|
||||||
|
|
||||||
impl<'d, T: Instance, const FLASH_SIZE: usize> AsyncNorFlash for Qspi<'d, T, FLASH_SIZE> {
|
impl<'d, T: Instance, const FLASH_SIZE: usize> AsyncNorFlash for Qspi<'d, T, FLASH_SIZE> {
|
||||||
const WRITE_SIZE: usize = <Self as NorFlash>::WRITE_SIZE;
|
const WRITE_SIZE: usize = <Self as NorFlash>::WRITE_SIZE;
|
||||||
const ERASE_SIZE: usize = <Self as NorFlash>::ERASE_SIZE;
|
const ERASE_SIZE: usize = <Self as NorFlash>::ERASE_SIZE;
|
||||||
|
|
||||||
type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
|
async fn write(&mut self, offset: u32, data: &[u8]) -> Result<(), Self::Error> {
|
||||||
fn write<'a>(&'a mut self, offset: u32, data: &'a [u8]) -> Self::WriteFuture<'a> {
|
self.write(offset as usize, data).await
|
||||||
async move { self.write(offset as usize, data).await }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type EraseFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
|
async fn erase(&mut self, from: u32, to: u32) -> Result<(), Self::Error> {
|
||||||
fn erase<'a>(&'a mut self, from: u32, to: u32) -> Self::EraseFuture<'a> {
|
|
||||||
async move {
|
|
||||||
for address in (from as usize..to as usize).step_by(<Self as AsyncNorFlash>::ERASE_SIZE) {
|
for address in (from as usize..to as usize).step_by(<Self as AsyncNorFlash>::ERASE_SIZE) {
|
||||||
self.erase(address).await?
|
self.erase(address).await?
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl<'d, T: Instance, const FLASH_SIZE: usize> AsyncReadNorFlash for Qspi<'d, T, FLASH_SIZE> {
|
impl<'d, T: Instance, const FLASH_SIZE: usize> AsyncReadNorFlash for Qspi<'d, T, FLASH_SIZE> {
|
||||||
const READ_SIZE: usize = 4;
|
const READ_SIZE: usize = 4;
|
||||||
type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
|
async fn read(&mut self, address: u32, data: &mut [u8]) -> Result<(), Self::Error> {
|
||||||
fn read<'a>(&'a mut self, address: u32, data: &'a mut [u8]) -> Self::ReadFuture<'a> {
|
self.read(address as usize, data).await
|
||||||
async move { self.read(address as usize, data).await }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn capacity(&self) -> usize {
|
fn capacity(&self) -> usize {
|
||||||
|
@ -16,7 +16,7 @@ embassy-time = { path = "../../../../embassy-time", features = ["nightly"] }
|
|||||||
cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
|
cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
|
||||||
cortex-m-rt = { version = "0.7" }
|
cortex-m-rt = { version = "0.7" }
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = "0.3.0"
|
embedded-storage-async = "0.4.0"
|
||||||
cfg-if = "1.0.0"
|
cfg-if = "1.0.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -14,7 +14,7 @@ embassy-boot-stm32 = { path = "../../../../embassy-boot/stm32", default-features
|
|||||||
cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
|
cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
|
||||||
cortex-m-rt = { version = "0.7" }
|
cortex-m-rt = { version = "0.7" }
|
||||||
embedded-storage = "0.3.0"
|
embedded-storage = "0.3.0"
|
||||||
embedded-storage-async = "0.3.0"
|
embedded-storage-async = "0.4.0"
|
||||||
cfg-if = "1.0.0"
|
cfg-if = "1.0.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
Loading…
Reference in New Issue
Block a user