86 Commits

Author SHA1 Message Date
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
Dániel Buga
74037f0493
Make TimerQueueItem opaque 2025-08-18 12:50:51 +02: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
Matthew Tran
3cef4f0c04 Update tests 2025-06-01 12:36:46 -05:00
Robin Mueller
5a07ea5d85 Add support for Cortex-A/R 2025-05-28 17:00:42 +02:00
Yuri Astrakhan
ef0f29f0ed Update defmt dependencies 2025-05-18 20:52:09 +02:00
Phil-hacker
1a4b1a9476 update avr_device 2025-04-08 22:07:36 +02:00
Dániel Buga
c04b433991
embassy-sync, executor/wasm: don't select critical-section impl for std 2025-04-06 22:43:32 +02:00
Åke Amcoff
ac4f4ee807 disable critical-section/std for arch-std in embassy-executor 2025-04-05 18:36:04 +02:00
Dario Nieuwenhuis
695a6da322 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>
2025-03-28 19:11:53 +01:00
Dániel Buga
9a238e6ad8
Prepare new embassy-time-*driver, embassy-executor, embassy-time 2024-12-22 20:27:15 +01:00
Dániel Buga
c6ca46c825
Set RUN_QUEUED unconditionally 2024-12-17 16:52:13 +01:00
Dániel Buga
c9f32b7e36
Attach payload to TimerQueueItem 2024-12-16 20:36:59 +01:00
Dario Nieuwenhuis
2f2e2c6031
Make integrated-timers the default, remove Cargo feature. 2024-12-15 18:49:57 +01:00
Dániel Buga
5a5495aac4
Refactor integrated-timers 2024-12-10 21:31:42 +01:00
Ulf Lilleengen
f0be2fdce4 Extend tracing api to support executor id and end task
Allow applications to provide a trace implementation that only needs to
implement APIs used by the embassy executor, and provide more context in
the event of multiple executors being used.
2024-12-09 15:16:03 +01:00
Dario Nieuwenhuis
796f6c034a Release embassy-executor 0.6.3. 2024-11-12 18:07:50 +01:00
Dario Nieuwenhuis
baeb59b5b8
executor: use WakerHack unconditionally even if nightly feature is enabled. (#3528)
This ensures the executor compiles with all recent nightly versions,
including the stable-but-with-nightly-features-enabled xtensa rustc.
2024-11-12 16:28:26 +01:00
Dániel Buga
aeb85454e9
Also bump macros 2024-11-06 14:09:41 +01:00
Dániel Buga
94659325ab
Prep executor 0.6.2 2024-11-06 13:58:02 +01:00
Dániel Buga
1e850ae791
Detect and allow older nightlies 2024-11-06 10:48:59 +01:00
Dario Nieuwenhuis
1a24b4f018 Release embassy-executor v0.6.1, embassy-executor-macros v0.6.1 2024-10-21 01:26:02 +02:00
Dario Nieuwenhuis
8f98268723 executor: add compile-fail / ui tests. 2024-10-20 23:54:17 +02:00
Dummyc0m
9e6e09a8d7 executor/spin: introduce an architecture agnostic executor
Spin polls the raw executor and never sleeps. It is useful for disabling
any power features associated with wfi/wfe-like instructions.

When implementing support for the CH32V30x MCU, the wfi instruction
had issues interacting with the USB OTG peripheral and appeared to be
non-spec-compliant.

1. When sending a USB Data-in packet, the USB peripheral appears to be
unable to read the system main memory while in WFI. This manifests in
the USB peripheral sending all or partially zeroed DATA packets.
Disabling WFI works around this issue.

2. The WFI instruction does not wake up the processor when MIE is
disabled. The MCU provides a WFITOWFE bit to emulate the WFE instruction
on arm, which, when enabled, ignores the MIE and allows the processor to
wake up. This works around the non-compliant WFI implementation.

Co-authored-by: Codetector <codetector@codetector.org>
Co-authored-by: Dummyc0m <y@types.moe>
2024-10-06 23:33:34 -07:00
Samuel Maier
db00f3f5ec Enable critical-section/std on wasm
Without that feature one will find import errors on opening the webpage, that are hard to debug.
The feature was indirectly enabled in the wasm example, however the reason wasn't documented and thus it was easy to miss.
2024-09-05 11:45:49 +02:00
Ulf Lilleengen
37d7b0cd06 prepare release embassy-executor 2024-08-05 08:56:29 +02:00
Zheng Li
2c42463205 executor: remove portable-atomic for riscv. 2024-03-02 00:21:56 +01:00
Dario Nieuwenhuis
31fa0aebd8 executor: update remove portable-atomic comment.
Fixes #2481
2024-01-26 14:26:19 +01:00
Dario Nieuwenhuis
35f09374b5
Merge pull request #2273 from djdisodo/main
initial support for avr
2024-01-19 23:26:55 +01:00
Dario Nieuwenhuis
6a1c415a4c Complete cargo.tomls more. 2024-01-12 00:32:47 +01:00
Dario Nieuwenhuis
22197320ff bump embassy-time 0.3, embassy-executor 0.5, embassy-net 0.4. 2024-01-11 23:01:24 +01:00
Dario Nieuwenhuis
f0606da9ad time: split queue driver too, don't reexport drivers. 2024-01-11 23:01:24 +01:00
sodo
6ee153a3e2 Merge remote-tracking branch 'origin' 2024-01-02 13:34:22 +09:00
sodo
b7cd7952c8 avr: support sleep 2024-01-01 21:23:57 +09:00
Barnaby Walters
6bbc316312 [embassy-executor] improved documentation
* Feature auto-documentation
* Task arena sizes in a <details> list
* Non-documented comment explaining turbowakers with see-also link

Further improvements:

* Are the task-arena-size-* numbers sizes in bytes? or something else?
* Task arena section could benefit from advice about how to choose a
  suitable size
2023-12-22 19:05:16 +01:00
Dario Nieuwenhuis
8b36a32ed5 ci: use beta, add secondary nightly ci. 2023-12-21 15:03:57 +01:00
sodo
58d503a77d add avr support 2023-12-10 01:45:24 +09:00
Dario Nieuwenhuis
ac2aec4e7a executor: rename macro crate to embassy-executor-macros, bump it. 2023-12-07 00:48:30 +01:00
Jesse Braham
c5e8a2e834 embassy-executor 0.4 2023-12-06 11:59:22 +01:00
Scott Mabin
334900752a update release version in examples and other crates 2023-12-04 13:15:10 +00:00
Dario Nieuwenhuis
ca3891bb8c executor: remove arch-xtensa.
It's been broken for months and nobody has noticed. The `esp*-hal` crates have
much better support.

Fixes #2234
Closes  #1912
2023-12-03 22:33:27 +01:00
Dario Nieuwenhuis
996c3c1f7e executor: make task arena size configurable. 2023-11-24 23:52:09 +01:00
Dario Nieuwenhuis
171cdb94c7 executor: add support for main/task macros in stable (allocates tasks in an arena) 2023-11-24 23:52:09 +01:00
Dario Nieuwenhuis
1fbc150fd6 executor: add some tests. 2023-11-24 23:52:09 +01:00
Dario Nieuwenhuis
259cf6192b executor: Remove non-functional rtos-trace-interrupt. 2023-11-24 23:52:09 +01:00
Dario Nieuwenhuis
1f9b649f80 executor: release v0.3.3 2023-11-15 18:44:01 +01:00
Dario Nieuwenhuis
bef9b7a853 executor: remove atomic-polyfill. 2023-11-15 18:43:27 +01:00
Dániel Buga
b8f9341edc Prepare embassy-executor 0.3.2 2023-11-06 21:50:40 +01:00