summaryrefslogtreecommitdiff
path: root/embassy-nrf
diff options
context:
space:
mode:
authorDario Nieuwenhuis <dirbaio@dirbaio.net>2022-08-31 02:46:52 +0200
committerDario Nieuwenhuis <dirbaio@dirbaio.net>2022-08-31 03:11:21 +0200
commit8ba421f324f0971b2394f497d8fbbee65847f583 (patch)
tree81c4f1f6d62fdc85f17c466e26d8bb16198a7301 /embassy-nrf
parentfe08bdf0d81e784c3af642128b91a53514b79a63 (diff)
downloadembassy-8ba421f324f0971b2394f497d8fbbee65847f583.zip
Do not use cfg_if for embedded-hal-async feature gates.
Old code used `cfg_if!` because rustc still parses code inside disabled cfg's, and Rust stable at that time couldn't parse the new GAT where-clause location. This is not the case anymore.
Diffstat (limited to 'embassy-nrf')
-rw-r--r--embassy-nrf/src/gpiote.rs91
-rw-r--r--embassy-nrf/src/spim.rs58
-rw-r--r--embassy-nrf/src/twim.rs60
-rw-r--r--embassy-nrf/src/uarte.rs99
4 files changed, 154 insertions, 154 deletions
diff --git a/embassy-nrf/src/gpiote.rs b/embassy-nrf/src/gpiote.rs
index b5203570..d99f592b 100644
--- a/embassy-nrf/src/gpiote.rs
+++ b/embassy-nrf/src/gpiote.rs
@@ -469,72 +469,73 @@ mod eh1 {
}
}
-cfg_if::cfg_if! {
- if #[cfg(all(feature = "unstable-traits", feature = "nightly"))] {
- use futures::FutureExt;
+#[cfg(all(feature = "unstable-traits", feature = "nightly"))]
+mod eha {
+ use futures::FutureExt;
- impl<'d, T: GpioPin> embedded_hal_async::digital::Wait for Input<'d, T> {
- type WaitForHighFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ use super::*;
- fn wait_for_high<'a>(&'a mut self) -> Self::WaitForHighFuture<'a> {
- self.wait_for_high().map(Ok)
- }
+ impl<'d, T: GpioPin> embedded_hal_async::digital::Wait for Input<'d, T> {
+ type WaitForHighFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- type WaitForLowFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ fn wait_for_high<'a>(&'a mut self) -> Self::WaitForHighFuture<'a> {
+ self.wait_for_high().map(Ok)
+ }
- fn wait_for_low<'a>(&'a mut self) -> Self::WaitForLowFuture<'a> {
- self.wait_for_low().map(Ok)
- }
+ type WaitForLowFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- type WaitForRisingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ fn wait_for_low<'a>(&'a mut self) -> Self::WaitForLowFuture<'a> {
+ self.wait_for_low().map(Ok)
+ }
- fn wait_for_rising_edge<'a>(&'a mut self) -> Self::WaitForRisingEdgeFuture<'a> {
- self.wait_for_rising_edge().map(Ok)
- }
+ type WaitForRisingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- type WaitForFallingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ fn wait_for_rising_edge<'a>(&'a mut self) -> Self::WaitForRisingEdgeFuture<'a> {
+ self.wait_for_rising_edge().map(Ok)
+ }
- fn wait_for_falling_edge<'a>(&'a mut self) -> Self::WaitForFallingEdgeFuture<'a> {
- self.wait_for_falling_edge().map(Ok)
- }
+ type WaitForFallingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- type WaitForAnyEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ fn wait_for_falling_edge<'a>(&'a mut self) -> Self::WaitForFallingEdgeFuture<'a> {
+ self.wait_for_falling_edge().map(Ok)
+ }
- fn wait_for_any_edge<'a>(&'a mut self) -> Self::WaitForAnyEdgeFuture<'a> {
- self.wait_for_any_edge().map(Ok)
- }
+ type WaitForAnyEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+
+ fn wait_for_any_edge<'a>(&'a mut self) -> Self::WaitForAnyEdgeFuture<'a> {
+ self.wait_for_any_edge().map(Ok)
}
+ }
- impl<'d, T: GpioPin> embedded_hal_async::digital::Wait for Flex<'d, T> {
- type WaitForHighFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, T: GpioPin> embedded_hal_async::digital::Wait for Flex<'d, T> {
+ type WaitForHighFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn wait_for_high<'a>(&'a mut self) -> Self::WaitForHighFuture<'a> {
- self.wait_for_high().map(Ok)
- }
+ fn wait_for_high<'a>(&'a mut self) -> Self::WaitForHighFuture<'a> {
+ self.wait_for_high().map(Ok)
+ }
- type WaitForLowFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type WaitForLowFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn wait_for_low<'a>(&'a mut self) -> Self::WaitForLowFuture<'a> {
- self.wait_for_low().map(Ok)
- }
+ fn wait_for_low<'a>(&'a mut self) -> Self::WaitForLowFuture<'a> {
+ self.wait_for_low().map(Ok)
+ }
- type WaitForRisingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type WaitForRisingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn wait_for_rising_edge<'a>(&'a mut self) -> Self::WaitForRisingEdgeFuture<'a> {
- self.wait_for_rising_edge().map(Ok)
- }
+ fn wait_for_rising_edge<'a>(&'a mut self) -> Self::WaitForRisingEdgeFuture<'a> {
+ self.wait_for_rising_edge().map(Ok)
+ }
- type WaitForFallingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type WaitForFallingEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn wait_for_falling_edge<'a>(&'a mut self) -> Self::WaitForFallingEdgeFuture<'a> {
- self.wait_for_falling_edge().map(Ok)
- }
+ fn wait_for_falling_edge<'a>(&'a mut self) -> Self::WaitForFallingEdgeFuture<'a> {
+ self.wait_for_falling_edge().map(Ok)
+ }
- type WaitForAnyEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type WaitForAnyEdgeFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn wait_for_any_edge<'a>(&'a mut self) -> Self::WaitForAnyEdgeFuture<'a> {
- self.wait_for_any_edge().map(Ok)
- }
+ fn wait_for_any_edge<'a>(&'a mut self) -> Self::WaitForAnyEdgeFuture<'a> {
+ self.wait_for_any_edge().map(Ok)
}
}
}
diff --git a/embassy-nrf/src/spim.rs b/embassy-nrf/src/spim.rs
index be2fc02f..2955182e 100644
--- a/embassy-nrf/src/spim.rs
+++ b/embassy-nrf/src/spim.rs
@@ -475,49 +475,47 @@ mod eh1 {
}
}
-cfg_if::cfg_if! {
- if #[cfg(all(feature = "unstable-traits", feature = "nightly"))] {
- use core::future::Future;
+#[cfg(all(feature = "unstable-traits", feature = "nightly"))]
+mod eha {
+ use core::future::Future;
- impl<'d, T: Instance> embedded_hal_async::spi::SpiBusFlush for Spim<'d, T> {
- type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ use super::*;
- fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
- async move { Ok(()) }
- }
+ impl<'d, T: Instance> embedded_hal_async::spi::SpiBusFlush for Spim<'d, T> {
+ type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+
+ fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
+ async move { Ok(()) }
}
+ }
- impl<'d, T: Instance> embedded_hal_async::spi::SpiBusRead<u8> for Spim<'d, T> {
- type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, T: Instance> embedded_hal_async::spi::SpiBusRead<u8> for Spim<'d, T> {
+ type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn read<'a>(&'a mut self, words: &'a mut [u8]) -> Self::ReadFuture<'a> {
- self.read(words)
- }
+ fn read<'a>(&'a mut self, words: &'a mut [u8]) -> Self::ReadFuture<'a> {
+ self.read(words)
}
+ }
- impl<'d, T: Instance> embedded_hal_async::spi::SpiBusWrite<u8> for Spim<'d, T> {
- type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, T: Instance> embedded_hal_async::spi::SpiBusWrite<u8> for Spim<'d, T> {
+ type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn write<'a>(&'a mut self, data: &'a [u8]) -> Self::WriteFuture<'a> {
- self.write(data)
- }
+ fn write<'a>(&'a mut self, data: &'a [u8]) -> Self::WriteFuture<'a> {
+ self.write(data)
}
+ }
- impl<'d, T: Instance> embedded_hal_async::spi::SpiBus<u8> for Spim<'d, T> {
- type TransferFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, T: Instance> embedded_hal_async::spi::SpiBus<u8> for Spim<'d, T> {
+ type TransferFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn transfer<'a>(&'a mut self, rx: &'a mut [u8], tx: &'a [u8]) -> Self::TransferFuture<'a> {
- self.transfer(rx, tx)
- }
+ fn transfer<'a>(&'a mut self, rx: &'a mut [u8], tx: &'a [u8]) -> Self::TransferFuture<'a> {
+ self.transfer(rx, tx)
+ }
- type TransferInPlaceFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type TransferInPlaceFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn transfer_in_place<'a>(
- &'a mut self,
- words: &'a mut [u8],
- ) -> Self::TransferInPlaceFuture<'a> {
- self.transfer_in_place(words)
- }
+ fn transfer_in_place<'a>(&'a mut self, words: &'a mut [u8]) -> Self::TransferInPlaceFuture<'a> {
+ self.transfer_in_place(words)
}
}
}
diff --git a/embassy-nrf/src/twim.rs b/embassy-nrf/src/twim.rs
index 850f6d0f..3d4af753 100644
--- a/embassy-nrf/src/twim.rs
+++ b/embassy-nrf/src/twim.rs
@@ -838,43 +838,43 @@ mod eh1 {
}
}
-cfg_if::cfg_if! {
- if #[cfg(all(feature = "unstable-traits", feature = "nightly"))] {
- impl<'d, T: Instance> embedded_hal_async::i2c::I2c for Twim<'d, T> {
- type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+#[cfg(all(feature = "unstable-traits", feature = "nightly"))]
+mod eha {
+ use super::*;
+ impl<'d, T: Instance> embedded_hal_async::i2c::I2c for Twim<'d, T> {
+ type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn read<'a>(&'a mut self, address: u8, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
- self.read(address, buffer)
- }
+ fn read<'a>(&'a mut self, address: u8, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
+ self.read(address, buffer)
+ }
- type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn write<'a>(&'a mut self, address: u8, bytes: &'a [u8]) -> Self::WriteFuture<'a> {
- self.write(address, bytes)
- }
+ fn write<'a>(&'a mut self, address: u8, bytes: &'a [u8]) -> Self::WriteFuture<'a> {
+ self.write(address, bytes)
+ }
- type WriteReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type WriteReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn write_read<'a>(
- &'a mut self,
- address: u8,
- wr_buffer: &'a [u8],
- rd_buffer: &'a mut [u8],
- ) -> Self::WriteReadFuture<'a> {
- self.write_read(address, wr_buffer, rd_buffer)
- }
+ fn write_read<'a>(
+ &'a mut self,
+ address: u8,
+ wr_buffer: &'a [u8],
+ rd_buffer: &'a mut [u8],
+ ) -> Self::WriteReadFuture<'a> {
+ self.write_read(address, wr_buffer, rd_buffer)
+ }
- type TransactionFuture<'a, 'b> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a, 'b: 'a;
+ type TransactionFuture<'a, 'b> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a, 'b: 'a;
- fn transaction<'a, 'b>(
- &'a mut self,
- address: u8,
- operations: &'a mut [embedded_hal_async::i2c::Operation<'b>],
- ) -> Self::TransactionFuture<'a, 'b> {
- let _ = address;
- let _ = operations;
- async move { todo!() }
- }
+ fn transaction<'a, 'b>(
+ &'a mut self,
+ address: u8,
+ operations: &'a mut [embedded_hal_async::i2c::Operation<'b>],
+ ) -> Self::TransactionFuture<'a, 'b> {
+ let _ = address;
+ let _ = operations;
+ async move { todo!() }
}
}
}
diff --git a/embassy-nrf/src/uarte.rs b/embassy-nrf/src/uarte.rs
index 4347ea55..c250e24c 100644
--- a/embassy-nrf/src/uarte.rs
+++ b/embassy-nrf/src/uarte.rs
@@ -1073,78 +1073,79 @@ mod eh1 {
}
}
-cfg_if::cfg_if! {
- if #[cfg(all(feature = "unstable-traits", feature = "nightly", feature = "_todo_embedded_hal_serial"))] {
- use core::future::Future;
+#[cfg(all(
+ feature = "unstable-traits",
+ feature = "nightly",
+ feature = "_todo_embedded_hal_serial"
+))]
+mod eha {
+ use core::future::Future;
- impl<'d, T: Instance> embedded_hal_async::serial::Read for Uarte<'d, T> {
- type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ use super::*;
- fn read<'a>(&'a mut self, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
- self.read(buffer)
- }
+ impl<'d, T: Instance> embedded_hal_async::serial::Read for Uarte<'d, T> {
+ type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+
+ fn read<'a>(&'a mut self, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
+ self.read(buffer)
}
+ }
- impl<'d, T: Instance> embedded_hal_async::serial::Write for Uarte<'d, T> {
- type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, T: Instance> embedded_hal_async::serial::Write for Uarte<'d, T> {
+ type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn write<'a>(&'a mut self, buffer: &'a [u8]) -> Self::WriteFuture<'a> {
- self.write(buffer)
- }
+ fn write<'a>(&'a mut self, buffer: &'a [u8]) -> Self::WriteFuture<'a> {
+ self.write(buffer)
+ }
- type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
- async move { Ok(()) }
- }
+ fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
+ async move { Ok(()) }
}
+ }
- impl<'d, T: Instance> embedded_hal_async::serial::Write for UarteTx<'d, T> {
- type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, T: Instance> embedded_hal_async::serial::Write for UarteTx<'d, T> {
+ type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn write<'a>(&'a mut self, buffer: &'a [u8]) -> Self::WriteFuture<'a> {
- self.write(buffer)
- }
+ fn write<'a>(&'a mut self, buffer: &'a [u8]) -> Self::WriteFuture<'a> {
+ self.write(buffer)
+ }
- type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
- async move { Ok(()) }
- }
+ fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
+ async move { Ok(()) }
}
+ }
- impl<'d, T: Instance> embedded_hal_async::serial::Read for UarteRx<'d, T> {
- type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, T: Instance> embedded_hal_async::serial::Read for UarteRx<'d, T> {
+ type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn read<'a>(&'a mut self, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
- self.read(buffer)
- }
+ fn read<'a>(&'a mut self, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
+ self.read(buffer)
}
+ }
- impl<'d, U: Instance, T: TimerInstance> embedded_hal_async::serial::Read
- for UarteWithIdle<'d, U, T>
- {
- type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, U: Instance, T: TimerInstance> embedded_hal_async::serial::Read for UarteWithIdle<'d, U, T> {
+ type ReadFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn read<'a>(&'a mut self, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
- self.read(buffer)
- }
+ fn read<'a>(&'a mut self, buffer: &'a mut [u8]) -> Self::ReadFuture<'a> {
+ self.read(buffer)
}
+ }
- impl<'d, U: Instance, T: TimerInstance> embedded_hal_async::serial::Write
- for UarteWithIdle<'d, U, T>
- {
- type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ impl<'d, U: Instance, T: TimerInstance> embedded_hal_async::serial::Write for UarteWithIdle<'d, U, T> {
+ type WriteFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn write<'a>(&'a mut self, buffer: &'a [u8]) -> Self::WriteFuture<'a> {
- self.write(buffer)
- }
+ fn write<'a>(&'a mut self, buffer: &'a [u8]) -> Self::WriteFuture<'a> {
+ self.write(buffer)
+ }
- type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
+ type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a where Self: 'a;
- fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
- async move { Ok(()) }
- }
+ fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> {
+ async move { Ok(()) }
}
}
}