Dario Nieuwenhuis
b452a6bcf6
Centralize license and MSRV boilerplate into the repo readme.
2024-01-11 18:18:35 +01:00
Dario Nieuwenhuis
fe0b21e21e
Remove nightly autodetects.
2024-01-10 18:32:14 +01:00
Rasmus Melchior Jacobsen
13c107e815
Put waiting state back if any
2023-12-20 13:09:16 +01:00
Rasmus Melchior Jacobsen
f9d0daad80
feat(embassy-sync): Add try_take() to signal
2023-12-20 08:37:15 +01:00
Scott Mabin
a6f4538219
embassy-sync 0.5
2023-12-04 13:10:41 +00: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
Scott Mabin
454828accb
revert module changes, reexport heapless relevant items
2023-11-20 11:28:31 +00:00
Scott Mabin
5a60024af7
docs
2023-11-18 15:09:41 +00:00
Scott Mabin
f482a105b8
more clean up, refactor channel into module to share code
2023-11-18 15:01:12 +00:00
Scott Mabin
7589b5e13e
reduce duplication further by sharing Dynamic sender/receiver
2023-11-18 14:56:29 +00:00
Scott Mabin
2efa73f431
docs and simple test for priority
2023-11-18 14:37:15 +00:00
Scott Mabin
270ec324b0
Reduce duplication, fix tests
2023-11-18 14:31:09 +00:00
Scott Mabin
ca0d02933b
Priority channel using binary heap
2023-11-18 14:21:43 +00:00
Dario Nieuwenhuis
4647df14b1
Update heapless to v0.8, embedded-nal-async to v0.7
2023-11-10 16:43:53 +01:00
Dario Nieuwenhuis
1f51367eb9
Upgrade static-cell to v2.0
2023-11-02 21:52:07 +01:00
Dániel Buga
d941882066
Prepare embassy-net 0.2.1 and embassy-sync 0.4.0
2023-10-31 09:33:27 +01:00
Dániel Buga
ad07ea0290
Re-add impl_trait_projections
2023-10-30 19:10:45 +01:00
Dario Nieuwenhuis
0324cee0ca
update embedded-io, embedded-nal-async.
2023-10-04 00:10:55 +02:00
Dario Nieuwenhuis
eb12114345
Remove impl_trait_projections.
2023-10-02 14:00:49 +02:00
Ulf Lilleengen
1b20ba27b1
feat: bump embassy-sync version to 0.3.0
...
Update changelog in preparation for release
2023-09-14 18:26:00 +02:00
Dario Nieuwenhuis
615882ebd6
Rename zero_copy -> zerocopy.
2023-09-04 22:16:28 +02:00
Ruben De Smet
6e38b07642
Add docs to zero-copy-channel
2023-09-04 22:13:27 +02:00
Ruben De Smet
1eb03dc41a
Prefer receive
over recv
2023-09-04 22:13:27 +02:00
Ruben De Smet
a2656f402b
Move embassy-net-driver-channel::zerocopy_channel to embassy_sync::zero_copy_channel
2023-09-04 22:13:27 +02:00
Dario Nieuwenhuis
9baa3bafb0
Merge pull request #1854 from bugadani/str
...
embassy-{net, sync, time}: Use fmt::unwrap
2023-09-03 00:35:21 +02:00
Dániel Buga
0c66636d00
Use fmt::unwrap
2023-09-02 08:39:52 +02:00
Dario Nieuwenhuis
5e613d9abb
Sync all fmt.rs files.
2023-08-30 01:37:18 +02:00
Dario Nieuwenhuis
6c165f8dc0
sync/pipe: impl BufRead.
2023-08-30 01:06:41 +02:00
Dario Nieuwenhuis
b3212ae383
Merge pull request #1763 from rubdos/sender-receiver-with-ctx
...
Refactor Channel/Sender/Receiver poll methods
2023-08-22 21:25:29 +00:00
Ruben De Smet
c39671266e
Deprecate *recv* in favor of *receive*
2023-08-22 16:58:31 +02:00
Dániel Buga
8655ba110c
Fix typo
2023-08-15 19:13:36 +02:00
Ruben De Smet
b1ec460b9a
Implement Channel::poll_receive(..) -> Poll<T>
2023-08-11 13:22:56 +02:00
Ruben De Smet
f9d251cd5c
Channel poll methods return Poll instead of bool
2023-08-11 12:13:46 +02:00
Ruben De Smet
b658f10db9
Expose poll_ready_to_{send,receive} in Sender/Receiver
2023-08-11 12:13:42 +02:00
Sam Lakerveld
2ab9a07b64
embassy-sync: manual Copy impls for channel and pipe
2023-08-08 11:22:01 +02:00
Dario Nieuwenhuis
5d5cd23715
Update to embedded-io 0.5 ( #1752 )
2023-08-07 13:43:09 +02:00
xoviat
890d113b85
wpan: fully implement initial draft concept
2023-07-18 18:28:12 -05:00
Dario Nieuwenhuis
f5ca687e9b
sync/pipe: fix doc typos.
2023-06-27 23:49:12 +02:00
Dario Nieuwenhuis
3465452a93
fmt: remove unused defmt::timestamp!
2023-06-09 03:33:39 +02:00
ZhangYong
24c4ea71b1
sync/pipe: write all user data to pipe
...
sync/pipe: add write_all function
2023-06-04 22:29:59 +08:00
Dario Nieuwenhuis
1d8321b821
Use make_static! from static-cell v1.1
2023-06-01 01:42:34 +02:00
Dario Nieuwenhuis
3081ecf301
sync: do will_wake check in MultiWakerRegistration.
2023-05-26 13:17:39 +02:00
Dario Nieuwenhuis
9f7392474b
Update Rust nightly.
2023-05-19 17:12:39 +02:00
Dario Nieuwenhuis
577f060d24
Release embassy-sync v0.2.0
2023-04-13 23:40:49 +02:00
Dario Nieuwenhuis
80972f1e0e
executor,sync: add support for turbo-wakers.
...
This is a `core` patch to make wakers 1 word (the task pointer) instead of 2 (task pointer + vtable). It allows having the "waker optimization" we had a while back on `WakerRegistration/AtomicWaker`, but EVERYWHERE, without patching all crates.
Advantages:
- Less memory usage.
- Faster.
- `AtomicWaker` can actually use atomics to load/store the waker, No critical section needed.
- No `dyn` call, which means `cargo-call-stack` can now see through wakes.
Disadvantages:
- You have to patch `core`...
- Breaks all executors and other things that create wakers, unless they opt in to using the new `from_ptr` API.
How to use:
- Run this shell script to patch `core`. https://gist.github.com/Dirbaio/c67da7cf318515181539122c9d32b395
- Enable `build-std`
- Enable `build-std-features = core/turbowakers`
- Enable feature `turbowakers` in `embassy-executor`, `embassy-sync`.
- Make sure you have no other crate creating wakers other than `embassy-executor`. These will panic at runtime.
Note that the patched `core` is equivalent to the unpached one when the `turbowakers` feature is not enabled, so it should be fine to leave it there.
2023-03-30 17:55:55 +02:00
Dario Nieuwenhuis
2c45b5c519
sync/pipe: update to clarify docs that it is byte-oriented.
...
There was some language copypasted from Channel talking about "messages"
or "values", that is not really accurate with Pipe.
2023-03-26 23:32:12 +02:00
Rasmus Melchior Jacobsen
ce7bd6955f
perf(pubsub): Skip clone on last message
2023-03-21 13:25:49 +01:00
Rasmus Melchior Jacobsen
472df3fad6
fix(pubsub): Pop messages which count is 0 after unsubscribe
2023-03-15 16:45:18 +01:00
Grant Miller
7be4337de9
Add #[must_use]
to all futures
2023-02-24 13:01:41 -06:00