Commit Graph

2838 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
fe355af4f0 nrf: update to cortex-m-rt 0.7 2021-08-19 17:11:17 +02:00
Dario Nieuwenhuis
a665b83a19
Merge pull request #365 from embassy-rs/cmrt07
Update cortex-m-rt to v0.7 for stm32, rp.
2021-08-19 01:05:35 +02:00
Dario Nieuwenhuis
d3aeb45fb3 Update cortex-m-rt to v0.7 for stm32, rp. 2021-08-19 00:56:11 +02:00
Dario Nieuwenhuis
c0fb534a00
Merge pull request #364 from embassy-rs/nrf-time-irq-prio
nrf/time: allow configuring the rtc irq prio
2021-08-18 22:17:46 +02:00
Dario Nieuwenhuis
066abfe4c6 nrf/time: allow configuring the rtc irq prio 2021-08-18 22:13:02 +02:00
Dario Nieuwenhuis
2b5d1c068f
Merge pull request #352 from timokroeger/can
CAN support with bxcan crate
2021-08-18 22:04:56 +02:00
Timo Kröger
f141b98741 bxcan: Cleanup
Older families like F1 and F4 have a consistent naming for the CAN
peripherals: CAN when there is only one instance, CAN1/CAN2/CAN2 if
there are multiple instances.
Newer families like L4 and F7 use the name CAN1 even if there is only
one instance. The number of filter banks is incorrect for those.

Affected chips:
* STM32F722
* STM32F723
* STM32F730
* STM32F732
* STM32F733
* STM32L4P5
* STM32L4Q5
* STM32L4R5
* STM32L4R7
* STM32L4R9
* STM32L4S5
* STM32L4S7
* STM32L4S9
* STM32L431
* STM32L432
* STM32L433
* STM32L442
* STM32L443
* STM32L451
* STM32L452
* STM32L462
* STM32L471
* STM32L475
* STM32L476
* STM32L485
* STM32L486
2021-08-18 21:58:50 +02:00
Timo Kröger
0c3bede64f bxcan: Make bxcan a hard dependency
There seems no way to enable a optional dependency from build.rs or
features passed through the command line.
2021-08-18 21:58:50 +02:00
Timo Kröger
dacf75d911 bxcan: Fix the flaky CAN example 2021-08-18 21:58:50 +02:00
Timo Kröger
191a589820 bxcan: namechange "bxcan_v1" -> "can_bxcan" 2021-08-18 21:58:50 +02:00
Timo Kröger
dc6b7f3cba bxcan: Disable on drop 2021-08-18 21:58:50 +02:00
Timo Kröger
7c405250a7 CAN support with bxcan crate 2021-08-18 21:58:50 +02:00
Dario Nieuwenhuis
0fee2b9509
Merge pull request #363 from embassy-rs/update-nightly
Update nightly
2021-08-18 21:56:20 +02:00
Dario Nieuwenhuis
e66922f333 Update nightly 2021-08-18 21:51:22 +02:00
Dario Nieuwenhuis
f907504eb6
Merge pull request #362 from bobmcwhirter/h7-metapac-example
Remove metapac from the Cargo.toml for h7.
2021-08-18 17:55:43 +02:00
Bob McWhirter
5fab514f02 Remove metapac from the Cargo.toml for h7. 2021-08-18 11:44:09 -04:00
Ulf Lilleengen
919cdfe8c4
Add STM32WL55 examples to CI (#361)
* Add STM32WL55 examples to CI and fix warnings
2021-08-18 09:35:08 +02:00
Bob McWhirter
5c5cb1a8ce
Merge pull request #360 from bobmcwhirter/xtask
First shot at xtask support.
2021-08-17 15:43:17 -04:00
Bob McWhirter
61e6b52870 xtask runner for CI types of things and other utilities. 2021-08-17 15:23:08 -04:00
Dario Nieuwenhuis
bc57d6839f
Merge pull request #359 from lulf/stm32wl55
Add example for STM32WL55
2021-08-17 17:58:36 +02:00
Ulf Lilleengen
4df63f5379 Add per-core EXTI support
* Generate a core index put into the PAC for the peripherals to use as
  index into registers.
* Add EXTI v2 which uses CORE_INDEX to index exti registers
2021-08-17 16:22:47 +02:00
Ulf Lilleengen
61409e2fb6 Add example for STM32WL55 2021-08-17 16:22:47 +02:00
Dario Nieuwenhuis
4b74e8fc50
Merge pull request #357 from bobmcwhirter/h7_exti
Add H7 exti button example using correct EXTI reg block offsets.
2021-08-16 21:30:28 +02:00
Bob McWhirter
a93ed2bed6 Add H7 exti button example using correct EXTI reg block offsets. 2021-08-16 15:15:07 -04:00
Ulf Lilleengen
cbff0398bb
Add IRQ-driven buffered USART implementation for STM32 v2 usart (#356)
* Add IRQ-driven buffered USART implementation for STM32 v2 usart

* Implementation based on nRF UARTE, but simplified to not use DMA to
  avoid complex interaction between DMA and USART.
* Implementation of AsyncBufRead and AsyncWrite traits
* Some unit tests to ring buffer
* Update polyfill version
* Update sub module to get usart IRQ fix
2021-08-16 17:16:49 +02:00
Dario Nieuwenhuis
c310f18aaf
Merge pull request #355 from thalesfragoso/dma-fences
stm32: Add fences to DMA code
2021-08-11 13:28:57 +02:00
Thales Fragoso
c7ae2d2a3a stm32: Add fences to DMA code 2021-08-10 20:45:41 -03:00
Dario Nieuwenhuis
0be5e323bb
Merge pull request #354 from embassy-rs/nrf-wdt
nrf: add WDT driver
2021-08-07 14:56:24 +02:00
Dario Nieuwenhuis
2540a960e5 nrf: add WDT driver 2021-08-07 14:26:28 +02:00
Dario Nieuwenhuis
e1abba69b7
Merge pull request #353 from embassy-rs/nrf-update-pacs
nrf: update PACs to 0.10
2021-08-07 13:56:29 +02:00
Dario Nieuwenhuis
452f7e0c2c nrf: update PACs to 0.10 2021-08-07 12:41:12 +02:00
Dario Nieuwenhuis
a361050224
Merge pull request #336 from bgamari/unwrap-consistency
examples: Consistently use unwrap! in favor of .unwrap()
2021-08-05 22:45:00 +02:00
Ben Gamari
a3b56a3764 embassy-macros: Use defmt::unwrap! when spawning embassy::main
But only when `defmt` feature is enabled.
2021-08-05 22:40:12 +02:00
Ben Gamari
40e7176e13 embassy-stm32: Eliminate use of unwrap 2021-08-05 22:40:08 +02:00
Ben Gamari
41aaff95f8 stm32h7: Use unwrap! 2021-08-05 22:39:59 +02:00
Ben Gamari
e44acd0d56 stm32f4: Use unwrap! where possible 2021-08-05 22:39:59 +02:00
Ben Gamari
f4950c4449 examples: Consistently use unwrap! in favor of .unwrap()
Unfortunately errors from `embedded_graphics` and `core` doesn't provide
the necessary instances currently.
2021-08-05 22:39:59 +02:00
Dario Nieuwenhuis
36402b5487
Merge pull request #348 from embassy-rs/remove-portal
Remove Portal. Fixes #32
2021-08-05 22:31:06 +02:00
Dario Nieuwenhuis
446ee9c2c5
Merge pull request #347 from embassy-rs/tmm-fix-ub
util: fix unsoundness when dropping ThreadModeMutex outside thread mode.
2021-08-05 22:30:49 +02:00
Dario Nieuwenhuis
b1240217bd Remove Portal. Fixes #32
Portal is very niche, I've only ever used it in `nrf-softdevice` and in a very particular case:
sending event raw-pointers across tasks but "synchronously", because the destination task must process
it now, so it's not deallocated. For most usecases, Signal or channels is enough.

It's unclear to me whether it can be made ub-free. It has problems with reentrancy. It's also not leak-safe, which is quite annoying.

So, remove it for now. We can always add it back later.
2021-08-05 22:24:03 +02:00
Dario Nieuwenhuis
aaa0d1419c util: fix unsoundness when dropping ThreadModeMutex outside thread mode.
Fixes #283
2021-08-05 22:20:45 +02:00
Dario Nieuwenhuis
8a65128cfe
Merge pull request #338 from embassy-rs/time-driver
Remove dyn in time Clock/Alarm.
2021-08-05 19:25:12 +02:00
Dario Nieuwenhuis
05e50e1f4a time_driver: use regular fn ptr -> raw ptr casts 2021-08-05 19:19:47 +02:00
Dario Nieuwenhuis
b1d631d639 stm32/time: add Cargo features to choose tim2/tim3 2021-08-05 19:14:09 +02:00
Dario Nieuwenhuis
0ea6a2d890 time: replace dyn clock/alarm with a global Driver trait 2021-08-05 19:14:09 +02:00
Dario Nieuwenhuis
a4c0ee6df7
Merge pull request #345 from Liamolucko/forward-task-attributes
Forward attributes to generated task function
2021-08-05 19:13:08 +02:00
Liam Murphy
53e66a383f Forward attributes to generated task function
Fixes #18

Syn considers doc comments to be attributes, so forwarding those fixes the issue.
It's probably a good idea to forward most attributes anyway.
2021-08-05 15:35:50 +10:00
Dario Nieuwenhuis
cfa1f61154
Merge pull request #344 from bobmcwhirter/remove_builders
Remove builders from Config(s) and examples.
2021-08-04 21:32:39 +02:00
Bob McWhirter
9726f77ce1 Grep fails me. 2021-08-04 15:28:08 -04:00
Dario Nieuwenhuis
cee111c865
Merge pull request #306 from embassy-rs/update-nightly
Remove feature(impl_trait_in_bindings), update nightly
2021-08-04 20:34:52 +02:00