chemicstry
6498324b58
Implement I2C pullup configuration
2022-08-09 22:13:35 +03:00
Dario Nieuwenhuis
19d1ef0e29
stm32/gpio: Add Peripheral<Self> bound to Pin.
2022-07-23 14:28:42 +02:00
Dario Nieuwenhuis
4901c34d9c
Rename Unborrowed -> PeripheralRef, Unborrow -> Peripheral
2022-07-23 14:00:19 +02:00
Dario Nieuwenhuis
8a9d2f59af
Update embassy-stm32
2022-07-23 02:40:13 +02:00
Dario Nieuwenhuis
be6408e202
Rename unsafe_impl_unborrow to impl_unborrow
2022-07-23 01:33:22 +02:00
chemicstry
53e40860c1
Move all gpio logic to Flex
2022-07-13 02:45:37 +03:00
chemicstry
a335589f34
Change get_set_level to get_output_level
2022-07-13 02:25:09 +03:00
chemicstry
329955f718
Use Into conversions instead of matches
2022-07-13 02:08:31 +03:00
chemicstry
98dcce81ca
Add more convenience GPIO functions
2022-07-13 01:43:22 +03:00
amugniere@gmail.com
323b0d1a5c
Have removed ANOTHER redondant ErrorType trait impl
2022-07-10 22:01:48 +02:00
amugniere@gmail.com
1eca026ebd
Have removed redondant ErrorType trait impl
2022-07-10 21:36:04 +02:00
amugniere@gmail.com
e4a36e1d98
rustfmt on previously edited files
2022-07-10 21:08:12 +02:00
amugniere@gmail.com
fa3e1ab68a
correction of the access to flex pin attribute in gpio_v2
2022-07-09 14:06:47 +02:00
amugniere@gmail.com
39702d7624
set_as_input_output() and set_as_output() : Have added comments and made functions public
2022-07-08 21:46:16 +02:00
amugniere@gmail.com
4e54d09ab1
Have added OutputOpenDrain with Flex
2022-07-04 22:38:05 +02:00
amugniere@gmail.com
13b259d7cd
Have added Flex to eh01 and eh2
2022-07-04 22:19:02 +02:00
amugniere@gmail.com
359fc4d124
Flex GPIO implementation : Output
2022-06-30 23:03:15 +02:00
amugniere@gmail.com
f05082b9a3
have reverted changed in mod eh1 from previous commit
2022-06-30 22:55:57 +02:00
amugniere@gmail.com
9b3c5af92a
Flex GPIO implementation : Input
2022-06-30 22:50:53 +02:00
Dario Nieuwenhuis
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
Dario Nieuwenhuis
5085100df2
Add embassy-cortex-m crate.
...
- Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`.
- Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore)
- Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
2022-06-12 21:45:38 +02:00
chemicstry
b0ffd9a1cc
Fix AF pullup configuration for GPIOv1
2022-06-06 17:12:52 +03:00
Grant Miller
acc1761637
Remove unnecessary cfg
2022-05-08 14:50:15 -05:00
Grant Miller
b230ac9c1a
stm32/gpio: Add support for set_speed
for gpio v1
2022-05-08 14:43:37 -05:00
Dario Nieuwenhuis
71e46d7efd
stm32/gpio: add EH1.0 trait impls.
2022-05-03 00:52:48 +02:00
Nicolas Viennot
4aba87f983
Inline GPIO functions
...
All GPIO functions are monomorphized (per pin). Inlining these make the
ROM smaller when using opt-level="z"
2022-03-19 14:06:11 -04:00
Dario Nieuwenhuis
53d9a0b516
stm32: exclude spammy files from docs by prefixing with _
.
...
These files end up containing chip-specific info, so they deduplicate
really badly when building docs for all 1200 chips.
The doc generator removes files starting with `_`.
2022-03-04 18:03:41 +01:00
Dario Nieuwenhuis
dd828a7a92
stm32: move macrotables to embassy-stm32 build.rs
2022-02-26 03:23:09 +01:00
Dario Nieuwenhuis
bf80504ac7
stm32: centralize gpio reg access in the gpio module.
2022-02-24 02:49:20 +01:00
Dario Nieuwenhuis
1b3c34b923
stm32/gpio: fix wrong conf for AF input.
2022-02-24 00:37:15 +01:00
Dario Nieuwenhuis
4a75475cfc
stm32: remove unused sealed::OptionalPin
2022-02-12 01:34:09 +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
Dario Nieuwenhuis
8160af6af9
stm32: replace peripheral_rcc!
macrotable with build.rs
2022-02-09 00:58:17 +01:00
Ulf Lilleengen
4032fc0655
Support unstable-trait feature for stm32
2022-01-26 22:39:06 +01:00
Dario Nieuwenhuis
58fc64722c
stm32/gpio: expose all functionality as inherent methods.
2022-01-19 17:59:55 +01:00
Dario Nieuwenhuis
52e156b429
stm32: use critical_section instead of cortex_m::interrupt
2022-01-19 17:59:55 +01:00
Ulf Lilleengen
2bc105803a
Make exti an optional feature
...
* Add embassy-stm32 build with exti
* Add exti to examples
2022-01-12 14:28:10 +01:00
Dario Nieuwenhuis
b0fabfab5d
Update stm32-data: rcc regs info comes from yamls now.
2021-11-29 02:28:02 +01:00
Tobias Pisani
2cbb8a7ece
Add AFType::Input for input configurations.
2021-10-11 22:57:21 +02:00
Tobias Pisani
c44bed300b
Correctly set alternate function for stm32f1 gpios
2021-10-11 22:57:21 +02:00
Tobias Pisani
091e7e1f98
Generate USART pin definitions for stm32f1
2021-10-11 22:57:21 +02:00
Tobias Pisani
39880de958
partial alternate function configuration on STM32f1
2021-10-11 22:57:10 +02:00
Mariusz Ryndzionek
bce909ec1e
Initial STM32F1 family support with two examples for STM32F103C8 (Blue Pill)
2021-09-28 18:31:04 +02:00
Joshua Salzedo
ab60cfd64b
Patch additional regressions
2021-09-27 15:48:56 -07:00
Joshua Salzedo
67e2f9159c
set moder::ALTERNATE last when configuring pins to AF modes.
...
- as per STM32F4xx_hal's impl
2021-09-27 15:27:43 -07:00
Mariusz Ryndzionek
e4b37c40c9
Code review request - moving OutputType
to mod sealed
2021-09-24 19:56:48 +02:00
Mariusz Ryndzionek
d371298a27
Small adjustment to 'set_as_af' interface
...
Small adjustment to 'set_as_af' interface - v2
2021-09-24 18:39:07 +02:00
Dario Nieuwenhuis
7bfb763e09
Rename embassy-extras to embassy-hal-common
2021-07-29 13:44:51 +02:00
Bob McWhirter
650f867b1c
Add a single-column variant to gpio_rcc! macro table
...
which includes just the set of registers that need to be
considered.
Then match against those registers with a single `modify(...)`
2021-07-23 11:32:20 -04:00