98 Commits

Author SHA1 Message Date
Alex Moon
0b8f43b714
Manually implement the future for with_timeout 2025-04-23 13:32:06 -04:00
Sebastian Scholz
869758037b
Add try_from constructors to Duration 2025-03-10 19:05:33 +01:00
Sebastian Scholz
2ceb3a721c
Add Instant::try_from_* constructor functions 2025-03-07 19:32:42 +01:00
wackazong
865266a4ae
Take self instead of &mut self
This is more idiomatic since methods with these names usually take self and not &mut self.
2025-02-04 11:09:52 +01:00
wackazong
b7fbf6d519
Add saturating_add and saturating_sub to Instant 2025-02-04 11:03:17 +01:00
Dario Nieuwenhuis
113383b8b1
Merge pull request #3840 from bugadani/inline
Allow inlining on time driver boundary
2025-02-03 16:42:38 +00:00
Dániel Buga
37b180c61e
Allow inlining on time driver boundary 2025-02-03 17:20:35 +01:00
Marvin Gudel
ec5f283d15 Add cancel safety notes to Ticker 2025-02-02 14:28:45 +01:00
Dániel Buga
ab8ca3f126
Rename ETQD, bump date 2024-12-22 21:00:23 +01:00
Dániel Buga
3c121e5425
Remove special handling of integrated timer queue 2024-12-16 19:22:22 +01:00
Dario Nieuwenhuis
b268b1795f
Merge time-driver and time-queue-driver traits, make HALs own and handle the queue. 2024-12-13 21:20:59 +01:00
Dániel Buga
5a5495aac4
Refactor integrated-timers 2024-12-10 21:31:42 +01:00
Dario Nieuwenhuis
aaad8450e9
Use inline const for initializing arrays. (#3567) 2024-11-24 20:58:48 +01:00
Dániel Buga
448db47263
Remove noop from queue_generic 2024-11-19 17:30:31 +01:00
Tarun Singh
a716a3f006 Reduced define for 'unreachable!' to a single macro rule 2024-07-17 17:05:52 -04:00
Ulf Lilleengen
95d0cae897
Merge pull request #3079 from aurelj/with_timeout
implement with_timeout()/with_deadline() method style call on Future
2024-06-22 14:14:35 +00: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
Aurélien Jacobs
8ec2e193e2 implement with_timeout()/with_deadline() method style call on Future 2024-06-14 17:46:32 +02:00
Andres O. Vela
6eaa259342 embassy-time: add timestamp features 2024-05-30 22:16:56 +02:00
Dario Nieuwenhuis
1c9bb7c2e1 time/generic-queue: fix ub in tests. 2024-05-13 00:35:46 +02:00
Dario Nieuwenhuis
5732ee7ca9 Reduce use of the full futures crate. 2024-04-26 23:22:25 +02:00
Frostie314159
67c9cc2c4b
Merge branch 'embassy-rs:main' into ticker_send_sync 2024-03-31 20:48:05 +02:00
Frostie314159
a2f9aa592e
Made Ticker::next Send+Sync. 2024-03-31 15:07:01 +02:00
Frostie314159
2ea1040e07
Adjusted behavior. 2024-03-28 19:41:50 +01:00
Frostie314159
7efe8e0005
Merge branch 'embassy-rs:main' into reset-at-after 2024-03-21 14:17:03 +01:00
Dario Nieuwenhuis
3d842dac85 fmt: disable "unused" warnings. 2024-03-20 14:53:19 +01:00
Scott Mabin
20cd7d09f4 time: cloneable delay 2024-02-18 17:01:09 +00:00
Caleb Jamison
0ab0b5590a Fixup docs 2024-01-31 16:28:06 -05:00
Caleb Jamison
8b7d856195 Rename timeout_at to with_deadline 2024-01-31 16:26:11 -05:00
Caleb Jamison
1e698af05b Add timeout_at convenience function and example. 2024-01-31 14:10:31 -05:00
Dario Nieuwenhuis
f0606da9ad time: split queue driver too, don't reexport drivers. 2024-01-11 23:01:24 +01:00
Dario Nieuwenhuis
15f94fb0fc time: split driver into a separate embassy-time-driver crate. 2024-01-11 16:56:08 +01:00
Dario Nieuwenhuis
fe0b21e21e Remove nightly autodetects. 2024-01-10 18:32:14 +01:00
Chris Price
3db8655e25 Ignore the doctest driver registration to prevent duplicate registrations 2024-01-09 17:39:02 +00:00
Chris Price
372a9b2833 Lint/format fixes 2024-01-09 15:58:01 +00:00
Chris Price
9bf655ccd7 Use MockDriver in queue_generic tests 2024-01-09 15:17:25 +00:00
Chris Price
e4e2b31402 Prevent over-allocation 2024-01-09 15:17:25 +00:00
Chris Price
fdd7acd484 Restructure InnerMockDriver
Failing test for overallocation of alarms
2024-01-09 15:17:25 +00:00
Chris Price
8dab88f96d Merge TestDriver into MockDriver 2024-01-09 15:17:25 +00:00
Barnaby Walters
c1156d73d3 Updated driver implementation docs 2023-12-22 19:40:41 +01:00
Barnaby Walters
0fb57ef87d Improved documentation
* Documented features including all tick rates
* Corrected some out-of-date information
* Sorted tick rate features
* Removed gen_tick.py dependency on toml
* Restructured README.md to better explain tick rate, more
  clearly prioritise time driver docs, correct header levels
2023-12-22 17:08:39 +01:00
Dario Nieuwenhuis
8b36a32ed5 ci: use beta, add secondary nightly ci. 2023-12-21 15:03:57 +01:00
RobertTDowling
b857334f92 STM32: Fix race in alarm setting, which impacted scheduling.
Detect potential race condition (should be rare) and return false back
to caller, allowing them to handle the possibility that either the
alarm was never set because it was in the past (old meaning of false),
or that in fact the alarm was set and may have fired within the race
window (new meaning of false). In either case, the caller needs to
make sure the callback got called.
2023-12-17 15:35:35 -08:00
Frostie314159
8707462ec2
Adjusted documentation and reset_after behaviour. 2023-12-11 16:11:57 +01:00
Frostie314159
663fa2addd
Introduce reset_{at|after} functions for Ticker. 2023-12-11 13:27:55 +01:00
Dario Nieuwenhuis
c6989dfbca Remove nightly and unstable-traits features in preparation for 1.75. 2023-11-29 17:26:33 +01:00
Dario Nieuwenhuis
4634316749 Update embedded-(hal,io,nal). 2023-11-29 17:01:36 +01:00
Dario Nieuwenhuis
f8721c3786
Merge pull request #2132 from embassy-rs/update-nightly
Update Rust nightly.
2023-11-01 04:10:03 +00:00
Dario Nieuwenhuis
e519e00265 Update Rust nightly. 2023-11-01 04:56:56 +01:00
Andres O. Vela
5f9602d28b time: fix MockDriver::now() 2023-10-31 22:48:52 +01:00