317 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
658a52fb99 executor: do not store task IDs in RAM, we can get it from the pointer every time. 2025-08-29 13:20:18 +02:00
Ulf Lilleengen
83f2557eac chore: prepare embassy crate releases 2025-08-26 16:05:09 +02:00
Dario Nieuwenhuis
9f12852c38 Read crate configs from metadata. 2025-08-25 19:44:50 +02:00
Ulf Lilleengen
6a347f1f09 feat: add semver checks and releasing to releaser
* List dependencies of a crate
* List dependents of a crate
* Perform semver-checks of a crate
* Prepare a release for a crate and all dependents
* Use a single release.toml for cargo-release
* Add changelogs where missing
2025-08-25 19:44:49 +02:00
Dániel Buga
1bf3a44e5d
Retain timer_queue_item 2025-08-18 12:50:52 +02:00
Dániel Buga
74037f0493
Make TimerQueueItem opaque 2025-08-18 12:50:51 +02:00
Bart Slinger
b7964df887 add missing feature gate for rtos-trace 2025-08-14 13:54:43 +08:00
Ulf Lilleengen
0646df7afe
Merge pull request #4486 from embassy-rs/release-executor-0.8
Release executor 0.8
2025-08-01 07:38:34 +00:00
Ulf Lilleengen
f3cb0f3c30
Merge pull request #4443 from Brezak/task-unsafe
executor: mark unsafe tasks as unsafe
2025-08-01 06:42:55 +00:00
Ulf Lilleengen
afc8be91a8 chore: Release embassy-executor version 0.8.0 2025-07-31 10:34:07 +02:00
Ulf Lilleengen
3f1ddaf60e chore: prepare embassy-executor 0.8 release 2025-07-31 10:33:14 +02:00
Ralph Ursprung
98595f659c
embassy-time: add missing Debug & defmt::Format derives
`defmt::Format` is *not* implemented for `MockDriver` and
`InnerMockDriver` because the former contains the latter and the latter
is using `Queue` from `embassy-time-queue-utils` which so far does not
have a `defmt` dependency. since this is just a mock driver it shouldn't
be relevant if it has no `defmt::Format` impl.
2025-07-28 15:44:21 +02:00
Brezak
54d9a7fed3
embassy-executor: add macro ui test for unsafe ops in unsafe tasks
Check if the #[task] macro properly handles unsafe functions so the `unsafe_op_in_unsafe_fn` lint still works
2025-07-23 21:19:30 +02:00
Brezak
539ff78ebb
embassy-executor: explicitly return impl Future in task inner task 2025-07-23 20:55:42 +02:00
Brezak
1b42e62424
embassy-executor: explicitly return impl Future in task inner task 2025-07-23 19:33:51 +02:00
Brezak
a52965dc5d
embassy-executor: unsafe tasks as unsafe 2025-07-23 19:19:02 +02:00
Ulf Lilleengen
9651cfca51
Merge pull request #4373 from fg-cfh/fix/name-new-tasks
embassy-executor: rtos-trace: fix task naming for new tasks
2025-07-11 20:51:10 +00:00
Ralph Ursprung
a52ca758ac
embassy-executor: add release automation using cargo-release
this requires you to install [`cargo-release`].
note that this does not include a URL pointing to the diff on GitHub as
is usually done in changelogs since `embassy` is a mono-repo and the GH
UI doesn't offer a commit view per folder (see the [GH feature request]
for this).

[`cargo-release`]: https://crates.io/crates/cargo-release
[GH feature request]: https://github.com/orgs/community/discussions/162131
2025-07-08 23:05:48 +02:00
Ralph Ursprung
1c515937ff
prepare changelog for embassy-executor v0.8.0 2025-07-08 23:05:48 +02:00
Dario Nieuwenhuis
0c136c7b05 executor: mark Spawner::for_current_executor() as unsafe.
It's unsound with manually-created Contexts, see https://github.com/embassy-rs/embassy/issues/4379
2025-07-08 22:39:53 +02:00
Dario Nieuwenhuis
2fe2a0cf9c excutor: fix Send unsoundness with -> impl Future tasks. 2025-07-08 20:27:35 +02:00
Florian Grandel
b861dd1728
embassy-executor: rtos-trace: fix task naming for new tasks
Tasks that are spawned after starting SystemViewer were not named. This
change ensures that tasks spawned while SystemViewer is running will be
properly named, too.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2025-07-06 19:21:12 +02:00
Dario Nieuwenhuis
72248a601a Update Rust nightly, stable. 2025-07-04 00:23:22 +02:00
Dario Nieuwenhuis
8a23a4dfa4
Merge pull request #4266 from 0e4ef622/task-rpit
Allow `-> impl Future<Output = ()>` in #[task]
2025-06-22 21:27:56 +00:00
Matthew Tran
3cef4f0c04 Update tests 2025-06-01 12:36:46 -05:00
Matthew Tran
0d83fbbb57 Add diagnostic::on_unimplemented for nightly 2025-06-01 10:32:24 -05:00
Dario Nieuwenhuis
ad5a14fe85
Merge pull request #4244 from janderholm/master
executor: Make state implementations and their conditions match
2025-06-01 12:16:50 +00:00
Matthew Tran
b06a708f81 Mention ! in diagnostic 2025-05-29 05:54:25 -05:00
Matthew Tran
dbff432e19 Add test for -> impl Future<Output = !> 2025-05-29 05:18:16 -05:00
Matthew Tran
a4d4f62a1e Allow -> impl Future<Output = ()> in #[task] 2025-05-28 23:37:17 -05:00
Robin Mueller
5a07ea5d85 Add support for Cortex-A/R 2025-05-28 17:00:42 +02:00
Johan Anderholm
0f9a7a057f executor: Make state implementations and their conditions match
Use u8 for state_atomics and state_critical_section since that
is all that is needed. Change arm condition to "32" since that is what
is used and required.
2025-05-23 18:27:14 +02:00
Yuri Astrakhan
ef0f29f0ed Update defmt dependencies 2025-05-18 20:52:09 +02:00
Kat Perez
ebb6132f5f rustfmt 2025-05-08 16:31:47 -04:00
Kat Perez
3ffa2e4f3f remove unnecessary trace flags 2025-05-08 16:30:06 -04:00
Kat Perez
dfaab013eb move SpawnerTraceExt back into Spawner 2025-05-08 14:35:43 -04:00
Kat Perez
e968c47636 update TraceExt trait name for Spawner 2025-05-08 14:04:54 -04:00
Kat Perez
194a3044ac remove unused task_id 2025-05-08 13:46:41 -04:00
Kat Perez
3b873bb6bb implement TaskRefTrace for tracing-only fields in TaskRef 2025-05-08 13:40:32 -04:00
Kat Perez
462d04c6d5 move TaskTracker to trace 2025-05-08 13:35:34 -04:00
Kat Perez
8a8deb704f move spawn_named into trace.rs through TraceExt trait 2025-05-08 11:29:44 -04:00
Kat Perez
56b5e35c60 change rtos-trace feature flag on tracing API to trace feature flag 2025-05-08 10:58:59 -04:00
Kat Perez
8f18810ec6 remove unused tracing API 2025-05-08 10:58:27 -04:00
Kat Perez
b3e13cc6de make tracing API functions internal 2025-05-08 10:58:07 -04:00
Kat Perez
f2429c212e fix whitespace in the imports in trace.rs 2025-05-06 11:55:58 -04:00
Kat Perez
6085916714 use an intrusive linked list in TaskHeader to track tasks 2025-05-06 11:47:04 -04:00
Kat Perez
f4e0cbb7cc add ID field to TaskHeader 2025-05-06 09:59:27 -04:00
Kat Perez
54b3fb6e7a remove name from TaskRegistry and retrieve from task header instead 2025-05-06 09:27:19 -04:00
Kat Perez
61f0f889a0 add get/set for task name 2025-05-06 09:23:39 -04:00
Kat Perez
05d52decb2 add name to TaskHeader 2025-05-06 09:04:21 -04:00