mirror of
https://github.com/embassy-rs/embassy.git
synced 2025-09-28 21:01:06 +00:00
Statically allocate task pools on stable Rust.
Thanks @0e4ef622 for the awesome idea of how to do it and the first implementation. Co-Authored-By: Matthew Tran <0e4ef622@gmail.com>
This commit is contained in:
parent
bda7ba7b14
commit
695a6da322
@ -145,9 +145,43 @@ pub fn run(args: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
};
|
};
|
||||||
#[cfg(not(feature = "nightly"))]
|
#[cfg(not(feature = "nightly"))]
|
||||||
let mut task_outer_body = quote! {
|
let mut task_outer_body = quote! {
|
||||||
|
const fn __task_pool_size<F, Args>(_: F) -> usize
|
||||||
|
where
|
||||||
|
F: #embassy_executor::_export::TaskFn<Args>,
|
||||||
|
{
|
||||||
|
::core::mem::size_of::<
|
||||||
|
#embassy_executor::raw::TaskPool<F::Fut, POOL_SIZE>
|
||||||
|
>()
|
||||||
|
}
|
||||||
|
const fn __task_pool_align<F, Args>(_: F) -> usize
|
||||||
|
where
|
||||||
|
F: #embassy_executor::_export::TaskFn<Args>,
|
||||||
|
{
|
||||||
|
::core::mem::align_of::<
|
||||||
|
#embassy_executor::raw::TaskPool<F::Fut, POOL_SIZE>
|
||||||
|
>()
|
||||||
|
}
|
||||||
|
|
||||||
|
const fn __task_pool_new<F, Args>(_: F) -> #embassy_executor::raw::TaskPool<F::Fut, POOL_SIZE>
|
||||||
|
where
|
||||||
|
F: #embassy_executor::_export::TaskFn<Args>,
|
||||||
|
{
|
||||||
|
#embassy_executor::raw::TaskPool::new()
|
||||||
|
}
|
||||||
|
|
||||||
|
const fn __task_pool_get<F, Args>(_: F) -> &'static #embassy_executor::raw::TaskPool<F::Fut, POOL_SIZE>
|
||||||
|
where
|
||||||
|
F: #embassy_executor::_export::TaskFn<Args>
|
||||||
|
{
|
||||||
|
unsafe { &*POOL.get().cast() }
|
||||||
|
}
|
||||||
|
|
||||||
const POOL_SIZE: usize = #pool_size;
|
const POOL_SIZE: usize = #pool_size;
|
||||||
static POOL: #embassy_executor::_export::TaskPoolRef = #embassy_executor::_export::TaskPoolRef::new();
|
static POOL: #embassy_executor::_export::TaskPoolHolder<
|
||||||
unsafe { POOL.get::<_, POOL_SIZE>()._spawn_async_fn(move || #task_inner_ident(#(#full_args,)*)) }
|
{__task_pool_size(#task_inner_ident)},
|
||||||
|
{__task_pool_align(#task_inner_ident)},
|
||||||
|
> = unsafe { ::core::mem::transmute(__task_pool_new(#task_inner_ident)) };
|
||||||
|
unsafe { __task_pool_get(#task_inner_ident)._spawn_async_fn(move || #task_inner_ident(#(#full_args,)*)) }
|
||||||
};
|
};
|
||||||
|
|
||||||
let task_outer_attrs = task_inner.attrs.clone();
|
let task_outer_attrs = task_inner.attrs.clone();
|
||||||
|
@ -108,98 +108,3 @@ timer-item-payload-size-2 = ["_timer-item-payload"]
|
|||||||
timer-item-payload-size-4 = ["_timer-item-payload"]
|
timer-item-payload-size-4 = ["_timer-item-payload"]
|
||||||
## 8 bytes
|
## 8 bytes
|
||||||
timer-item-payload-size-8 = ["_timer-item-payload"]
|
timer-item-payload-size-8 = ["_timer-item-payload"]
|
||||||
|
|
||||||
#! ### Task Arena Size
|
|
||||||
#! Sets the [task arena](#task-arena) size. Necessary if you’re not using `nightly`.
|
|
||||||
#!
|
|
||||||
#! <details>
|
|
||||||
#! <summary>Preconfigured Task Arena Sizes:</summary>
|
|
||||||
#! <!-- rustdoc requires the following blank line for the feature list to render correctly! -->
|
|
||||||
#!
|
|
||||||
|
|
||||||
# BEGIN AUTOGENERATED CONFIG FEATURES
|
|
||||||
# Generated by gen_config.py. DO NOT EDIT.
|
|
||||||
## 64
|
|
||||||
task-arena-size-64 = []
|
|
||||||
## 128
|
|
||||||
task-arena-size-128 = []
|
|
||||||
## 192
|
|
||||||
task-arena-size-192 = []
|
|
||||||
## 256
|
|
||||||
task-arena-size-256 = []
|
|
||||||
## 320
|
|
||||||
task-arena-size-320 = []
|
|
||||||
## 384
|
|
||||||
task-arena-size-384 = []
|
|
||||||
## 512
|
|
||||||
task-arena-size-512 = []
|
|
||||||
## 640
|
|
||||||
task-arena-size-640 = []
|
|
||||||
## 768
|
|
||||||
task-arena-size-768 = []
|
|
||||||
## 1024
|
|
||||||
task-arena-size-1024 = []
|
|
||||||
## 1280
|
|
||||||
task-arena-size-1280 = []
|
|
||||||
## 1536
|
|
||||||
task-arena-size-1536 = []
|
|
||||||
## 2048
|
|
||||||
task-arena-size-2048 = []
|
|
||||||
## 2560
|
|
||||||
task-arena-size-2560 = []
|
|
||||||
## 3072
|
|
||||||
task-arena-size-3072 = []
|
|
||||||
## 4096 (default)
|
|
||||||
task-arena-size-4096 = [] # Default
|
|
||||||
## 5120
|
|
||||||
task-arena-size-5120 = []
|
|
||||||
## 6144
|
|
||||||
task-arena-size-6144 = []
|
|
||||||
## 8192
|
|
||||||
task-arena-size-8192 = []
|
|
||||||
## 10240
|
|
||||||
task-arena-size-10240 = []
|
|
||||||
## 12288
|
|
||||||
task-arena-size-12288 = []
|
|
||||||
## 16384
|
|
||||||
task-arena-size-16384 = []
|
|
||||||
## 20480
|
|
||||||
task-arena-size-20480 = []
|
|
||||||
## 24576
|
|
||||||
task-arena-size-24576 = []
|
|
||||||
## 32768
|
|
||||||
task-arena-size-32768 = []
|
|
||||||
## 40960
|
|
||||||
task-arena-size-40960 = []
|
|
||||||
## 49152
|
|
||||||
task-arena-size-49152 = []
|
|
||||||
## 65536
|
|
||||||
task-arena-size-65536 = []
|
|
||||||
## 81920
|
|
||||||
task-arena-size-81920 = []
|
|
||||||
## 98304
|
|
||||||
task-arena-size-98304 = []
|
|
||||||
## 131072
|
|
||||||
task-arena-size-131072 = []
|
|
||||||
## 163840
|
|
||||||
task-arena-size-163840 = []
|
|
||||||
## 196608
|
|
||||||
task-arena-size-196608 = []
|
|
||||||
## 262144
|
|
||||||
task-arena-size-262144 = []
|
|
||||||
## 327680
|
|
||||||
task-arena-size-327680 = []
|
|
||||||
## 393216
|
|
||||||
task-arena-size-393216 = []
|
|
||||||
## 524288
|
|
||||||
task-arena-size-524288 = []
|
|
||||||
## 655360
|
|
||||||
task-arena-size-655360 = []
|
|
||||||
## 786432
|
|
||||||
task-arena-size-786432 = []
|
|
||||||
## 1048576
|
|
||||||
task-arena-size-1048576 = []
|
|
||||||
|
|
||||||
# END AUTOGENERATED CONFIG FEATURES
|
|
||||||
|
|
||||||
#! </details>
|
|
||||||
|
@ -3,35 +3,10 @@
|
|||||||
An async/await executor designed for embedded usage.
|
An async/await executor designed for embedded usage.
|
||||||
|
|
||||||
- No `alloc`, no heap needed.
|
- No `alloc`, no heap needed.
|
||||||
- With nightly Rust, task futures can be fully statically allocated.
|
- Tasks are statically allocated. Each task gets its own `static`, with the exact size to hold the task (or multiple instances of it, if using `pool_size`) calculated automatically at compile time. If tasks don't fit in RAM, this is detected at compile time by the linker. Runtime panics due to running out of memory are not possible.
|
||||||
- No "fixed capacity" data structures, executor works with 1 or 1000 tasks without needing config/tuning.
|
- No "fixed capacity" data structures, executor works with 1 or 1000 tasks without needing config/tuning.
|
||||||
- Integrated timer queue: sleeping is easy, just do `Timer::after_secs(1).await;`.
|
- Integrated timer queue: sleeping is easy, just do `Timer::after_secs(1).await;`.
|
||||||
- No busy-loop polling: CPU sleeps when there's no work to do, using interrupts or `WFE/SEV`.
|
- No busy-loop polling: CPU sleeps when there's no work to do, using interrupts or `WFE/SEV`.
|
||||||
- Efficient polling: a wake will only poll the woken task, not all of them.
|
- Efficient polling: a wake will only poll the woken task, not all of them.
|
||||||
- Fair: a task can't monopolize CPU time even if it's constantly being woken. All other tasks get a chance to run before a given task gets polled for the second time.
|
- Fair: a task can't monopolize CPU time even if it's constantly being woken. All other tasks get a chance to run before a given task gets polled for the second time.
|
||||||
- Creating multiple executor instances is supported, to run tasks with multiple priority levels. This allows higher-priority tasks to preempt lower-priority tasks.
|
- Creating multiple executor instances is supported, to run tasks with multiple priority levels. This allows higher-priority tasks to preempt lower-priority tasks.
|
||||||
|
|
||||||
## Task arena
|
|
||||||
|
|
||||||
When the `nightly` Cargo feature is not enabled, `embassy-executor` allocates tasks out of an arena (a very simple bump allocator).
|
|
||||||
|
|
||||||
If the task arena gets full, the program will panic at runtime. To guarantee this doesn't happen, you must set the size to the sum of sizes of all tasks.
|
|
||||||
|
|
||||||
Tasks are allocated from the arena when spawned for the first time. If the task exits, the allocation is not released to the arena, but can be reused to spawn the task again. For multiple-instance tasks (like `#[embassy_executor::task(pool_size = 4)]`), the first spawn will allocate memory for all instances. This is done for performance and to increase predictability (for example, spawning at least 1 instance of every task at boot guarantees an immediate panic if the arena is too small, while allocating instances on-demand could delay the panic to only when the program is under load).
|
|
||||||
|
|
||||||
The arena size can be configured in two ways:
|
|
||||||
|
|
||||||
- Via Cargo features: enable a Cargo feature like `task-arena-size-8192`. Only a selection of values
|
|
||||||
is available, see [Task Area Sizes](#task-arena-size) for reference.
|
|
||||||
- Via environment variables at build time: set the variable named `EMBASSY_EXECUTOR_TASK_ARENA_SIZE`. For example
|
|
||||||
`EMBASSY_EXECUTOR_TASK_ARENA_SIZE=4321 cargo build`. You can also set them in the `[env]` section of `.cargo/config.toml`.
|
|
||||||
Any value can be set, unlike with Cargo features.
|
|
||||||
|
|
||||||
Environment variables take precedence over Cargo features. If two Cargo features are enabled for the same setting
|
|
||||||
with different values, compilation fails.
|
|
||||||
|
|
||||||
## Statically allocating tasks
|
|
||||||
|
|
||||||
When using nightly Rust, enable the `nightly` Cargo feature. This will make `embassy-executor` use the `type_alias_impl_trait` feature to allocate all tasks in `static`s. Each task gets its own `static`, with the exact size to hold the task (or multiple instances of it, if using `pool_size`) calculated automatically at compile time. If tasks don't fit in RAM, this is detected at compile time by the linker. Runtime panics due to running out of memory are not possible.
|
|
||||||
|
|
||||||
The configured arena size is ignored, no arena is used at all.
|
|
||||||
|
@ -1,99 +1,7 @@
|
|||||||
use std::collections::HashMap;
|
|
||||||
use std::fmt::Write;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use std::{env, fs};
|
|
||||||
|
|
||||||
#[path = "./build_common.rs"]
|
#[path = "./build_common.rs"]
|
||||||
mod common;
|
mod common;
|
||||||
|
|
||||||
static CONFIGS: &[(&str, usize)] = &[
|
|
||||||
// BEGIN AUTOGENERATED CONFIG FEATURES
|
|
||||||
// Generated by gen_config.py. DO NOT EDIT.
|
|
||||||
("TASK_ARENA_SIZE", 4096),
|
|
||||||
// END AUTOGENERATED CONFIG FEATURES
|
|
||||||
];
|
|
||||||
|
|
||||||
struct ConfigState {
|
|
||||||
value: usize,
|
|
||||||
seen_feature: bool,
|
|
||||||
seen_env: bool,
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let crate_name = env::var("CARGO_PKG_NAME")
|
|
||||||
.unwrap()
|
|
||||||
.to_ascii_uppercase()
|
|
||||||
.replace('-', "_");
|
|
||||||
|
|
||||||
// only rebuild if build.rs changed. Otherwise Cargo will rebuild if any
|
|
||||||
// other file changed.
|
|
||||||
println!("cargo:rerun-if-changed=build.rs");
|
|
||||||
|
|
||||||
// Rebuild if config envvar changed.
|
|
||||||
for (name, _) in CONFIGS {
|
|
||||||
println!("cargo:rerun-if-env-changed={crate_name}_{name}");
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut configs = HashMap::new();
|
|
||||||
for (name, default) in CONFIGS {
|
|
||||||
configs.insert(
|
|
||||||
*name,
|
|
||||||
ConfigState {
|
|
||||||
value: *default,
|
|
||||||
seen_env: false,
|
|
||||||
seen_feature: false,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
let prefix = format!("{crate_name}_");
|
|
||||||
for (var, value) in env::vars() {
|
|
||||||
if let Some(name) = var.strip_prefix(&prefix) {
|
|
||||||
let Some(cfg) = configs.get_mut(name) else {
|
|
||||||
panic!("Unknown env var {name}")
|
|
||||||
};
|
|
||||||
|
|
||||||
let Ok(value) = value.parse::<usize>() else {
|
|
||||||
panic!("Invalid value for env var {name}: {value}")
|
|
||||||
};
|
|
||||||
|
|
||||||
cfg.value = value;
|
|
||||||
cfg.seen_env = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(feature) = var.strip_prefix("CARGO_FEATURE_") {
|
|
||||||
if let Some(i) = feature.rfind('_') {
|
|
||||||
let name = &feature[..i];
|
|
||||||
let value = &feature[i + 1..];
|
|
||||||
if let Some(cfg) = configs.get_mut(name) {
|
|
||||||
let Ok(value) = value.parse::<usize>() else {
|
|
||||||
panic!("Invalid value for feature {name}: {value}")
|
|
||||||
};
|
|
||||||
|
|
||||||
// envvars take priority.
|
|
||||||
if !cfg.seen_env {
|
|
||||||
if cfg.seen_feature {
|
|
||||||
panic!("multiple values set for feature {}: {} and {}", name, cfg.value, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
cfg.value = value;
|
|
||||||
cfg.seen_feature = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut data = String::new();
|
|
||||||
|
|
||||||
for (name, cfg) in &configs {
|
|
||||||
writeln!(&mut data, "pub const {}: usize = {};", name, cfg.value).unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
let out_dir = PathBuf::from(env::var_os("OUT_DIR").unwrap());
|
|
||||||
let out_file = out_dir.join("config.rs").to_string_lossy().to_string();
|
|
||||||
fs::write(out_file, data).unwrap();
|
|
||||||
|
|
||||||
let mut rustc_cfgs = common::CfgSet::new();
|
let mut rustc_cfgs = common::CfgSet::new();
|
||||||
common::set_target_cfgs(&mut rustc_cfgs);
|
common::set_target_cfgs(&mut rustc_cfgs);
|
||||||
}
|
}
|
||||||
|
@ -50,101 +50,129 @@ pub mod raw;
|
|||||||
mod spawner;
|
mod spawner;
|
||||||
pub use spawner::*;
|
pub use spawner::*;
|
||||||
|
|
||||||
mod config {
|
|
||||||
#![allow(unused)]
|
|
||||||
include!(concat!(env!("OUT_DIR"), "/config.rs"));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Implementation details for embassy macros.
|
/// Implementation details for embassy macros.
|
||||||
/// Do not use. Used for macros and HALs only. Not covered by semver guarantees.
|
/// Do not use. Used for macros and HALs only. Not covered by semver guarantees.
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[cfg(not(feature = "nightly"))]
|
#[cfg(not(feature = "nightly"))]
|
||||||
pub mod _export {
|
pub mod _export {
|
||||||
use core::alloc::Layout;
|
use core::cell::UnsafeCell;
|
||||||
use core::cell::{Cell, UnsafeCell};
|
|
||||||
use core::future::Future;
|
use core::future::Future;
|
||||||
use core::mem::MaybeUninit;
|
use core::mem::MaybeUninit;
|
||||||
use core::ptr::null_mut;
|
|
||||||
|
|
||||||
use critical_section::{CriticalSection, Mutex};
|
pub trait TaskFn<Args>: Copy {
|
||||||
|
type Fut: Future + 'static;
|
||||||
use crate::raw::TaskPool;
|
|
||||||
|
|
||||||
struct Arena<const N: usize> {
|
|
||||||
buf: UnsafeCell<MaybeUninit<[u8; N]>>,
|
|
||||||
ptr: Mutex<Cell<*mut u8>>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe impl<const N: usize> Sync for Arena<N> {}
|
macro_rules! task_fn_impl {
|
||||||
unsafe impl<const N: usize> Send for Arena<N> {}
|
($($Tn:ident),*) => {
|
||||||
|
impl<F, Fut, $($Tn,)*> TaskFn<($($Tn,)*)> for F
|
||||||
impl<const N: usize> Arena<N> {
|
where
|
||||||
const fn new() -> Self {
|
F: Copy + FnOnce($($Tn,)*) -> Fut,
|
||||||
Self {
|
Fut: Future + 'static,
|
||||||
buf: UnsafeCell::new(MaybeUninit::uninit()),
|
{
|
||||||
ptr: Mutex::new(Cell::new(null_mut())),
|
type Fut = Fut;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
|
||||||
fn alloc<T>(&'static self, cs: CriticalSection) -> &'static mut MaybeUninit<T> {
|
task_fn_impl!();
|
||||||
let layout = Layout::new::<T>();
|
task_fn_impl!(T0);
|
||||||
|
task_fn_impl!(T0, T1);
|
||||||
|
task_fn_impl!(T0, T1, T2);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14);
|
||||||
|
task_fn_impl!(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15);
|
||||||
|
|
||||||
let start = self.buf.get().cast::<u8>();
|
#[allow(private_bounds)]
|
||||||
let end = unsafe { start.add(N) };
|
#[repr(C)]
|
||||||
|
pub struct TaskPoolHolder<const SIZE: usize, const ALIGN: usize>
|
||||||
|
where
|
||||||
|
Align<ALIGN>: Alignment,
|
||||||
|
{
|
||||||
|
data: UnsafeCell<[MaybeUninit<u8>; SIZE]>,
|
||||||
|
align: Align<ALIGN>,
|
||||||
|
}
|
||||||
|
|
||||||
let mut ptr = self.ptr.borrow(cs).get();
|
unsafe impl<const SIZE: usize, const ALIGN: usize> Send for TaskPoolHolder<SIZE, ALIGN> where Align<ALIGN>: Alignment {}
|
||||||
if ptr.is_null() {
|
unsafe impl<const SIZE: usize, const ALIGN: usize> Sync for TaskPoolHolder<SIZE, ALIGN> where Align<ALIGN>: Alignment {}
|
||||||
ptr = self.buf.get().cast::<u8>();
|
|
||||||
}
|
|
||||||
|
|
||||||
let bytes_left = (end as usize) - (ptr as usize);
|
#[allow(private_bounds)]
|
||||||
let align_offset = (ptr as usize).next_multiple_of(layout.align()) - (ptr as usize);
|
impl<const SIZE: usize, const ALIGN: usize> TaskPoolHolder<SIZE, ALIGN>
|
||||||
|
where
|
||||||
if align_offset + layout.size() > bytes_left {
|
Align<ALIGN>: Alignment,
|
||||||
panic!("embassy-executor: task arena is full. You must increase the arena size, see the documentation for details: https://docs.embassy.dev/embassy-executor/");
|
{
|
||||||
}
|
pub const fn get(&self) -> *const u8 {
|
||||||
|
self.data.get().cast()
|
||||||
let res = unsafe { ptr.add(align_offset) };
|
|
||||||
let ptr = unsafe { ptr.add(align_offset + layout.size()) };
|
|
||||||
|
|
||||||
self.ptr.borrow(cs).set(ptr);
|
|
||||||
|
|
||||||
unsafe { &mut *(res as *mut MaybeUninit<T>) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static ARENA: Arena<{ crate::config::TASK_ARENA_SIZE }> = Arena::new();
|
#[allow(private_bounds)]
|
||||||
|
#[repr(transparent)]
|
||||||
|
pub struct Align<const N: usize>([<Self as Alignment>::Archetype; 0])
|
||||||
|
where
|
||||||
|
Self: Alignment;
|
||||||
|
|
||||||
pub struct TaskPoolRef {
|
trait Alignment {
|
||||||
// type-erased `&'static mut TaskPool<F, N>`
|
/// A zero-sized type of particular alignment.
|
||||||
// Needed because statics can't have generics.
|
type Archetype: Copy + Eq + PartialEq + Send + Sync + Unpin;
|
||||||
ptr: Mutex<Cell<*mut ()>>,
|
|
||||||
}
|
}
|
||||||
unsafe impl Sync for TaskPoolRef {}
|
|
||||||
unsafe impl Send for TaskPoolRef {}
|
|
||||||
|
|
||||||
impl TaskPoolRef {
|
macro_rules! aligns {
|
||||||
pub const fn new() -> Self {
|
($($AlignX:ident: $n:literal,)*) => {
|
||||||
Self {
|
$(
|
||||||
ptr: Mutex::new(Cell::new(null_mut())),
|
#[derive(Copy, Clone, Eq, PartialEq)]
|
||||||
}
|
#[repr(align($n))]
|
||||||
}
|
struct $AlignX {}
|
||||||
|
impl Alignment for Align<$n> {
|
||||||
/// Get the pool for this ref, allocating it from the arena the first time.
|
type Archetype = $AlignX;
|
||||||
///
|
|
||||||
/// safety: for a given TaskPoolRef instance, must always call with the exact
|
|
||||||
/// same generic params.
|
|
||||||
pub unsafe fn get<F: Future, const N: usize>(&'static self) -> &'static TaskPool<F, N> {
|
|
||||||
critical_section::with(|cs| {
|
|
||||||
let ptr = self.ptr.borrow(cs);
|
|
||||||
if ptr.get().is_null() {
|
|
||||||
let pool = ARENA.alloc::<TaskPool<F, N>>(cs);
|
|
||||||
pool.write(TaskPool::new());
|
|
||||||
ptr.set(pool as *mut _ as _);
|
|
||||||
}
|
}
|
||||||
|
)*
|
||||||
unsafe { &*(ptr.get() as *const _) }
|
};
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
aligns!(
|
||||||
|
Align1: 1,
|
||||||
|
Align2: 2,
|
||||||
|
Align4: 4,
|
||||||
|
Align8: 8,
|
||||||
|
Align16: 16,
|
||||||
|
Align32: 32,
|
||||||
|
Align64: 64,
|
||||||
|
Align128: 128,
|
||||||
|
Align256: 256,
|
||||||
|
Align512: 512,
|
||||||
|
Align1024: 1024,
|
||||||
|
Align2048: 2048,
|
||||||
|
Align4096: 4096,
|
||||||
|
Align8192: 8192,
|
||||||
|
Align16384: 16384,
|
||||||
|
);
|
||||||
|
#[cfg(any(target_pointer_width = "32", target_pointer_width = "64"))]
|
||||||
|
aligns!(
|
||||||
|
Align32768: 32768,
|
||||||
|
Align65536: 65536,
|
||||||
|
Align131072: 131072,
|
||||||
|
Align262144: 262144,
|
||||||
|
Align524288: 524288,
|
||||||
|
Align1048576: 1048576,
|
||||||
|
Align2097152: 2097152,
|
||||||
|
Align4194304: 4194304,
|
||||||
|
Align8388608: 8388608,
|
||||||
|
Align16777216: 16777216,
|
||||||
|
Align33554432: 33554432,
|
||||||
|
Align67108864: 67108864,
|
||||||
|
Align134217728: 134217728,
|
||||||
|
Align268435456: 268435456,
|
||||||
|
Align536870912: 536870912,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] }
|
embassy-nrf = { version = "0.3.1", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] }
|
||||||
embassy-boot = { version = "0.4.0", path = "../../../../embassy-boot", features = [] }
|
embassy-boot = { version = "0.4.0", path = "../../../../embassy-boot", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [] }
|
||||||
embassy-rp = { version = "0.4.0", path = "../../../../embassy-rp", features = ["time-driver", "rp2040"] }
|
embassy-rp = { version = "0.4.0", path = "../../../../embassy-rp", features = ["time-driver", "rp2040"] }
|
||||||
embassy-boot-rp = { version = "0.5.0", path = "../../../../embassy-boot-rp", features = [] }
|
embassy-boot-rp = { version = "0.5.0", path = "../../../../embassy-boot-rp", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32" }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32" }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
embassy-sync = { version = "0.6.2", path = "../../../../embassy-sync" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread"] }
|
embassy-executor = { version = "0.7.0", path = "../../../../embassy-executor", features = ["arch-cortex-m", "executor-thread"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] }
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] }
|
||||||
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] }
|
||||||
|
@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-nxp = { version = "0.1.0", path = "../../embassy-nxp", features = ["rt"] }
|
embassy-nxp = { version = "0.1.0", path = "../../embassy-nxp", features = ["rt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
||||||
panic-halt = "0.2.0"
|
panic-halt = "0.2.0"
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0c110x", "rt", "time-driver-any"] }
|
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0c110x", "rt", "time-driver-any"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-128", "arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
||||||
panic-halt = "0.2.0"
|
panic-halt = "0.2.0"
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g350x", "rt", "time-driver-any"] }
|
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g350x", "rt", "time-driver-any"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
||||||
panic-halt = "0.2.0"
|
panic-halt = "0.2.0"
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g351x", "rt", "time-driver-any"] }
|
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g351x", "rt", "time-driver-any"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
||||||
panic-halt = "0.2.0"
|
panic-halt = "0.2.0"
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l130x", "rt", "time-driver-any"] }
|
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l130x", "rt", "time-driver-any"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-1024", "arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
||||||
panic-halt = "0.2.0"
|
panic-halt = "0.2.0"
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l222x", "rt", "time-driver-any"] }
|
embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l222x", "rt", "time-driver-any"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-1024", "arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt"] }
|
||||||
panic-halt = "0.2.0"
|
panic-halt = "0.2.0"
|
||||||
|
@ -5,7 +5,7 @@ version = "0.1.0"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] }
|
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] }
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
||||||
|
@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] }
|
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
||||||
|
@ -5,7 +5,7 @@ version = "0.1.0"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf54l15-app-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf54l15-app-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ version = "0.1.0"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
embassy-nrf = { version = "0.3.1", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ version = "0.1.0"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
embassy-nrf = { version = "0.3.1", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ version = "0.1.0"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
embassy-nrf = { version = "0.3.1", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] }
|
||||||
embassy-net-nrf91 = { version = "0.1.0", path = "../../embassy-net-nrf91", features = ["defmt"] }
|
embassy-net-nrf91 = { version = "0.1.0", path = "../../embassy-net-nrf91", features = ["defmt"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal", features = ["defmt"] }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal", features = ["defmt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp2040"] }
|
embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp2040"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal", features = ["defmt"] }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal", features = ["defmt"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] }
|
||||||
embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp235xa", "binary-info"] }
|
embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp235xa", "binary-info"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["log"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["log"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-std", "executor-thread", "log"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-std", "executor-thread", "log"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["log", "std", ] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["log", "std", ] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features=[ "log", "medium-ethernet", "medium-ip", "tcp", "udp", "dns", "dhcpv4", "proto-ipv6"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features=[ "log", "medium-ethernet", "medium-ip", "tcp", "udp", "dns", "dhcpv4", "proto-ipv6"] }
|
||||||
embassy-net-tuntap = { version = "0.1.0", path = "../../embassy-net-tuntap" }
|
embassy-net-tuntap = { version = "0.1.0", path = "../../embassy-net-tuntap" }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32f429zi to your chip name, if necessary.
|
# Change stm32f429zi to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-tim4", "exti", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-tim4", "exti", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt" ] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt" ] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] }
|
||||||
|
@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
# Specific examples only for stm32f469
|
# Specific examples only for stm32f469
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32f469ni", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32f469ni", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
|
|
||||||
defmt = "0.3"
|
defmt = "0.3"
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32f777zi to your chip name, if necessary.
|
# Change stm32f777zi to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32f777zi", "memory-x", "unstable-pac", "time-driver-any", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32f777zi", "memory-x", "unstable-pac", "time-driver-any", "exti"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
||||||
embedded-io-async = { version = "0.6.1" }
|
embedded-io-async = { version = "0.6.1" }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32h563zi to your chip name, if necessary.
|
# Change stm32h563zi to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac", "low-power"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac", "low-power"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32h723zg to your chip name, if necessary.
|
# Change stm32h723zg to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h723zg", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h723zg", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm4", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm4", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm7", "time-driver-tim3", "exti", "memory-x", "unstable-pac", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm7", "time-driver-tim3", "exti", "memory-x", "unstable-pac", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7b0vb", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7b0vb", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32h743bi to your chip name, if necessary.
|
# Change stm32h743bi to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7s3l8", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7s3l8", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "medium-ethernet", "medium-ip", "proto-ipv4"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "medium-ethernet", "medium-ip", "proto-ipv4"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32l4s5vi to your chip name, if necessary.
|
# Change stm32l4s5vi to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l4r5zi", "memory-x", "time-driver-any", "exti", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l4r5zi", "memory-x", "time-driver-any", "exti", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] }
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32l4s5vi to your chip name, if necessary.
|
# Change stm32l4s5vi to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l432kc", "memory-x", "time-driver-any", "exti", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l432kc", "memory-x", "time-driver-any", "exti", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = [ "defmt" ] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = [ "defmt" ] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = [ "task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt" ] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = [ "arch-cortex-m", "executor-thread", "defmt" ] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "tick-hz-32_768" ] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "tick-hz-32_768" ] }
|
||||||
defmt = "0.3"
|
defmt = "0.3"
|
||||||
defmt-rtt = "0.4"
|
defmt-rtt = "0.4"
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32l552ze to your chip name, if necessary.
|
# Change stm32l552ze to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l552ze", "time-driver-any", "exti", "memory-x", "low-power"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l552ze", "time-driver-any", "exti", "memory-x", "low-power"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] }
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32u5g9zj to your chip name, if necessary.
|
# Change stm32u5g9zj to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32u5g9zj", "time-driver-any", "memory-x" ] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32u5g9zj", "time-driver-any", "memory-x" ] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt"] }
|
||||||
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
||||||
|
@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wb55rg", "time-driver-any", "memory-x", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wb55rg", "time-driver-any", "memory-x", "exti"] }
|
||||||
embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", features = ["defmt", "stm32wb55rg"] }
|
embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", features = ["defmt", "stm32wb55rg"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true }
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba55cg", "time-driver-any", "memory-x", "exti"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba55cg", "time-driver-any", "memory-x", "exti"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true }
|
embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true }
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
|||||||
# Change stm32wl55jc-cm4 to your chip name, if necessary.
|
# Change stm32wl55jc-cm4 to your chip name, if necessary.
|
||||||
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "unstable-pac", "exti", "chrono"] }
|
embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "unstable-pac", "exti", "chrono"] }
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
|
||||||
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
embassy-embedded-hal = { version = "0.3.0", path = "../../embassy-embedded-hal" }
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ portable-atomic = { version = "1.6.0" }
|
|||||||
nrf51422 = ["embassy-nrf/nrf51", "portable-atomic/unsafe-assume-single-core"]
|
nrf51422 = ["embassy-nrf/nrf51", "portable-atomic/unsafe-assume-single-core"]
|
||||||
nrf52832 = ["embassy-nrf/nrf52832", "easydma"]
|
nrf52832 = ["embassy-nrf/nrf52832", "easydma"]
|
||||||
nrf52833 = ["embassy-nrf/nrf52833", "easydma", "two-uarts"]
|
nrf52833 = ["embassy-nrf/nrf52833", "easydma", "two-uarts"]
|
||||||
nrf52840 = ["embassy-nrf/nrf52840", "easydma", "two-uarts", "embassy-executor/task-arena-size-16384"]
|
nrf52840 = ["embassy-nrf/nrf52840", "easydma", "two-uarts"]
|
||||||
nrf5340 = ["embassy-nrf/nrf5340-app-s", "easydma", "two-uarts"]
|
nrf5340 = ["embassy-nrf/nrf5340-app-s", "easydma", "two-uarts"]
|
||||||
nrf9160 = ["embassy-nrf/nrf9160-s", "easydma", "two-uarts"]
|
nrf9160 = ["embassy-nrf/nrf9160-s", "easydma", "two-uarts"]
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ rp235xb = ["embassy-rp/rp235xb"]
|
|||||||
teleprobe-meta = "1.1"
|
teleprobe-meta = "1.1"
|
||||||
|
|
||||||
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] }
|
||||||
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt"] }
|
embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
|
||||||
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", ] }
|
embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", ] }
|
||||||
embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram"] }
|
embassy-rp = { version = "0.4.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram"] }
|
||||||
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
|
||||||
|
@ -39,7 +39,7 @@ spi-v1 = []
|
|||||||
spi-v345 = []
|
spi-v345 = []
|
||||||
cryp = []
|
cryp = []
|
||||||
hash = []
|
hash = []
|
||||||
eth = ["embassy-executor/task-arena-size-16384"]
|
eth = []
|
||||||
rng = []
|
rng = []
|
||||||
sdmmc = []
|
sdmmc = []
|
||||||
stop = ["embassy-stm32/low-power", "embassy-stm32/low-power-debug-with-sleep"]
|
stop = ["embassy-stm32/low-power", "embassy-stm32/low-power-debug-with-sleep"]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user