Matous Hybl
eb6910fa86
Reexport unborrow macro in HALs
2022-04-07 12:57:02 +02:00
Dario Nieuwenhuis
27a1b0ea73
Simpler Channel.
...
- Allow initializing in a static, without Forever.
- Remove ability to close, since in embedded enviromnents channels usually live forever and don't get closed.
- Remove MPSC restriction, it's MPMC now. Rename "mpsc" to "channel".
- `Sender` and `Receiver` are still available if you want to enforce a piece of code only has send/receive access, but are optional: you can send/receive directly into the Channel if you want.
2022-04-06 01:34:08 +02:00
Dario Nieuwenhuis
82803bffda
Use embassy/defmt-timestamp-uptime in all examples.
2022-04-02 04:35:06 +02:00
chemicstry
9d71acc49e
Cleanup
2022-03-16 23:55:07 +02:00
chemicstry
8a8e5c4b73
Fix SDMMC v2 and add H7 example
2022-03-16 20:20:39 +02:00
Ulf Lilleengen
e09bde9345
Add support for splitting stm32 usart into TX and RX
...
* Keeps existing API for usart, but wraps it in Tx and Rx sub-types
* Adds split() method similar to nRF for getting indepdendent TX and RX
parts
* Implements e-h traits for TX and RX types
* Add stm32h7 example
2022-03-15 10:35:37 +01:00
Matous Hybl
a88c5e716e
stm32: Register access for timers now doesn't require self
2022-02-28 16:20:42 +01:00
Dario Nieuwenhuis
b99ab3d5d9
stm32: Add standard crate-wide macros for pin/dma traits, switch all drivers to use them.
2022-02-10 21:38:03 +01:00
Dario Nieuwenhuis
550da471be
stm32: Remove OptionalPin
...
The idea behind OptionalPin has a few problems:
- you need to impl the signal traits for NoPin which is a bit weird https://github.com/embassy-rs/embassy/blob/master/embassy-stm32/src/dcmi.rs#L413-L416
- you can pass any combination of set/unset pins, which needs checking at runtime https://github.com/embassy-rs/embassy/blob/master/embassy-stm32/src/dcmi.rs#L130
The replacement is to do multiple `new` constructors for each combination of pins you want to take.
2022-02-10 02:38:10 +01:00
Matous Hybl
d37d714314
stm32: Add support for FMC
2022-02-08 17:30:20 +01:00
Dario Nieuwenhuis
0719b05d63
traits: migrate Delay to embedded-hal 1.0+async, remove Rng and Flash.
2022-01-27 00:08:02 +01:00
Ulf Lilleengen
4032fc0655
Support unstable-trait feature for stm32
2022-01-26 22:39:06 +01:00
Dario Nieuwenhuis
889d757ab8
stm32/spi: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
Dario Nieuwenhuis
c949519714
stm32/usart: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
Dario Nieuwenhuis
b526addf7b
stm32/exti: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
Dario Nieuwenhuis
58fc64722c
stm32/gpio: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
Matous Hybl
e056bedd55
Port the PWM example to H7, add low-level API example implementing 32-bit PWM.
2022-01-13 16:53:55 +01:00
Dario Nieuwenhuis
89b009b11d
stm32h7/rcc: remove unneeded DMA enable settings.
...
These are automatically enabled by dma::init().
2022-01-04 13:31:30 +01:00
Matous Hybl
484c356c03
Add DCMI example.
2021-12-09 12:56:39 +01:00
Dario Nieuwenhuis
3332c40705
examples: remove unused deps.
2021-11-29 02:07:48 +01:00
Matous Hybl
c14642cffc
Add MCO peripheral.
2021-11-11 11:34:09 +01:00
Matous Hybl
9b5d9fbfca
Fix v2 ethernet pin definitions. Fix ethernet example for H7 nucleos.
2021-11-04 16:25:30 +01:00
Dario Nieuwenhuis
de016e8456
Remove trait_alias, allow(incomplete_features).
...
trait_alias seems unused. no idea why it's there.
2021-09-03 17:00:58 +02:00
Bob McWhirter
aaa4a477d5
Formatting.
2021-09-01 09:47:46 -04:00
Bob McWhirter
37ceae908b
Rename Random impl to Rng.
...
Create Random struct providing next_x(range) for all T:Rng.
2021-09-01 09:39:33 -04:00
Bob McWhirter
fd7a76c59e
Formatting. Always formatting.
2021-08-30 09:57:31 -04:00
Bob McWhirter
7fa3b27cac
Move random utils to another trait.
2021-08-30 09:55:29 -04:00
Bob McWhirter
78f7d1b786
Add example using ranged RNG.
2021-08-27 16:10:50 -04:00
Dario Nieuwenhuis
2c992f7010
stm32: move dbgmcu stuff to toplevel config setting, defaulting to true.
2021-08-19 23:50:19 +02:00
Bob McWhirter
a93ed2bed6
Add H7 exti button example using correct EXTI reg block offsets.
2021-08-16 15:15:07 -04: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
0ea6a2d890
time: replace dyn clock/alarm with a global Driver trait
2021-08-05 19:14:09 +02: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
Dario Nieuwenhuis
07d4b196f7
Update nightly, remove removed features.
2021-08-04 19:48:14 +02:00
Bob McWhirter
f91bfef799
Formatting again.
2021-08-04 13:42:06 -04:00
Bob McWhirter
f4971fbb79
Further work sharing config for example and removing duplicated code.
2021-08-04 13:39:02 -04:00
Bob McWhirter
4fe9114695
Remove unused import.
2021-08-04 11:40:47 -04:00
Bob McWhirter
0787c8f8f5
Formatting.
2021-08-04 11:35:18 -04:00
Bob McWhirter
03f15d3a60
Remove builders from Config(s) and examples.
2021-08-04 11:32:39 -04:00
Dario Nieuwenhuis
5d31dd328f
Merge pull request #341 from lulf/usart-dma-read
...
Add uart::Read DMA-based implementation
2021-08-04 11:02:15 +02:00
Ulf Lilleengen
0d02342b2d
Rename bread -> read_blocking
2021-08-04 08:34:30 +02:00
Bob McWhirter
3e6aceaaa7
Run cargo-fmt on the h7 examples.
2021-08-03 14:31:41 -04:00
Bob McWhirter
d7409d63e8
Enhance Rcc configuration to be more fluentish.
...
Clean up H7 examples to remove all vegan HALs and PACs.
2021-08-03 13:57:18 -04:00
Ulf Lilleengen
6ff0614cb6
Add uart::Read DMA-based implementation
...
* Rename existing read() to bread() (blocking)
2021-08-03 15:31:24 +02:00
Dario Nieuwenhuis
63ac7ac799
Mark new
s as unsafe due to not being leak-safe.
2021-08-02 19:55:04 +02:00
Dario Nieuwenhuis
af87031d62
hal-common: remove Pin in PeripheralMutex
2021-08-02 19:55:04 +02:00
Bob McWhirter
a1dac21bdf
Make SPIv3 work with DMA.
...
Add both DMA and non-DMA example to H7.
2021-07-23 13:22:39 -04:00
Timo Kröger
5ac91933ff
stm32: No need to enable GPIO clocks manually
2021-07-23 17:54:13 +02:00
Bob McWhirter
13873df30b
Auto-enable all GPIOs during init().
2021-07-23 11:32:19 -04:00
Bob McWhirter
d68f2617e6
Add a Dbgmcu
struct capable of enabling all relevant DBGMCU.cr fields.
...
Includes the addition of a `dbgmcu!(...)` macro table which currently takes
the form of
(cr, $fn_name:ident)
where `$fn_name` is something like `set_dbgsleep_d1` etc.
The method is unsafe, since it's performing unsafe PAC operations.
Two examples modified to demonstrate its usage.
2021-07-22 14:18:48 -04:00