diff options
Diffstat (limited to 'embassy-nrf')
| -rw-r--r-- | embassy-nrf/Cargo.toml | 4 | ||||
| -rw-r--r-- | embassy-nrf/src/spim.rs | 20 |
2 files changed, 6 insertions, 18 deletions
diff --git a/embassy-nrf/Cargo.toml b/embassy-nrf/Cargo.toml index 3e858f854..d33740cc8 100644 --- a/embassy-nrf/Cargo.toml +++ b/embassy-nrf/Cargo.toml | |||
| @@ -98,8 +98,8 @@ embassy-embedded-hal = {version = "0.1.0", path = "../embassy-embedded-hal" } | |||
| 98 | embassy-usb-driver = {version = "0.1.0", path = "../embassy-usb-driver", optional=true } | 98 | embassy-usb-driver = {version = "0.1.0", path = "../embassy-usb-driver", optional=true } |
| 99 | 99 | ||
| 100 | embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] } | 100 | embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] } |
| 101 | embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.10", optional = true} | 101 | embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.11", optional = true} |
| 102 | embedded-hal-async = { version = "=0.2.0-alpha.1", optional = true} | 102 | embedded-hal-async = { version = "=0.2.0-alpha.2", optional = true} |
| 103 | embedded-io = { version = "0.4.0", features = ["async"], optional = true } | 103 | embedded-io = { version = "0.4.0", features = ["async"], optional = true } |
| 104 | 104 | ||
| 105 | defmt = { version = "0.3", optional = true } | 105 | defmt = { version = "0.3", optional = true } |
diff --git a/embassy-nrf/src/spim.rs b/embassy-nrf/src/spim.rs index 166947936..b7dc332e9 100644 --- a/embassy-nrf/src/spim.rs +++ b/embassy-nrf/src/spim.rs | |||
| @@ -468,25 +468,19 @@ mod eh1 { | |||
| 468 | type Error = Error; | 468 | type Error = Error; |
| 469 | } | 469 | } |
| 470 | 470 | ||
| 471 | impl<'d, T: Instance> embedded_hal_1::spi::SpiBusFlush for Spim<'d, T> { | 471 | impl<'d, T: Instance> embedded_hal_1::spi::SpiBus<u8> for Spim<'d, T> { |
| 472 | fn flush(&mut self) -> Result<(), Self::Error> { | 472 | fn flush(&mut self) -> Result<(), Self::Error> { |
| 473 | Ok(()) | 473 | Ok(()) |
| 474 | } | 474 | } |
| 475 | } | ||
| 476 | 475 | ||
| 477 | impl<'d, T: Instance> embedded_hal_1::spi::SpiBusRead<u8> for Spim<'d, T> { | ||
| 478 | fn read(&mut self, words: &mut [u8]) -> Result<(), Self::Error> { | 476 | fn read(&mut self, words: &mut [u8]) -> Result<(), Self::Error> { |
| 479 | self.blocking_transfer(words, &[]) | 477 | self.blocking_transfer(words, &[]) |
| 480 | } | 478 | } |
| 481 | } | ||
| 482 | 479 | ||
| 483 | impl<'d, T: Instance> embedded_hal_1::spi::SpiBusWrite<u8> for Spim<'d, T> { | ||
| 484 | fn write(&mut self, words: &[u8]) -> Result<(), Self::Error> { | 480 | fn write(&mut self, words: &[u8]) -> Result<(), Self::Error> { |
| 485 | self.blocking_write(words) | 481 | self.blocking_write(words) |
| 486 | } | 482 | } |
| 487 | } | ||
| 488 | 483 | ||
| 489 | impl<'d, T: Instance> embedded_hal_1::spi::SpiBus<u8> for Spim<'d, T> { | ||
| 490 | fn transfer(&mut self, read: &mut [u8], write: &[u8]) -> Result<(), Self::Error> { | 484 | fn transfer(&mut self, read: &mut [u8], write: &[u8]) -> Result<(), Self::Error> { |
| 491 | self.blocking_transfer(read, write) | 485 | self.blocking_transfer(read, write) |
| 492 | } | 486 | } |
| @@ -502,30 +496,24 @@ mod eha { | |||
| 502 | 496 | ||
| 503 | use super::*; | 497 | use super::*; |
| 504 | 498 | ||
| 505 | impl<'d, T: Instance> embedded_hal_async::spi::SpiBusFlush for Spim<'d, T> { | 499 | impl<'d, T: Instance> embedded_hal_async::spi::SpiBus<u8> for Spim<'d, T> { |
| 506 | async fn flush(&mut self) -> Result<(), Error> { | 500 | async fn flush(&mut self) -> Result<(), Error> { |
| 507 | Ok(()) | 501 | Ok(()) |
| 508 | } | 502 | } |
| 509 | } | ||
| 510 | 503 | ||
| 511 | impl<'d, T: Instance> embedded_hal_async::spi::SpiBusRead<u8> for Spim<'d, T> { | ||
| 512 | async fn read(&mut self, words: &mut [u8]) -> Result<(), Error> { | 504 | async fn read(&mut self, words: &mut [u8]) -> Result<(), Error> { |
| 513 | self.read(words).await | 505 | self.read(words).await |
| 514 | } | 506 | } |
| 515 | } | ||
| 516 | 507 | ||
| 517 | impl<'d, T: Instance> embedded_hal_async::spi::SpiBusWrite<u8> for Spim<'d, T> { | ||
| 518 | async fn write(&mut self, data: &[u8]) -> Result<(), Error> { | 508 | async fn write(&mut self, data: &[u8]) -> Result<(), Error> { |
| 519 | self.write(data).await | 509 | self.write(data).await |
| 520 | } | 510 | } |
| 521 | } | ||
| 522 | 511 | ||
| 523 | impl<'d, T: Instance> embedded_hal_async::spi::SpiBus<u8> for Spim<'d, T> { | 512 | async fn transfer(&mut self, rx: &mut [u8], tx: &[u8]) -> Result<(), Error> { |
| 524 | async fn transfer<'a>(&'a mut self, rx: &'a mut [u8], tx: &'a [u8]) -> Result<(), Error> { | ||
| 525 | self.transfer(rx, tx).await | 513 | self.transfer(rx, tx).await |
| 526 | } | 514 | } |
| 527 | 515 | ||
| 528 | async fn transfer_in_place<'a>(&'a mut self, words: &'a mut [u8]) -> Result<(), Error> { | 516 | async fn transfer_in_place(&mut self, words: &mut [u8]) -> Result<(), Error> { |
| 529 | self.transfer_in_place(words).await | 517 | self.transfer_in_place(words).await |
| 530 | } | 518 | } |
| 531 | } | 519 | } |
