Commit Graph

148 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
796f6c034a Release embassy-executor 0.6.3. 2024-11-12 18:07:50 +01:00
Dario Nieuwenhuis
853c5c567a executor: compare vtable addr instead of contents.
Saves a whopping 44 bytes of text, yay.
2024-11-12 16:30:46 +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
e782eabff7 Changelog executor v0.5.1 release. 2024-10-21 16:20:40 +02: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
Oleksandr Babak
1443f3386b
fix: remove stable nightly feature 2024-09-06 11:34:30 +02:00
Oleksandr Babak
01d8508b6c
fix: nightly api changed during the night 2024-09-06 11:16:44 +02: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
886580179f update dates 2024-08-05 08:58:56 +02:00
Ulf Lilleengen
37d7b0cd06 prepare release embassy-executor 2024-08-05 08:56:29 +02:00
Dario Nieuwenhuis
2d678d6956 Update to Rust 1.80, make check-cfg unconditional. 2024-07-25 15:53:00 +02:00
Tarun Singh
a716a3f006 Reduced define for 'unreachable!' to a single macro rule 2024-07-17 17:05:52 -04:00
Dario Nieuwenhuis
6a4ac5bd60 Add collapse_debuginfo to fmt.rs macros.
This makes location info in defmt logs point to the code calling the macro,
instead of always to fmt.rs as before. Fix works with nightlies
starting with today's, and stable 1.81+.
2024-06-17 01:38:57 +02:00
Dario Nieuwenhuis
4d9115b3fb Update stable to Rust 1.79. 2024-06-13 20:40:04 +02:00
zjp
dd6a873447 minimize cfg code in task_from_waker 2024-06-13 07:59:28 +08:00
zjp
b780df5f76 put cfg code inside task_from_waker function 2024-06-13 07:33:40 +08:00
zjp
6b9470be2c fix warning on unused import 2024-06-09 11:50:32 +08:00
zjp
3f45ec6ead use nightly waker_getters APIs
Since https://github.com/rust-lang/rust/issues/96992 has stalled,
to prevent potential unsoundness caused by transmuting to &WakerHack,
we can use nightly waker_getters APIs by gating it behind nightly
feature in embassy-executor without waiting for it to be stablized.
2024-06-09 11:39:47 +08:00
Jan Špaček
bfb380e8ca Copy build_common.rs into each crate, to make cargo publish happy 2024-05-31 08:07:51 +02:00
Jan Špaček
368893c9cb Emit cargo:rustc-check-cfg instructions from build.rs 2024-05-30 18:28:29 +02:00
Dario Nieuwenhuis
3845288ffb
Merge pull request #2718 from embassy-rs/update-nightly44
Update nightly Rust.
2024-03-20 15:54:55 +00:00
Dario Nieuwenhuis
eca9aac194 Fix warnings in recent nightly. 2024-03-20 16:39:09 +01:00
Dario Nieuwenhuis
6eb539a6a1
Merge pull request #2574 from GrantM11235/atpit
Use ATPIT for task macro
2024-03-20 15:12:31 +00:00
Dario Nieuwenhuis
3d842dac85 fmt: disable "unused" warnings. 2024-03-20 14:53:19 +01:00
Zheng Li
2c42463205 executor: remove portable-atomic for riscv. 2024-03-02 00:21:56 +01:00
Grant Miller
5a6384333f Fix feature flag in executor tests 2024-02-14 16:14:41 -06:00
xgroleau🐢
262518cfe5 fix: removed trailing comma 2024-02-08 09:02:07 -05:00
xgroleau🐢
09613e90de fix: missing 0 2024-02-08 09:01:07 -05:00
xgroleau🐢
d48620d58f fix: compilation for rtos trace 2024-02-08 08:59:06 -05:00
xgroleau🐢
5f36108896 fix: rtos-usage time missing 2024-02-06 15:08:05 -05: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
01dbe92783 fix 2024-01-03 12:35:07 +09:00
sodo
b0071c5070 avr: sleep fix 2024-01-02 14:55:35 +09: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
Scott Mabin
2efde24f33 Add test case 2023-12-31 16:55:46 +00: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