mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-12-24 19:09:33 +01:00
Make embedded-hal-async dependency optional for better compatibility with HALs
Some hals implement traits for embedded-hal version `=1.0.0.alpha.<not 9>`, which is explicitly incompatible with the version `=1.0.0.alpha.9` which embedded-hal-async depends on. Making the dependency optional allows downstream projects to include rtic-monotonic without requiring that all of their other libraries also implement that specific version of embedded-hal 1.0
This commit is contained in:
parent
60d5e9e1db
commit
002d0b0d16
3 changed files with 5 additions and 5 deletions
|
@ -18,7 +18,7 @@ license = "MIT OR Apache-2.0"
|
|||
|
||||
[dependencies]
|
||||
rtic-time = { version = "1.0.0-alpha.0", path = "../rtic-time" }
|
||||
embedded-hal-async = "0.2.0-alpha.0"
|
||||
embedded-hal-async = { version = "0.2.0-alpha.0", optional = true }
|
||||
fugit = { version = "0.3.6" }
|
||||
atomic-polyfill = "1"
|
||||
cfg-if = "1.0.0"
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
use super::Monotonic;
|
||||
pub use super::{TimeoutError, TimerQueue};
|
||||
use core::future::Future;
|
||||
use embedded_hal_async::delay::DelayUs;
|
||||
pub use fugit::ExtU64;
|
||||
use rp2040_pac::{timer, Interrupt, RESETS, TIMER};
|
||||
|
||||
|
@ -116,7 +115,8 @@ impl Monotonic for Timer {
|
|||
fn disable_timer() {}
|
||||
}
|
||||
|
||||
impl DelayUs for Timer {
|
||||
#[cfg(feature = "embedded-hal-async")]
|
||||
impl embedded_hal_async::delay::DelayUs for Timer {
|
||||
type Error = core::convert::Infallible;
|
||||
|
||||
async fn delay_us(&mut self, us: u32) -> Result<(), Self::Error> {
|
||||
|
|
|
@ -5,7 +5,6 @@ pub use super::{TimeoutError, TimerQueue};
|
|||
use atomic_polyfill::{AtomicU32, Ordering};
|
||||
use core::future::Future;
|
||||
use cortex_m::peripheral::SYST;
|
||||
use embedded_hal_async::delay::DelayUs;
|
||||
pub use fugit::ExtU32;
|
||||
|
||||
// Features should be additive, here systick_100hz gets picked if both
|
||||
|
@ -136,7 +135,8 @@ impl Monotonic for Systick {
|
|||
fn disable_timer() {}
|
||||
}
|
||||
|
||||
impl DelayUs for Systick {
|
||||
#[cfg(feature = "embedded-hal-async")]
|
||||
impl embedded_hal_async::delay::DelayUs for Systick {
|
||||
type Error = core::convert::Infallible;
|
||||
|
||||
async fn delay_us(&mut self, us: u32) -> Result<(), Self::Error> {
|
||||
|
|
Loading…
Reference in a new issue