aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor/src
Commit message (Collapse)AuthorAgeFilesLines
* Simplify ARM run_enqueueDániel Buga2024-12-171-18/+3
|
* Set RUN_QUEUED unconditionallyDániel Buga2024-12-174-21/+8
|
* Document task states and state transitionsDániel Buga2024-12-171-0/+38
|
* Merge pull request #3656 from bugadani/timer-queue-specialDario Nieuwenhuis2024-12-175-147/+47
|\ | | | | Remove special handling of integrated timer queues and items
| * Remove TIMER_QUEUEDDániel Buga2024-12-163-91/+2
| |
| * Remove special handling of integrated timer itemsDániel Buga2024-12-162-34/+0
| |
| * Attach payload to TimerQueueItemDániel Buga2024-12-161-0/+45
| |
| * Remove special handling of integrated timer queueDániel Buga2024-12-161-22/+0
| |
* | Remove WakerHack for good.Dario Nieuwenhuis2024-12-171-13/+2
|/ | | | Now that 1.83 xtensa is out, we can remove it unconditionally.
* Rely on atomic load-store on all targetsDániel Buga2024-12-162-68/+25
|
* Fix racy access of TaskHeader::executorDániel Buga2024-12-164-13/+75
|
* Only lock once to wake a taskDániel Buga2024-12-166-40/+73
|
* Zero-inizialize expires_atDániel Buga2024-12-161-1/+1
|
* Fix comments and tweak task exitDániel Buga2024-12-152-8/+18
|
* Make sure an exited task does not get stuck in a timer queueDániel Buga2024-12-151-0/+14
|
* Make `integrated-timers` the default, remove Cargo feature.Dario Nieuwenhuis2024-12-155-33/+8
|
* Prevent task from respawning while in the timer queueDániel Buga2024-12-135-4/+152
|
* Move integrated timer queue into time-queue-driverDániel Buga2024-12-122-90/+11
|
* Do not access task headerDániel Buga2024-12-102-8/+12
|
* Remove TIMER_QUEUED stateDániel Buga2024-12-104-58/+4
|
* Refactor integrated-timersDániel Buga2024-12-109-167/+88
|
* Extend tracing api to support executor id and end taskUlf Lilleengen2024-12-092-40/+102
| | | | | | 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.
* Add initializeDániel Buga2024-11-197-5/+42
|
* Only set callback onceDániel Buga2024-11-191-5/+7
|
* executor: compare vtable addr instead of contents.Dario Nieuwenhuis2024-11-121-1/+3
| | | | Saves a whopping 44 bytes of text, yay.
* executor: use WakerHack unconditionally even if `nightly` feature is ↵Dario Nieuwenhuis2024-11-122-32/+11
| | | | | | enabled. (#3528) This ensures the executor compiles with all recent nightly versions, including the stable-but-with-nightly-features-enabled xtensa rustc.
* Detect and allow older nightliesDániel Buga2024-11-062-1/+11
|
* 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
| |/ |/|