Commit Graph

6517 Commits

Author SHA1 Message Date
Henrik Alsér
27905f1be1 Change DMA write/read to use raw pointers 2022-09-01 15:12:44 +02:00
Henrik Alsér
7954cbc4e7 Add HIL tests 2022-09-01 15:12:44 +02:00
Henrik Alsér
99dd2a9386 Reorder args 2022-09-01 15:12:44 +02:00
Henrik Alsér
6d347af9fa transfer_in_place 2022-09-01 15:12:43 +02:00
Henrik Alsér
c8ecc55710 Fix example 2022-09-01 15:12:43 +02:00
Henrik Alsér
44150c4830 impl embedded-hal-async 2022-09-01 15:12:43 +02:00
Henrik Alsér
07c64d902e example 2022-09-01 15:12:43 +02:00
Henrik Alsér
e7d4bf258a dma 2022-09-01 15:12:43 +02:00
bors[bot]
838f3065ea
Merge #936
936: Add split() method to BufferedUarte in embassy-nrf r=ZoeyR a=ZoeyR

I haven't completed testing this yet. I'm creating this PR early so that I can get corrected if I went way off course.

This PR adds a `split()` method to `BufferedUarte` as discussed on matrix.

Co-authored-by: Zoey Riordan <zoey@dos.cafe>
2022-08-31 10:20:40 +00:00
bors[bot]
1fb6bfbec9
Merge #938
938: Do not use cfg_if for embedded-hal-async feature gates. r=Dirbaio a=Dirbaio

Old code used `cfg_if!` because rustc still parses code inside disabled cfg's, and Rust stable at that time couldn't parse the new GAT where-clause location. This is not the case anymore.


bors r+

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-31 01:11:49 +00:00
Dario Nieuwenhuis
8ba421f324 Do not use cfg_if for embedded-hal-async feature gates.
Old code used `cfg_if!` because rustc still parses code inside disabled cfg's, and Rust stable at that time couldn't parse the new GAT where-clause location. This is not the case anymore.
2022-08-31 03:11:21 +02:00
Dario Nieuwenhuis
2bd7205c79
Merge pull request #9 from jannic-dev-forks/fix-total-len-slice
Fix calculation of slice index
2022-08-31 02:51:15 +02:00
bors[bot]
38900a7fb0
Merge #928
928: Ensure that the sampling is stopped r=Dirbaio a=huntc

Ensures that nRF saadc sampling is stopped and is awaited prior to exiting the two sampling methods. Not doing so causes a potential power drain and the potential for dropped buffer writes when having finished continuous sampling.

Co-authored-by: huntc <huntchr@gmail.com>
2022-08-31 00:31:38 +00:00
Dario Nieuwenhuis
fe08bdf0d8
Merge pull request #937 from embassy-rs/net-stable
net: feature-gate nightly-only async traits to allow building on stable.
2022-08-31 02:08:19 +02:00
huntc
30641d0564 Avoid context switch and wait for stop
Should be more efficient given the sub 100 cycles to wait.
2022-08-31 08:47:44 +10:00
Jan Niehusmann
acaa8b3e8b Fix calculation of slice index
total_len is already rounded up, so the `+ 3` is not needed.
And even if it was, the calculation should have been `((total_len + 3) / 4)`.

`(total_len + 3 / 4)` is equivalent to `total_len` and can overflow
the slice, leading to a panic which can easily be triggered by sending
large ICMP ECHO packets to the device.
2022-08-30 20:37:02 +00:00
Dario Nieuwenhuis
464ae67108 net: feature-gate nightly-only async traits to allow building on stable. 2022-08-30 19:43:32 +02:00
Dario Nieuwenhuis
92ed95780d futures: cargo.toml metadata 2022-08-30 19:29:59 +02:00
Dario Nieuwenhuis
e4d4166da2
Merge pull request #927 from embassy-rs/rp-usb
rp: add usb device support.
2022-08-30 19:15:44 +02:00
Zoey Riordan
171077bacf
Avoid double-borrow 2022-08-30 15:57:38 +02:00
Zoey Riordan
b2720117c4
Deduplicate IO methods 2022-08-30 15:48:50 +02:00
Zoey Riordan
4781feafc4
Add split() method to BufferedUarte in embassy-nrf 2022-08-30 15:27:25 +02:00
huntc
dcd8c62169 Permits the future to be cancelled
Includes documentation
2022-08-30 20:56:56 +10:00
huntc
c0b7fd910e Additional doco 2022-08-30 09:49:04 +10:00
Dario Nieuwenhuis
7542505cf9
Merge pull request #929 from embassy-rs/futures-fixes
embassy-futures additions, prepare for crates.io release
2022-08-29 15:02:04 +02:00
bors[bot]
6a0d7d06b9
Merge #931
931: Add missing std feature for embassy-sync r=lulf a=lulf

Fixes #930

Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-08-29 12:10:06 +00:00
Ulf Lilleengen
782751dfb9 Add missing std feature for embassy-sync
Fixes #930
2022-08-29 10:28:01 +02:00
Dario Nieuwenhuis
6392f06717 futures: readme, docs improvements. 2022-08-29 01:00:22 +02:00
Dario Nieuwenhuis
4c0f1b6354 futures: add join_array. 2022-08-29 01:00:22 +02:00
Dario Nieuwenhuis
598689ef43 futures: move select* and join* to separate modules. 2022-08-29 01:00:22 +02:00
Dario Nieuwenhuis
2a0df652f3 futures: add joins 2022-08-28 23:01:07 +02:00
Dario Nieuwenhuis
764ee3b72c futures: add block_on 2022-08-28 22:54:38 +02:00
Dario Nieuwenhuis
973f3b513f futures: make select_(slice|array) hang intead of panicking if empty. 2022-08-28 22:54:38 +02:00
Dario Nieuwenhuis
3763baf8fa futures: add select_slice, rename select_all to select_array. 2022-08-28 22:54:38 +02:00
Dario Nieuwenhuis
1ee2dfa03e futures: derive defmt for Eithers 2022-08-28 21:15:07 +02:00
Timo Kröger
47069dfbe1 lora: Fix for stm32l0 exampe to build 2022-08-26 15:44:58 +02:00
Timo Kröger
c30b38586a lora: Fix unused import warning 2022-08-26 15:44:58 +02:00
Ulf Lilleengen
2636a8dc2e Use released rust-lorawan with radio fixes 2022-08-26 15:44:58 +02:00
Ulf Lilleengen
6dab322c58 Use LP as default 2022-08-26 15:44:58 +02:00
Ulf Lilleengen
5d114479ff Adjust timings after offset calculation fix 2022-08-26 15:44:58 +02:00
Ulf Lilleengen
1f36da5ca6 Make settings configurable 2022-08-26 15:44:58 +02:00
Ulf Lilleengen
af845b7d44 Add impl for offset radio interface 2022-08-26 15:44:58 +02:00
Timo Kröger
308ca4b8e3 Use pub(crate) visibility for internal SPI
SubGhz provides a public interface for the radio connected to internal SPI
`#[allow(dead_code)]` is required for CI to succeed
2022-08-26 15:44:58 +02:00
Timo Kröger
60ca5e8479 lora: Improve TX/RX parameters
Match the settings used in the C driver
2022-08-26 15:44:58 +02:00
Timo Kröger
84240d49ea stm32wl: Fix RCC
* `MSIRGSEL = 1` was required for MSI accept the updated MSI range
* Reorder enable and clock switching to properly handle the jump from
the default 4MHz MSI to a higher MSI freuquency
2022-08-26 15:44:58 +02:00
Timo Kröger
f31116cafa lora: Make some options configurable
Call `config()` only once at construction not with every RX and TX operation.
The Lora-E5 only supports HP mode, use that instead.
The nucleo board supports both HP and LP and should continue to work.
2022-08-26 15:44:58 +02:00
Timo Kröger
69d80c086d lora: Use a trait for RF frontend switching
The Seeed Studio Lora-E5 module only has two control pins.
With the `RadioSwitch` trait the user can implement any method required
by the module/board to control the TX/RX direction of the radio frontend.
2022-08-26 15:44:58 +02:00
Timo Kröger
6ee29ff0bd lora: Propagate "defmt" feature to lora crates 2022-08-26 15:44:58 +02:00
Timo Kröger
8e8106ef55 lora: Improve IRQ handling
* Interrupt handler only triggers a waker:
Do the actual interrupt processing which involves SUBGHZ SPI coms in the task.
* Do not require a static state for the constructor.
* Remove unsafe from construcor.
2022-08-26 15:44:57 +02:00
Timo Kröger
61c666212f stm32wl: Do not require external SPI pins for SUBGHZ
For the Seeed Studio Lora-E5 those pins conflict with the radio frontend control GPIOS (PA4 and PA5).
2022-08-26 15:42:25 +02:00