Add embassy-cortex-m crate.
- Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`. - Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore) - Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
This commit is contained in:
@ -66,6 +66,7 @@ _gpio-p1 = []
|
||||
|
||||
[dependencies]
|
||||
embassy = { version = "0.1.0", path = "../embassy" }
|
||||
embassy-cortex-m = { version = "0.1.0", path = "../embassy-cortex-m", features = ["prio-bits-3"]}
|
||||
embassy-macros = { version = "0.1.0", path = "../embassy-macros", features = ["nrf"]}
|
||||
embassy-hal-common = {version = "0.1.0", path = "../embassy-hal-common" }
|
||||
embassy-usb = {version = "0.1.0", path = "../embassy-usb", optional=true }
|
||||
|
@ -13,15 +13,15 @@
|
||||
//!
|
||||
//! Please also see [crate::uarte] to understand when [BufferedUarte] should be used.
|
||||
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use core::cmp::min;
|
||||
use core::future::Future;
|
||||
use core::marker::PhantomData;
|
||||
use core::sync::atomic::{compiler_fence, Ordering};
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy::waitqueue::WakerRegistration;
|
||||
use embassy_hal_common::peripheral::{PeripheralMutex, PeripheralState, StateStorage};
|
||||
use embassy_cortex_m::peripheral::{PeripheralMutex, PeripheralState, StateStorage};
|
||||
use embassy_hal_common::ring_buffer::RingBuffer;
|
||||
use embassy_hal_common::{low_power_wait_until, unborrow};
|
||||
use futures::future::poll_fn;
|
||||
|
@ -198,7 +198,7 @@ impl_saadc_input!(P0_05, ANALOGINPUT3);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(POWER_CLOCK);
|
||||
declare!(RADIO);
|
||||
|
@ -219,7 +219,7 @@ impl_saadc_input!(P0_31, ANALOGINPUT7);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(POWER_CLOCK);
|
||||
declare!(RADIO);
|
||||
|
@ -220,7 +220,7 @@ impl_saadc_input!(P0_31, ANALOGINPUT7);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(POWER_CLOCK);
|
||||
declare!(RADIO);
|
||||
|
@ -212,7 +212,7 @@ impl_ppi_channel!(PPI_CH31, 31 => static);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(POWER_CLOCK);
|
||||
declare!(RADIO);
|
||||
|
@ -236,7 +236,7 @@ impl_saadc_input!(P0_31, ANALOGINPUT7);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(POWER_CLOCK);
|
||||
declare!(RADIO);
|
||||
|
@ -279,7 +279,7 @@ impl_saadc_input!(P0_31, ANALOGINPUT7);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(POWER_CLOCK);
|
||||
declare!(RADIO);
|
||||
|
@ -284,7 +284,7 @@ impl_saadc_input!(P0_31, ANALOGINPUT7);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(POWER_CLOCK);
|
||||
declare!(RADIO);
|
||||
|
@ -469,7 +469,7 @@ impl_saadc_input!(P0_20, ANALOGINPUT7);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(FPU);
|
||||
declare!(CACHE);
|
||||
|
@ -329,7 +329,7 @@ impl_ppi_channel!(PPI_CH31, 31 => configurable);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(CLOCK_POWER);
|
||||
declare!(RADIO);
|
||||
|
@ -347,7 +347,7 @@ impl_saadc_input!(P0_20, ANALOGINPUT7);
|
||||
|
||||
pub mod irqs {
|
||||
use crate::pac::Interrupt as InterruptEnum;
|
||||
use embassy_macros::interrupt_declare as declare;
|
||||
use embassy_macros::cortex_m_interrupt_declare as declare;
|
||||
|
||||
declare!(SPU);
|
||||
declare!(CLOCK_POWER);
|
||||
|
@ -4,8 +4,8 @@ use core::convert::Infallible;
|
||||
use core::hint::unreachable_unchecked;
|
||||
use core::marker::PhantomData;
|
||||
|
||||
use crate::Unborrow;
|
||||
use cfg_if::cfg_if;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy_hal_common::{unborrow, unsafe_impl_unborrow};
|
||||
|
||||
use crate::pac;
|
||||
|
@ -1,8 +1,8 @@
|
||||
use crate::interrupt::{Interrupt, InterruptExt};
|
||||
use core::convert::Infallible;
|
||||
use core::future::Future;
|
||||
use core::marker::PhantomData;
|
||||
use core::task::{Context, Poll};
|
||||
use embassy::interrupt::{Interrupt, InterruptExt};
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::unsafe_impl_unborrow;
|
||||
use futures::future::poll_fn;
|
||||
|
@ -114,23 +114,23 @@ mod chip;
|
||||
|
||||
pub use chip::EASY_DMA_SIZE;
|
||||
|
||||
pub mod interrupt {
|
||||
pub use crate::chip::irqs::*;
|
||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||
pub use embassy_cortex_m::interrupt::*;
|
||||
}
|
||||
|
||||
// Reexports
|
||||
|
||||
#[cfg(feature = "unstable-pac")]
|
||||
pub use chip::pac;
|
||||
#[cfg(not(feature = "unstable-pac"))]
|
||||
pub(crate) use chip::pac;
|
||||
|
||||
pub use embassy::util::Unborrow;
|
||||
pub use embassy_hal_common::unborrow;
|
||||
|
||||
pub use chip::{peripherals, Peripherals};
|
||||
|
||||
pub mod interrupt {
|
||||
pub use crate::chip::irqs::*;
|
||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||
pub use embassy_hal_common::interrupt::Priority3 as Priority;
|
||||
}
|
||||
pub use embassy_macros::interrupt;
|
||||
pub use embassy_cortex_m::executor;
|
||||
pub use embassy_hal_common::{unborrow, Unborrow};
|
||||
pub use embassy_macros::cortex_m_interrupt as interrupt;
|
||||
|
||||
pub mod config {
|
||||
pub enum HfclkSource {
|
||||
|
@ -3,10 +3,10 @@
|
||||
use crate::pac;
|
||||
use crate::peripherals::NVMC;
|
||||
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::ptr;
|
||||
use core::slice;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy_hal_common::unborrow;
|
||||
use embedded_storage::nor_flash::{
|
||||
ErrorType, MultiwriteNorFlash, NorFlash, NorFlashError, NorFlashErrorKind, ReadNorFlash,
|
||||
|
@ -1,6 +1,6 @@
|
||||
use core::marker::PhantomData;
|
||||
|
||||
use embassy::util::Unborrow;
|
||||
use crate::Unborrow;
|
||||
use embassy_hal_common::unborrow;
|
||||
|
||||
use crate::pac;
|
||||
|
@ -16,9 +16,9 @@
|
||||
//!
|
||||
|
||||
use crate::peripherals;
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::ptr::NonNull;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy_hal_common::unsafe_impl_unborrow;
|
||||
|
||||
#[cfg(feature = "_dppi")]
|
||||
|
@ -1,6 +1,6 @@
|
||||
use core::marker::PhantomData;
|
||||
|
||||
use embassy::util::Unborrow;
|
||||
use crate::Unborrow;
|
||||
use embassy_hal_common::unborrow;
|
||||
|
||||
use super::{Channel, ConfigurableChannel, Event, Ppi, StaticChannel, Task};
|
||||
|
@ -1,8 +1,8 @@
|
||||
#![macro_use]
|
||||
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::sync::atomic::{compiler_fence, Ordering};
|
||||
use embassy::util::Unborrow;
|
||||
use embassy_hal_common::unborrow;
|
||||
|
||||
use crate::gpio::sealed::Pin as _;
|
||||
|
@ -6,10 +6,10 @@ use crate::interrupt;
|
||||
use crate::pac;
|
||||
use crate::peripherals::QDEC;
|
||||
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::unborrow;
|
||||
use futures::future::poll_fn;
|
||||
|
@ -1,10 +1,10 @@
|
||||
#![macro_use]
|
||||
|
||||
use crate::interrupt::{Interrupt, InterruptExt};
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::ptr;
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::{Interrupt, InterruptExt};
|
||||
use embassy::util::Unborrow;
|
||||
use embassy_hal_common::drop::DropBomb;
|
||||
use embassy_hal_common::unborrow;
|
||||
use futures::future::poll_fn;
|
||||
|
@ -4,8 +4,8 @@ use core::sync::atomic::AtomicPtr;
|
||||
use core::sync::atomic::Ordering;
|
||||
use core::task::Poll;
|
||||
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::drop::OnDrop;
|
||||
use embassy_hal_common::unborrow;
|
||||
|
@ -1,10 +1,10 @@
|
||||
#![macro_use]
|
||||
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::sync::atomic::{compiler_fence, Ordering};
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::unborrow;
|
||||
use futures::future::poll_fn;
|
||||
|
@ -1,10 +1,10 @@
|
||||
#![macro_use]
|
||||
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::sync::atomic::{compiler_fence, Ordering};
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy_hal_common::unborrow;
|
||||
use futures::future::poll_fn;
|
||||
|
||||
|
@ -4,10 +4,10 @@ use crate::interrupt;
|
||||
use crate::pac;
|
||||
use crate::peripherals::TEMP;
|
||||
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::{drop::OnDrop, unborrow};
|
||||
use fixed::types::I30F2;
|
||||
|
@ -1,10 +1,10 @@
|
||||
use crate::interrupt::{Interrupt, InterruptExt};
|
||||
use core::cell::Cell;
|
||||
use core::sync::atomic::{compiler_fence, AtomicU32, AtomicU8, Ordering};
|
||||
use core::{mem, ptr};
|
||||
use critical_section::CriticalSection;
|
||||
use embassy::blocking_mutex::raw::CriticalSectionRawMutex;
|
||||
use embassy::blocking_mutex::CriticalSectionMutex as Mutex;
|
||||
use embassy::interrupt::{Interrupt, InterruptExt};
|
||||
use embassy::time::driver::{AlarmHandle, Driver};
|
||||
|
||||
use crate::interrupt;
|
||||
|
@ -3,9 +3,9 @@
|
||||
use core::marker::PhantomData;
|
||||
use core::task::Poll;
|
||||
|
||||
use embassy::interrupt::Interrupt;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use crate::interrupt::Interrupt;
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::drop::OnDrop;
|
||||
use embassy_hal_common::unborrow;
|
||||
|
@ -6,14 +6,14 @@
|
||||
//!
|
||||
//! - nRF52832: Section 33
|
||||
//! - nRF52840: Section 6.31
|
||||
use crate::interrupt::{Interrupt, InterruptExt};
|
||||
use crate::Unborrow;
|
||||
use core::future::Future;
|
||||
use core::marker::PhantomData;
|
||||
use core::sync::atomic::{compiler_fence, Ordering::SeqCst};
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::{Interrupt, InterruptExt};
|
||||
#[cfg(feature = "time")]
|
||||
use embassy::time::{Duration, Instant};
|
||||
use embassy::util::Unborrow;
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::unborrow;
|
||||
use futures::future::poll_fn;
|
||||
|
@ -13,11 +13,11 @@
|
||||
//! memory may be used given that buffers are passed in directly to its read and write
|
||||
//! methods.
|
||||
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::sync::atomic::{compiler_fence, Ordering};
|
||||
use core::task::Poll;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy_hal_common::drop::OnDrop;
|
||||
use embassy_hal_common::unborrow;
|
||||
use futures::future::poll_fn;
|
||||
|
@ -1,12 +1,12 @@
|
||||
#![macro_use]
|
||||
|
||||
use crate::interrupt::InterruptExt;
|
||||
use crate::Unborrow;
|
||||
use core::marker::PhantomData;
|
||||
use core::mem::MaybeUninit;
|
||||
use core::sync::atomic::{compiler_fence, AtomicU32, Ordering};
|
||||
use core::task::Poll;
|
||||
use cortex_m::peripheral::NVIC;
|
||||
use embassy::interrupt::InterruptExt;
|
||||
use embassy::util::Unborrow;
|
||||
use embassy::waitqueue::AtomicWaker;
|
||||
use embassy_hal_common::unborrow;
|
||||
use embassy_usb::driver::{self, EndpointError, Event, Unsupported};
|
||||
|
Reference in New Issue
Block a user