Commit Graph

70 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
7321ddb0b3 Update to cortex-m 0.7 2021-02-14 23:26:50 +01:00
Thales Fragoso
b69f72e055 Get rid of some warnings 2021-02-13 21:41:36 -03:00
Dario Nieuwenhuis
1879703153 CriticalSectionMutex should require Send. 2021-02-03 16:29:35 +01:00
Dario Nieuwenhuis
d71c4b4551 Make spawners Copy+Clone 2021-02-03 04:41:46 +01:00
Dario Nieuwenhuis
4192e52629 Update embassy-std to new executor api 2021-02-03 04:30:11 +01:00
Dario Nieuwenhuis
aeaa34d7a1 Executor API V2.
- It's no longer possible to call run() reentrantly from within a task (soundness issue)
- it's now possible to spawn Send tasks across threads (SendSpawner, #37)
2021-02-02 05:20:41 +01:00
xoviat
e0183f4495 optimize interruptfuture
remove critical secitons, impl. Unpin
2021-01-21 10:59:14 -06:00
xoviat
6503f9dbf5 implement interruptfuture
converts an interrupt to a future
2021-01-21 10:22:30 -06:00
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