File tree 3 files changed +3
-11
lines changed
3 files changed +3
-11
lines changed Original file line number Diff line number Diff line change 62
62
//! It is perfectly permissible to use the `executor-thread` feature from embassy-executor on
63
63
//! Zephyr, within the following guidelines:
64
64
//!
65
- //! - The executor is incompatible with the async executor provided within [`crate::kio`], and
66
- //! because there are no features to enable this, this functions will still be accessible. Be
67
- //! careful. You should enable `no-kio` in the zephyr crate to hide these functions.
68
65
//! - This executor does not coordinate with the scheduler on Zephyr, but uses an
69
66
//! architecture-specific mechanism when there is no work. On Cortex-M, this is the 'wfe'
70
67
//! instruction, on riscv32, the 'wfi' instruction. This means that no tasks of lower priority
74
71
//!
75
72
//! ## Caveats
76
73
//!
77
- //! The executor provided by Embassy is fundamentally incompatible with the executor provided by
78
- //! this crate's [`crate::kio`] and [`crate::work::futures`]. Trying to use the functionality
79
- //! provided by operations, such as [`Semaphore::take_async`], will generally result in a panic.
80
- //! These routines are conditionally compiled out when `executor-zephyr` is enabled, but there is no
81
- //! way for this crate to detect the use of embassy's `executor-threaded`. Combining these will
82
- //! result in undefined behavior, likely difficult to debug crashes.
74
+ //! The executor currently doesn't support async waits on Zephyr primitives, such as Semaphore.
83
75
//!
84
76
//! [`Semaphore::take_async`]: crate::sys::sync::Semaphore::take_async
85
77
Original file line number Diff line number Diff line change @@ -231,7 +231,7 @@ pub trait ObjectInit<T> {
231
231
/// Initialize the object.
232
232
///
233
233
/// This is called upon first use. The address given may (and generally will) be different than
234
- /// the initial address given to the `setup` call in the [`ZephyrObject::new `] constructor.
234
+ /// the initial address given to the `setup` call in the [`ZephyrObject::new_raw `] constructor.
235
235
/// After this is called, all subsequent calls to [`ZephyrObject::get`] will return the same
236
236
/// address, or panic.
237
237
fn init ( item : * mut T ) ;
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ mod pinweak {
33
33
34
34
/// Safe Pinned Weak references.
35
35
///
36
- /// Pin<Arc<T>> can't be converted to/from Weak safely, because there is know way to know if a given
36
+ /// ` Pin<Arc<T>>` can't be converted to/from Weak safely, because there is know way to know if a given
37
37
/// weak reference came from a pinned Arc. This wraps the weak reference in a new type so we know
38
38
/// that it came from a pinned Arc.
39
39
///
You can’t perform that action at this time.
0 commit comments