Commit Graph

262 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
5b897b6605 executor: Add 'raw' api to wake tasks through raw pointers. 2021-01-21 01:00:12 +01:00
Dario Nieuwenhuis
4e789c663c
Merge pull request #15 from akiles/gpio-wait
RFC: GPIO WaitForFoo traits
2021-01-15 23:06:07 +01:00
Dario Nieuwenhuis
c91882a72c Add CriticalSectionMutex, ThreadModeMutex. 2021-01-11 10:38:43 +01:00
Dario Nieuwenhuis
877fc0321a WakerRegistration: Wake previous task if any 2021-01-11 10:38:25 +01:00
Dario Nieuwenhuis
60df9e0d38 Add non_exhaustive attrs. 2021-01-09 00:51:07 +01:00
Dario Nieuwenhuis
f6be0b8d12 Add gpio WaitForFoo traits 2021-01-06 01:10:48 +01:00
Dario Nieuwenhuis
9bb4c97dc2
Merge pull request #14 from timokroeger/uarte-power-optimization
UARTE power optimization and improvements
2021-01-05 22:10:52 +01:00
Timo Kröger
0631623b51 uarte: Low power wait for RX drop 2021-01-04 22:55:40 +01:00
Dario Nieuwenhuis
9e88718fbd Add "context" pointer to owned interrupt handlers. 2021-01-04 22:25:39 +01:00
Dario Nieuwenhuis
0ab88ea279 Add Uart trait, implement it for nrf. 2021-01-02 19:59:37 +01:00
Dario Nieuwenhuis
1d53985abe Remove now-stable slice_fill feature 2021-01-02 19:56:05 +01:00
Dario Nieuwenhuis
4783222f67 Rename WakerStore -> WakerRegistration. 2021-01-01 22:30:11 +01:00
Timo Kröger
c97d5262f5 Blocking wait method for signals 2020-12-30 19:24:12 +01:00
Dario Nieuwenhuis
6bc1a712ff Fix Forever 2020-12-30 04:17:45 +01:00
Dario Nieuwenhuis
a02d0a378e Fix race in enqueuing expired tasks. 2020-12-30 04:12:48 +01:00
Dario Nieuwenhuis
bb6f25d010 Remove use of deprecated compare_and_swap. 2020-12-30 01:07:22 +01:00
Dario Nieuwenhuis
015b6bbce4 Ensure timers always yield at least once.
This prevents a task that's constantly running late from monopolizing the CPU.
Add executor_fairness_test example showcasing it.
2020-12-30 00:57:35 +01:00
Dario Nieuwenhuis
0750234fbe WIP owned irqs 2020-12-29 00:05:52 +01:00
Dario Nieuwenhuis
b01a88a839 Do not run timer queue if no alarm is set. 2020-12-29 00:04:58 +01:00
Dario Nieuwenhuis
4a7344cb6f Add embassy-std crate with glue to run embassy on std. 2020-12-28 03:41:40 +01:00
Dario Nieuwenhuis
32c67381df Add missing ?Sized bound in read_line 2020-12-27 23:34:05 +01:00
Dario Nieuwenhuis
692d8bb813 More efficient timer queue, integrated into Executor directly. 2020-12-26 23:44:53 +01:00
Dario Nieuwenhuis
8b7a42a4f9 Split waker to separate file. 2020-12-26 17:22:36 +01:00
Dario Nieuwenhuis
3df66c44e3 Split executor into multiple files, remove old timers implementation. 2020-12-26 16:42:44 +01:00
Dario Nieuwenhuis
db8b4ca565 Better SpawnToken error messages 2020-12-26 15:15:50 +01:00
Dario Nieuwenhuis
80c504cd95 Add std impl for rand 2020-12-14 00:36:29 +01:00
Dario Nieuwenhuis
1aae27270e Better fmt macros. 2020-12-13 21:17:58 +01:00
Dario Nieuwenhuis
3be7ace878 add time::Ticker 2020-12-13 19:54:18 +01:00
Dario Nieuwenhuis
ca2ff632ba Fix possibly ambiguous macro 2020-12-01 20:00:55 +01:00
Dario Nieuwenhuis
6f76c0ebcc Add support for log+defmt again, but better. 2020-12-01 17:46:56 +01:00
Dario Nieuwenhuis
78135a81d9 Remove anyfmt 2020-11-27 18:42:59 +01:00
Dario Nieuwenhuis
49d5121094 Fix unsoundness in Forever 2020-11-16 01:04:56 +01:00
Dario Nieuwenhuis
2e062f5627 gpiote: change port api to directly return futures. 2020-11-09 01:04:34 +01:00
Dario Nieuwenhuis
a2735a716c Add signal reset() 2020-11-08 18:41:22 +01:00
Dario Nieuwenhuis
5e8608c7a5 Make defmt optional with new anyfmt crate 2020-11-01 17:17:24 +01:00
Dario Nieuwenhuis
2c13e25184 Fix for latest nightly 2020-10-31 23:14:09 +01:00
Dario Nieuwenhuis
2684bf605a update multiprio example. 2020-10-31 22:45:35 +01:00
Dario Nieuwenhuis
76196c424a Make Executor non-Send to close run() safety hole. 2020-10-31 22:36:45 +01:00
Dario Nieuwenhuis
5c575c29e6 cargo fmt 2020-10-31 20:02:16 +01:00
Dario Nieuwenhuis
4cc8bbd06c Remove unsafe from executor api 2020-10-31 16:37:50 +01:00
Dario Nieuwenhuis
e9843c3f0a cargo fmt 2020-10-31 16:37:34 +01:00
Dario Nieuwenhuis
b4a8b03c84 Improve std error compat 2020-10-31 16:37:09 +01:00
Dario Nieuwenhuis
53eb594878 Add Forever 2020-10-31 16:35:42 +01:00
Dario Nieuwenhuis
03bd11ce0d Add Rand trait 2020-10-31 16:35:18 +01:00
Dario Nieuwenhuis
878bfd2b75 Fixes 2020-10-26 12:43:28 +01:00
Dario Nieuwenhuis
a0cc229a3a time: 64bit duration, add some methods 2020-10-26 12:39:53 +01:00
Dario Nieuwenhuis
041a22a958 impl defmt::Format for Instant 2020-10-20 17:04:15 +02:00
Dario Nieuwenhuis
80ce73a2c1 Fix executor hanging in some cases where tasks wake themselves. 2020-10-19 22:08:37 +02:00
Dario Nieuwenhuis
53a064445f defmt feature doesn't really exist here 2020-10-19 21:46:25 +02:00
Dario Nieuwenhuis
a2e73cb549 time: some const fns 2020-10-19 21:25:54 +02:00
Dario Nieuwenhuis
cd9ecaef57 integrate static-executor, cleanup time module. 2020-10-19 21:25:54 +02:00
Dario Nieuwenhuis
0e1adc58f4 Add AsyncBufReadExt::drain 2020-10-19 21:13:26 +02:00
Dario Nieuwenhuis
58bd708ccb Fix build for std 2020-10-12 14:05:48 +02:00
Dario Nieuwenhuis
32a9b3f4ae impl Format for Duration 2020-09-28 21:50:28 +02:00
Dario Nieuwenhuis
3d64a8abef Add from_secs, from_millis.
Uses a hardcoded tick rate for now.
2020-09-28 21:46:03 +02:00
Dario Nieuwenhuis
37d2b440ff Fix rtc using multiple alarms at the same time. 2020-09-26 00:35:25 +02:00
Dario Nieuwenhuis
f88f233e39 Remove executor model (it's not a nice enough abstraction). 2020-09-25 23:42:49 +02:00
Dario Nieuwenhuis
19a89b5c14 Add Clock trait 2020-09-25 23:38:42 +02:00
Dario Nieuwenhuis
cf1d604749 Add support for multi alarm to RTC. 2020-09-25 23:25:49 +02:00
Dario Nieuwenhuis
4333105341 Add Executor with timer queue, Timer, Instant, Duration, Alarm. 2020-09-25 03:25:06 +02:00
Dario Nieuwenhuis
05ca563e7d Add clock::Monotonic trait. 2020-09-24 23:26:24 +02:00
Dario Nieuwenhuis
9a57deef9b First commit 2020-09-22 18:03:43 +02:00