Commit graph

2927 commits

Author SHA1 Message Date
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
bors[bot]
24ab21a7dd
Merge #913
913: (embassy-rp): Add DMA implementation r=Dirbaio a=MathiasKoch

This PR adds everything necessary to do peripheral to memory DMA & memory to memory DMA operations.

It also adds async UART read & write, powered by DMA

Co-authored-by: Mathias <mk@blackbird.online>
2022-08-26 10:57:10 +00:00
Mathias
bd27b9080f Add HIL tests of DMA & UART, and correctly set DREQ for uart DMA 2022-08-26 12:55:15 +02:00
bors[bot]
1125d57842
Merge #924
924: Ensure interrupt::take works without embassy-executor r=lulf a=lulf

Add "rtos-trace-interrupt" feature flag on embassy-macros and enable it
for embassy-executor, to ensure that the interrupt::take! macro can be
used without depending on embassy-executor.

Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-08-25 10:46:56 +00:00
Ulf Lilleengen
045ae2c29f Ensure interrupt::take works without embassy-executor
Add "rtos-trace-interrupt" feature flag on embassy-macros and enable it
for embassy-executor, to ensure that the interrupt::take! macro can be
used without depending on embassy-executor.
2022-08-25 12:46:24 +02:00
bors[bot]
529535194d
Merge #926
926: nrf: PPI fixes r=Dirbaio a=Dirbaio

- Feature-gate DPPI-only stuff that should be feature-gated
- Fix unsoundness due to Task/Event ptr being public: this meant you could construct a Task/Event with an arbitrary pointer and then safely call `Ppi::new_*` which would blindly write to it. Now you have to go through `Task/Event::new_unchecked` which is unsafe, with the right safety contract.

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-24 00:05:38 +00:00
Dario Nieuwenhuis
91a9168a32 nrf/ppi: fix unsoundness due to task/event ptrs being public. 2022-08-24 01:54:27 +02:00
Dario Nieuwenhuis
02562ed87d nrf/ppi: feature-gate dppi stuff. 2022-08-24 01:52:15 +02:00
bors[bot]
9947e27ee1
Merge #925
925: Enable 'std' feature on critical-section for WASM r=Dirbaio a=lulf

This fixes the WASM support which was failing due to missing
critical-section implementation. This also upgrades the bindgen
dependency and ensures that tooling works.

Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-08-23 18:41:34 +00:00
Ulf Lilleengen
bd4ae2e952 Enable 'std' feature on critical-section for WASM
This fixes the WASM support which was failing due to missing
critical-section implementation. This also upgrades the bindgen
dependency and ensures that tooling works.
2022-08-23 20:00:34 +02:00
Dario Nieuwenhuis
6530c179b2
Merge pull request #923 from lulf/doc-warnings2
Fix warnings after crate split
2022-08-23 14:30:10 +02:00
Ulf Lilleengen
b6bc627b24 Add README for embassy-futures 2022-08-23 14:05:17 +02:00
Ulf Lilleengen
189d4137cc Add readme for embassy-time 2022-08-23 13:58:57 +02:00
Ulf Lilleengen
7b3ae0446c Remove cargo doc from CI 2022-08-23 13:55:21 +02:00
Ulf Lilleengen
06011f67b2 Add README for embassy-sync 2022-08-23 13:54:40 +02:00
Mathias
b88ef03214 Only check for ahb error in DMA 2022-08-23 13:46:48 +02:00
Mathias
594a64b3bf Change to using embassy-sync 2022-08-23 13:28:14 +02:00
Mathias
36cf719a18 Merge branch 'master' of https://github.com/embassy-rs/embassy into embassy-rp/dma 2022-08-23 13:24:52 +02:00
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
Ulf Lilleengen
7b97e52886 Add doc build to CI for warning-free modules 2022-08-23 08:37:52 +02:00
Ulf Lilleengen
0bb64c2f53 Fix warnings after crate split 2022-08-23 08:37:38 +02:00
bors[bot]
cb9f0ef5b8
Merge #922
922: split `embassy-util` into `embassy-futures`, `embassy-sync`. r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-22 20:18:40 +00:00
Dario Nieuwenhuis
5677b13a86 sync: flatten module structure. 2022-08-22 22:18:13 +02:00
Dario Nieuwenhuis
21072bee48 split embassy-util into embassy-futures, embassy-sync. 2022-08-22 22:18:13 +02:00
bors[bot]
61356181b2
Merge #918
918: Doc warnings r=Dirbaio a=lulf

Fixing a few doc warnings in embassy-executor, embassy-time, embassy-usb and embassy-nrf. There are more left, but I need a break :D 



Co-authored-by: Ulf Lilleengen <lulf@redhat.com>
2022-08-22 14:43:56 +00:00
Ulf Lilleengen
3e155d2ec3 nRF documentation warning fixes 2022-08-22 16:37:35 +02:00
Ulf Lilleengen
5fddff849e Remove warnings for embassy-time 2022-08-22 16:33:39 +02:00
Ulf Lilleengen
f2daad20ab Remove warnings 2022-08-22 16:33:39 +02:00
bors[bot]
53fbd0efb3
Merge #921
921: rp: fix nvic prio bits (it's 2, not 3) r=Dirbaio a=Dirbaio

bors r+

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-22 14:30:06 +00:00
Dario Nieuwenhuis
f48391a685 rp: fix nvic prio bits (it's 2, not 3) 2022-08-22 16:29:34 +02:00
bors[bot]
381ac97746
Merge #920
920: Remove Forever, switch to static_cell. r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-22 14:12:13 +00:00
Dario Nieuwenhuis
478f472784 Remove Forever, switch to static_cell. 2022-08-22 16:11:40 +02:00
bors[bot]
1b95990258
Merge #897
897: Add support for `rtos-trace` behind a feature flag r=lulf a=quentinmit

This allows SystemView to be used to profile the behavior of the user's application.

Co-authored-by: Quentin Smith <quentin@mit.edu>
2022-08-21 13:18:04 +00:00
Quentin Smith
614b894ff8 Switch to crates.io version of systemview-target 2022-08-20 14:16:06 -04:00
bors[bot]
b7d77985cf
Merge #916
916: Lpuart hil r=Dirbaio a=Dirbaio

depends on #915 

bors r+

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-20 01:44:06 +00:00
Dario Nieuwenhuis
461cce255e tests/stm32: add lpuart test on stm32wb55 2022-08-20 03:42:55 +02:00
bors[bot]
872e0026ea
Merge #915
915: Implement support for LPUART r=Dirbaio a=FrozenDroid

Turns out zero commits is not quite enough to get it implemented (#800), so let's try it again ;)

Co-authored-by: Vincent Stakenburg <v.stakenburg@cosinuss.nl>
2022-08-20 00:55:45 +00:00
Quentin Smith
0c7ad54793 Fetch systemview-target from upstream git 2022-08-19 11:58:45 -04:00
Vincent Stakenburg
52c1e48edb update stm32-data 2022-08-19 15:31:26 +02:00
Vincent Stakenburg
51359e7d24 fix lpuart implementation when there isn't one present 2022-08-19 15:27:11 +02:00
Mathias
295af2a057 Fix bit checking in DMA irq 2022-08-19 14:16:19 +02:00
Vincent Stakenburg
a833e02363 implement support for LPUART 2022-08-19 12:05: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