diff --git a/CHANGELOG.md b/CHANGELOG.md index f579d25d7a1..d3fbc62a7c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,8 +19,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add UART support for splitting into TX and RX (#754) - Async support for I2S (#801) - Async support for PARL_IO (#807) -- Implement `embeded_hal_async::delay::DelayUs` trait for `SYSTIMER` alarms (#812) - - This trait is NOT implemented when the `embassy-time-systick` feature is enabled! - ETM driver, GPIO ETM (#819) - (G)DMA AES support (#821) - SYSTIMER ETM functionality (#828) diff --git a/esp-hal-common/.gitignore b/esp-hal-common/.gitignore deleted file mode 100644 index 8f61cef6fae..00000000000 --- a/esp-hal-common/.gitignore +++ /dev/null @@ -1 +0,0 @@ -rust-toolchain.toml diff --git a/esp-hal-common/src/embassy/time_driver_systimer.rs b/esp-hal-common/src/embassy/time_driver_systimer.rs index cda68fe44b2..2b461bd47cb 100644 --- a/esp-hal-common/src/embassy/time_driver_systimer.rs +++ b/esp-hal-common/src/embassy/time_driver_systimer.rs @@ -43,7 +43,7 @@ impl EmbassyTimer { fn on_interrupt(&self, id: usize) { critical_section::with(|cs| { - self.interrupt_clear(id); + self.clear_interrupt(id); self.trigger_alarm(id, cs); }) } @@ -96,11 +96,11 @@ impl EmbassyTimer { }) } - fn interrupt_clear(&self, id: usize) { + fn clear_interrupt(&self, id: usize) { match id { - 0 => self.alarm0.interrupt_clear(), - 1 => self.alarm1.interrupt_clear(), - 2 => self.alarm2.interrupt_clear(), + 0 => self.alarm0.clear_interrupt(), + 1 => self.alarm1.clear_interrupt(), + 2 => self.alarm2.clear_interrupt(), _ => {} } } diff --git a/esp-hal-common/src/rtc_cntl/sleep.rs b/esp-hal-common/src/rtc_cntl/sleep.rs index 76a098b3c8b..ebe12d68cb9 100644 --- a/esp-hal-common/src/rtc_cntl/sleep.rs +++ b/esp-hal-common/src/rtc_cntl/sleep.rs @@ -21,10 +21,9 @@ use core::{cell::RefCell, time::Duration}; -use crate::{ - gpio::{RTCPin, RTCPinWithResistors}, - Rtc, -}; +#[cfg(esp32c3)] +use crate::gpio::RTCPinWithResistors; +use crate::{gpio::RTCPin, Rtc}; #[cfg_attr(esp32, path = "rtc/esp32_sleep.rs")] #[cfg_attr(esp32s3, path = "rtc/esp32s3_sleep.rs")] diff --git a/esp-hal-common/src/sha.rs b/esp-hal-common/src/sha.rs index edaf853f0f3..03e4a21c876 100644 --- a/esp-hal-common/src/sha.rs +++ b/esp-hal-common/src/sha.rs @@ -30,7 +30,7 @@ //! ## Example //! ```no_run //! let source_data = "HELLO, ESPRESSIF!".as_bytes(); -//! let mut remaining = source_data.clone(); +//! let mut remaining = source_data; //! let mut hasher = Sha::new(peripherals.SHA, ShaMode::SHA256); //! //! // Short hashes can be created by decreasing the output buffer to the desired diff --git a/esp-hal-common/src/systimer.rs b/esp-hal-common/src/systimer.rs index 456ea3e3fb0..4d51ab500a7 100644 --- a/esp-hal-common/src/systimer.rs +++ b/esp-hal-common/src/systimer.rs @@ -128,7 +128,7 @@ impl Alarm { } } - pub fn interrupt_clear(&self) { + pub fn clear_interrupt(&self) { let systimer = unsafe { &*SYSTIMER::ptr() }; match CHANNEL { 0 => systimer.int_clr.write(|w| w.target0_int_clr().set_bit()), @@ -272,7 +272,9 @@ impl Alarm { // interferes with the embassy time driver, which also uses the // `SYSTIMER` peripheral. Until we come up with a solution, do not // implement this trait if the `embassy-time-systick` feature is enabled. -#[cfg(all(feature = "async", not(feature = "embassy-time-systick")))] +// #[cfg(all(feature = "async", not(feature = "embassy-time-systick")))] +// HACK: disable `asynch` module *always* until we come up with a solution +#[cfg(not(systimer))] mod asynch { use core::{ pin::Pin, @@ -295,7 +297,7 @@ mod asynch { impl<'a, const N: u8> AlarmFuture<'a, N> { pub(crate) fn new(alarm: &'a Alarm) -> Self { - alarm.interrupt_clear(); + alarm.clear_interrupt(); alarm.enable_interrupt(true); Self { diff --git a/esp-riscv-rt/build.rs b/esp-riscv-rt/build.rs deleted file mode 100644 index 56354ee4c4b..00000000000 --- a/esp-riscv-rt/build.rs +++ /dev/null @@ -1,6 +0,0 @@ -use std::{env, path::PathBuf}; - -fn main() { - let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap()); - println!("cargo:rustc-link-search={}", out_dir.display()); -} diff --git a/esp32-hal/examples/sha.rs b/esp32-hal/examples/sha.rs index 6711feea23a..c17ced08e57 100644 --- a/esp32-hal/examples/sha.rs +++ b/esp32-hal/examples/sha.rs @@ -23,7 +23,7 @@ fn main() -> ! { let _clocks = ClockControl::boot_defaults(system.clock_control).freeze(); let source_data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".as_bytes(); - let mut remaining = source_data.clone(); + let mut remaining = source_data; let mut hasher = Sha::new(peripherals.SHA, ShaMode::SHA512); // Short hashes can be created by decreasing the output buffer to the desired diff --git a/esp32c2-hal/examples/systimer.rs b/esp32c2-hal/examples/systimer.rs index 393d84cd6d8..00c71779880 100644 --- a/esp32c2-hal/examples/systimer.rs +++ b/esp32c2-hal/examples/systimer.rs @@ -35,7 +35,7 @@ fn main() -> ! { let alarm0 = syst.alarm0.into_periodic(); alarm0.set_period(1u32.secs()); - alarm0.interrupt_clear(); + alarm0.clear_interrupt(); alarm0.enable_interrupt(true); let alarm1 = syst.alarm1; @@ -85,7 +85,7 @@ fn SYSTIMER_TARGET0() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -97,7 +97,7 @@ fn SYSTIMER_TARGET1() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -109,6 +109,6 @@ fn SYSTIMER_TARGET2() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } diff --git a/esp32c3-hal/examples/systimer.rs b/esp32c3-hal/examples/systimer.rs index 695304b4e3a..7a9b421137d 100644 --- a/esp32c3-hal/examples/systimer.rs +++ b/esp32c3-hal/examples/systimer.rs @@ -35,7 +35,7 @@ fn main() -> ! { let alarm0 = syst.alarm0.into_periodic(); alarm0.set_period(1u32.secs()); - alarm0.interrupt_clear(); + alarm0.clear_interrupt(); alarm0.enable_interrupt(true); let alarm1 = syst.alarm1; @@ -85,7 +85,7 @@ fn SYSTIMER_TARGET0() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -97,7 +97,7 @@ fn SYSTIMER_TARGET1() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -109,6 +109,6 @@ fn SYSTIMER_TARGET2() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } diff --git a/esp32c6-hal/examples/systimer.rs b/esp32c6-hal/examples/systimer.rs index 230e7fff7c1..e2372e5f499 100644 --- a/esp32c6-hal/examples/systimer.rs +++ b/esp32c6-hal/examples/systimer.rs @@ -35,7 +35,7 @@ fn main() -> ! { let alarm0 = syst.alarm0.into_periodic(); alarm0.set_period(1u32.secs()); - alarm0.interrupt_clear(); + alarm0.clear_interrupt(); alarm0.enable_interrupt(true); let alarm1 = syst.alarm1; @@ -85,7 +85,7 @@ fn SYSTIMER_TARGET0() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -97,7 +97,7 @@ fn SYSTIMER_TARGET1() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -109,6 +109,6 @@ fn SYSTIMER_TARGET2() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } diff --git a/esp32h2-hal/examples/systimer.rs b/esp32h2-hal/examples/systimer.rs index 19f3de39b11..c17922c627e 100644 --- a/esp32h2-hal/examples/systimer.rs +++ b/esp32h2-hal/examples/systimer.rs @@ -35,7 +35,7 @@ fn main() -> ! { let alarm0 = syst.alarm0.into_periodic(); alarm0.set_period(1u32.secs()); - alarm0.interrupt_clear(); + alarm0.clear_interrupt(); alarm0.enable_interrupt(true); let alarm1 = syst.alarm1; @@ -85,7 +85,7 @@ fn SYSTIMER_TARGET0() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -97,7 +97,7 @@ fn SYSTIMER_TARGET1() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -109,6 +109,6 @@ fn SYSTIMER_TARGET2() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } diff --git a/esp32s2-hal/examples/sha.rs b/esp32s2-hal/examples/sha.rs index 904eec60b6f..4f6b7e1a74e 100644 --- a/esp32s2-hal/examples/sha.rs +++ b/esp32s2-hal/examples/sha.rs @@ -23,7 +23,7 @@ fn main() -> ! { let _clocks = ClockControl::boot_defaults(system.clock_control).freeze(); let source_data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".as_bytes(); - let mut remaining = source_data.clone(); + let mut remaining = source_data; let mut hasher = Sha::new(peripherals.SHA, ShaMode::SHA512); // Short hashes can be created by decreasing the output buffer to the desired diff --git a/esp32s2-hal/examples/systimer.rs b/esp32s2-hal/examples/systimer.rs index 71ac44e6b88..93455e4b106 100644 --- a/esp32s2-hal/examples/systimer.rs +++ b/esp32s2-hal/examples/systimer.rs @@ -84,7 +84,7 @@ fn SYSTIMER_TARGET0() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -96,7 +96,7 @@ fn SYSTIMER_TARGET1() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -108,6 +108,6 @@ fn SYSTIMER_TARGET2() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } diff --git a/esp32s3-hal/examples/sha.rs b/esp32s3-hal/examples/sha.rs index 8d24d474fd3..b5a7eb76035 100644 --- a/esp32s3-hal/examples/sha.rs +++ b/esp32s3-hal/examples/sha.rs @@ -23,7 +23,7 @@ fn main() -> ! { let _clocks = ClockControl::boot_defaults(system.clock_control).freeze(); let source_data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".as_bytes(); - let mut remaining = source_data.clone(); + let mut remaining = source_data; let mut hasher = Sha::new(peripherals.SHA, ShaMode::SHA512); // Short hashes can be created by decreasing the output buffer to the desired diff --git a/esp32s3-hal/examples/systimer.rs b/esp32s3-hal/examples/systimer.rs index 5735dc9f4a0..328bb898ed1 100644 --- a/esp32s3-hal/examples/systimer.rs +++ b/esp32s3-hal/examples/systimer.rs @@ -84,7 +84,7 @@ fn SYSTIMER_TARGET0() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -96,7 +96,7 @@ fn SYSTIMER_TARGET1() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); } @@ -108,6 +108,6 @@ fn SYSTIMER_TARGET2() { .borrow_ref_mut(cs) .as_mut() .unwrap() - .interrupt_clear() + .clear_interrupt() }); }