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
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