Commit Graph

2874 Commits

Author SHA1 Message Date
Mathias
7e3ce2c90b Abort DMA operation when dropping a Transfer, and panic on DMA errors 2022-08-23 13:20:36 +02:00
Mathias
f6c2e26372 Address code review comments 2022-08-23 12:28:17 +02:00
Mathias
295af2a057 Fix bit checking in DMA irq 2022-08-19 14:16:19 +02:00
Mathias
331a64a4ea Add back public dma::copy, and correct dma incr settings for read/write 2022-08-19 10:43:59 +02:00
Mathias
140ef4febf Add DMA_IRQ0 handling to Transfer 2022-08-19 09:48:58 +02:00
Mathias
a29972413b Fix uart rp2040 blocking example 2022-08-19 08:48:52 +02:00
Mathias
aa586fe1de Simplify waker storage for DMA state 2022-08-18 21:27:37 +02:00
Mathias
debff0980d Don't increment read address in DMA copy from peripherals 2022-08-18 21:20:47 +02:00
Mathias
1d49b3444f Add DMA read + write functions 2022-08-18 21:09:50 +02:00
Mathias
a7d6bc7ba5 Merge branch 'master' of https://github.com/embassy-rs/embassy into embassy-rp/dma 2022-08-18 21:08:57 +02:00
bors[bot]
aefa5275a2
Merge #910
910: (embassy-rp): Implement remaining logic for blocking UART r=lulf a=MathiasKoch

async read/write is still `todo!()`, awaiting DMA implementation.

Co-authored-by: Mathias <mk@blackbird.online>
2022-08-18 18:36:27 +00:00
Mathias
9c9b7b1a66 Remove unneeded NoDma struct 2022-08-18 20:34:55 +02:00
Mathias
55a63a5417 Attempt to implement future for DMA transfer 2022-08-18 20:30:50 +02:00
Mathias
3bbfc11f45 Stop active DMA transfer on drop 2022-08-18 20:30:24 +02:00
Mathias
d35a1c9790 Preliminary DMA support for RP2040 2022-08-18 19:39:13 +02:00
bors[bot]
3572da29c8
Merge #912
912: net: update atomic-pool, atomic-polyfill. r=Dirbaio a=Dirbaio

bors r+

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-18 12:46:02 +00:00
Dario Nieuwenhuis
ce407474a7 net: update atomic-pool, atomic-polyfill. 2022-08-18 14:45:07 +02:00
Mathias
0f74f870b0 Fix rp uart example 2022-08-18 14:01:37 +02:00
bors[bot]
1ea52d3442
Merge #911
911: hal-common: Remove unused dep r=Dirbaio a=Dirbaio

bors r+

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-18 09:11:28 +00:00
Dario Nieuwenhuis
fe38d240e5 hal-common: Remove unused dep 2022-08-18 11:10:51 +02:00
Mathias
d52c7ded49 Implement remaining logic for blocking UART. async is still todo, awaiting DMA 2022-08-18 10:23:29 +02:00
bors[bot]
be55d2a39e
Merge #909
909: Split embassy-time from embassy-executor. r=Dirbaio a=Dirbaio

For now this will fail to link unless you enable `embassy-executor/integrated-timers`. i'll add an executor-independent timer queue to `embassy-time` later.

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-17 23:22:52 +00:00
Dario Nieuwenhuis
5daa173ce4 Split embassy-time from embassy-executor. 2022-08-18 01:22:30 +02:00
bors[bot]
1c5b54a482
Merge #908
908: Remove HAL initialization from #[embassy_executor::main] macro. r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-17 20:27:42 +00:00
Dario Nieuwenhuis
2e85eaf7d5 examples Remove the fn config() idiom.
It was only useful for doing #[embassy_executor::main(config = "config()")]`. Now that
it's gone, it makes more sense to build the config in main directly.
2022-08-17 22:25:58 +02:00
Dario Nieuwenhuis
fc6e1e06b3 Remove HAL initialization from #[embassy::main] macro. 2022-08-17 22:16:46 +02:00
bors[bot]
d881f3ad91
Merge #901
901: Update to critical-section 1.0, atomic-polyfill 1.0 r=Dirbaio a=Dirbaio

TODO
- [x] Wait for cortex-m 0.7.6 release https://github.com/rust-embedded/cortex-m/pull/449
- [x] ~~Wait for defmt-rtt 0.4 release https://github.com/knurling-rs/defmt/pull/689~~ we're still going to use defmt 0.3 for now, which will use the `critical-section` 0.2 default impl, which works.
- [x] Wait for critical-secton `std` impl https://github.com/rust-embedded/critical-section/pull/22

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-17 17:05:37 +00:00
Dario Nieuwenhuis
67edea4168 Update to critical-section 1.0, atomic-polyfill 1.0 2022-08-17 19:01:56 +02:00
bors[bot]
16d0ae7678
Merge #907
907: Several macro cleanups r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-17 13:18:58 +00:00
Dario Nieuwenhuis
bd0aaec624 macros: remove embassy_prefix attr.
This was used in the past for reexporting the macros from drogue-device,
which is no longer using it.

Also, it is a pain to support, so we don't want it.
2022-08-17 15:04:59 +02:00
Dario Nieuwenhuis
ef9e373ec4 macros/interrupt_take: do not assume embassy-executor is a dependency of the user crate. 2022-08-17 15:03:23 +02:00
Dario Nieuwenhuis
2649f13dc7 stm32/rcc: fix unnecessary parentheses 2022-08-17 15:03:23 +02:00
Dario Nieuwenhuis
72cd015c1a stm32/sdmmc: remove cast no longer allowed on latest nightly due to nonexhaustive enum. 2022-08-17 14:44:18 +02:00
Dario Nieuwenhuis
13b1ca1eb6 Update nightly. 2022-08-17 13:44:24 +02:00
bors[bot]
6ea8d5f890
Merge #905
905: Rewrite documentation using correct module names r=Dirbaio a=lulf

* Remove traits section now that we have embedded-hal-async and refer to
  it.
* Explanation that embassy is multiple things.
* Bootloader description image

Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-08-16 11:41:35 +00:00
Ulf Lilleengen
d769e562c0 Rewrite documentation using correct module names
* Remove traits section now that we have embedded-hal-async and refer to
  it.
* Explanation that embassy is multiple things.
* Bootloader description image
2022-08-16 11:27:57 +02:00
Dario Nieuwenhuis
68931a36d5 More docserver metadata fix. 2022-08-15 20:42:36 +02:00
Dario Nieuwenhuis
dff6847e9c Add -boot docserver metadata. 2022-08-15 20:41:00 +02:00
Dario Nieuwenhuis
eb811a71ac
Merge pull request #904 from lulf/use-root-component-docs
Use special ROOT component for embassy docs
2022-08-15 19:38:41 +02:00
Ulf Lilleengen
b4ab39c6fa Use special ROOT component for embassy docs 2022-08-15 19:37:48 +02:00
bors[bot]
5790985f9f
Merge #903
903: Update signal.rs r=Dirbaio a=bobmcwhirter

Allow `poll_wait` to be public so higher-order futures around Signal can be built.

Co-authored-by: Bob McWhirter <bmcwhirt@redhat.com>
2022-08-15 15:47:11 +00:00
Bob McWhirter
b273128990 Add documentation to Signal::poll_wait(..). 2022-08-15 11:20:35 -04:00
Bob McWhirter
17b9eb5f86
Update signal.rs
Allow `poll_wait` to be public so higher-order futures around Signal can be built.
2022-08-15 11:07:46 -04:00
Dario Nieuwenhuis
f53367d8ba embassy-docs fixes. 2022-08-15 15:42:48 +02:00
bors[bot]
6ffca81a38
Merge #880
880: Add UDP socket support r=Dirbaio a=arturkow2000



Co-authored-by: Artur Kowalski <artur.kowalski@3mdeb.com>
Co-authored-by: Artur Kowalski <arturkow2000@gmail.com>
2022-08-11 14:17:11 +00:00
Artur Kowalski
ef473827a2 Remove UdpIo struct
UdpIo was shared by split sender/receives halves. Since split() API is
no more UdpIo is not needed and its APIs may be moved into UdpSocket.
2022-08-11 15:52:32 +02:00
bors[bot]
6cae87ee5d
Merge #900
900: net: make TcpIo private. r=Dirbaio a=Dirbaio

It's just an implementation detail to share code between Socket, Reader, Writer. It wasn't supposed to be public.

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-11 11:58:45 +00:00
Dario Nieuwenhuis
0a98f9f48e
net: make TcpIo private.
It's just an implementation detail to share code between Socket, Reader, Writer. It wasn't supposed to be public.
2022-08-11 13:58:13 +02:00
Artur Kowalski
b97983242d Simplify UDP code
Drop unneeded APIs: remove impls of embedded_io error traits, remove
flush() and split() methods.
2022-08-11 08:23:18 +02:00
Artur Kowalski
865a91976c Add UDP example app 2022-08-10 20:13:10 +02:00