aboutsummaryrefslogtreecommitdiff
path: root/embassy-time
Commit message (Collapse)AuthorAgeFilesLines
...
* STD driver needs a reentrant mutex; logic fixed to be reentrancy-safeivmarkov2023-01-261-22/+45
|
* time: Fix nighly feature compilation after upgrade to embedded-hal-asyncGabriel Smith2022-11-272-13/+6
| | | | 0.2.0-alpha.0
* Switch to async-fn-in-traitDario Nieuwenhuis2022-11-251-1/+1
|
* time: add missing cargo manifest fields.Dario Nieuwenhuis2022-10-261-1/+9
|
* Release embassy-sync, embassy-time v0.1.0Dario Nieuwenhuis2022-10-261-1/+3
|
* Merge #959bors[bot]2022-10-267-11/+555
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 959: Generic, executor-agnostic queue implementation r=ivmarkov a=ivmarkov Hopefully relatively well documented. Implementation relies on a fixed-size `SortedLinkedList` from `heapless`. (By default, for up to 128 timer schedules, but we can lower this number to - say - 64.) As discussed earlier, on queue overflow, the `WakerRegistration` approach is utilized, whereas the waker that is ordered first in the queue is awoken to make room for the incoming one (which might be the waker that would be awoken after all!). Wakers are compared with `Waker::will_wake`, so the queue should actually not fill up that easily, if at all. I've left provisions for the user to manually instantiate the queue using a dedicated macro - `generic_queue!` so that users willing to adjust the queue size, or users (like me) who have to use the queue in a complex "on-top-of-RTOS-but-the-timer-driver-calling-back-from-ISR" scenario can customize the mutex that protects the queue. The one thing I'm not completely happy with is the need to call `{ embassy_time::queue::initialize() }` early on before any futures using embassy-time are polled, which is currently on the shoulders of the user. I'm open to any ideas where we can get rid of this and do it on the first call to `_embassy_time_schedule_wake`, without introducing very complex combinations of critical sections, atomics and whatnot. Co-authored-by: ivmarkov <[email protected]> Co-authored-by: Dario Nieuwenhuis <[email protected]>
| * time/generic_queue: use Vec instead of SortedLinkedListDario Nieuwenhuis2022-10-261-24/+22
| |
| * time/generic-queue: ensure queue goes in .bss instead of .dataDario Nieuwenhuis2022-10-261-20/+18
| |
| * Fix a bug identified during code reviewivmarkov2022-10-261-2/+2
| |
| * Fix embassy-time wasm build and fix a bug in wasm time driverivmarkov2022-10-241-6/+12
| |
| * Change time Driver contract to never fire the alarm synchronouslyivmarkov2022-10-244-57/+41
| |
| * Address feedback after code reviewivmarkov2022-10-244-587/+518
| |
| * Documentation and initial testing frameworkivmarkov2022-10-243-35/+459
| | | | | | | | | | | | | | | | Add mock waker First simple test Tests & documentation
| * Initial generic timer queue implivmarkov2022-10-243-0/+203
| |
* | Update Rust nightly.Dario Nieuwenhuis2022-10-261-1/+1
|/
* all Cargo.toml: Add license to all crate Cargo.toml fileschrysn2022-10-071-0/+1
| | | | Closes: https://github.com/embassy-rs/embassy/issues/1002
* Update embedded-hal versions and explicitly pinUlf Lilleengen2022-09-292-4/+4
|
* Update Rust nightly.Dario Nieuwenhuis2022-09-221-1/+1
| | | | Removes feature(generic_associated_types)
* time: add more tick rates, use 1mhz as default.Dario Nieuwenhuis2022-09-026-45/+328
|
* Do not use cfg_if for embedded-hal-async feature gates.Dario Nieuwenhuis2022-08-311-15/+17
| | | | Old code used `cfg_if!` because rustc still parses code inside disabled cfg's, and Rust stable at that time couldn't parse the new GAT where-clause location. This is not the case anymore.
* Enable 'std' feature on critical-section for WASMUlf Lilleengen2022-08-231-1/+1
| | | | | | This fixes the WASM support which was failing due to missing critical-section implementation. This also upgrades the bindgen dependency and ensures that tooling works.
* Add readme for embassy-timeUlf Lilleengen2022-08-232-42/+44
|
* Remove warnings for embassy-timeUlf Lilleengen2022-08-221-1/+1
|
* Split embassy-time from embassy-executor.Dario Nieuwenhuis2022-08-1810-0/+1493