aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor/src
Commit message (Collapse)AuthorAgeFilesLines
* executor/spin: introduce an architecture agnostic executorDummyc0m2024-10-062-1/+67
| | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> Co-authored-by: Dummyc0m <[email protected]>
* fix: remove stable nightly featureOleksandr Babak2024-09-061-1/+0
|
* fix: nightly api changed during the nightOleksandr Babak2024-09-061-2/+1
|
* Reduced define for 'unreachable!' to a single macro ruleTarun Singh2024-07-171-10/+6
|
* Add collapse_debuginfo to fmt.rs macros.Dario Nieuwenhuis2024-06-171-0/+17
| | | | | | 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+.
* minimize cfg code in task_from_wakerzjp2024-06-131-26/+23
|
* put cfg code inside task_from_waker functionzjp2024-06-131-36/+26
|
* fix warning on unused importzjp2024-06-091-2/+1
|
* use nightly waker_getters APIszjp2024-06-092-0/+26
| | | | | | | 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.
* Fix warnings in recent nightly.Dario Nieuwenhuis2024-03-201-1/+1
|
* fmt: disable "unused" warnings.Dario Nieuwenhuis2024-03-201-2/+1
|
* executor: remove portable-atomic for riscv.Zheng Li2024-03-021-1/+1
|
* fix: removed trailing commaxgroleau🐢2024-02-081-1/+1
|
* fix: missing 0xgroleau🐢2024-02-081-1/+1
|
* fix: compilation for rtos tracexgroleau🐢2024-02-081-1/+11
|
* fix: rtos-usage time missingxgroleau🐢2024-02-061-1/+1
|
* Merge pull request #2273 from djdisodo/mainDario Nieuwenhuis2024-01-192-1/+74
|\ | | | | initial support for avr
| * fixsodo2024-01-031-1/+1
| |
| * avr: sleep fixsodo2024-01-021-2/+5
| |
| * Merge remote-tracking branch 'origin'sodo2024-01-021-0/+3
| |\
| * | avr: support sleepsodo2024-01-011-2/+11
| | |
| * | add avr supportsodo2023-12-102-1/+62
| | |
* | | time: split queue driver too, don't reexport drivers.Dario Nieuwenhuis2024-01-112-21/+18
| |/ |/|
* | [embassy-executor] improved documentationBarnaby Walters2023-12-221-0/+3
|/ | | | | | | | | | | | * 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
* executor: rename macro crate to embassy-executor-macros, bump it.Dario Nieuwenhuis2023-12-077-9/+9
|
* executor: remove arch-xtensa.Dario Nieuwenhuis2023-12-032-92/+1
| | | | | | | | It's been broken for months and nobody has noticed. The `esp*-hal` crates have much better support. Fixes #2234 Closes #1912
* executor: make task arena size configurable.Dario Nieuwenhuis2023-11-241-3/+7
|
* executor: add support for main/task macros in stable (allocates tasks in an ↵Dario Nieuwenhuis2023-11-246-8/+92
| | | | arena)
* executor: Remove non-functional rtos-trace-interrupt.Dario Nieuwenhuis2023-11-241-22/+1
|
* executor: add faster ARM-specific impl.Dario Nieuwenhuis2023-11-152-1/+105
| | | | Does a wake+poll in 79 cycles in nrf52840.
* executor: remove atomic-polyfill.Dario Nieuwenhuis2023-11-158-65/+270
|
* executor: add missing `main` macro reexport on xtensa.Dario Nieuwenhuis2023-11-141-0/+3
|
* Yeet core::sync::atomic, remove futures-util depDániel Buga2023-11-061-1/+1
|
* Upgrade static-cell to v2.0Dario Nieuwenhuis2023-11-021-1/+0
|
* Update Rust nightly.Dario Nieuwenhuis2023-11-011-0/+1
|
* Fix #2100 - function address comparisonAleksandr Krotov2023-10-251-1/+1
|
* update UninitCell::write call in arch::wasm tooHailey Somerville2023-09-141-2/+3
|
* write to TaskStorage::future via inline(never) fn to encourage RVOHailey Somerville2023-09-142-3/+4
|
* Sync all fmt.rs files.Dario Nieuwenhuis2023-08-301-6/+39
|
* Avoid dead code warningDániel Buga2023-08-261-3/+2
|
* Make AvailableTask public, deduplicateDániel Buga2023-08-212-51/+65
|
* Update docsDániel Buga2023-08-141-24/+25
|
* Don't check context if only thread-mode is enabledDániel Buga2023-08-141-1/+2
|
* Hide PenderDániel Buga2023-08-141-2/+2
|
* Fix fn nameDániel Buga2023-08-143-5/+5
|
* Remove interrupt executor, remove PenderContextDániel Buga2023-08-148-164/+19
|
* Make PenderContext actually pointer-sizeDániel Buga2023-08-141-1/+1
|
* Remove the non-specific thread-mode executorDániel Buga2023-08-147-268/+361
|
* Make PenderContext opaqueDániel Buga2023-08-146-8/+29
|
* Remove the Pender enumDániel Buga2023-08-148-101/+98
|