Commit Graph

1888 Commits

Author SHA1 Message Date
James Munns
930b8f3495 Add some uncontroversial derives to Error types 2023-10-06 17:45:35 +02:00
Will Glynn
38e7709a24 stm32: u5: implement >55 MHz clock speeds
This commit allows STM32U5 devices to operate at 160 MHz.

On STM32U5, MSIS can run at 48 MHz and HSE can reach 50 MHz. Faster
clocks require using PLL1's R output, though PLL1 can serve other
functions besides using the R output for the system clock. This commit
extracts a public `PllConfig` struct, primarily to place associated
constructors on that type, but also with an eye towards enabling the P
and Q outputs in a later commit.

STM32U5 PLLs have various frequency requirements on each stage: after
the `m` prescaler, after the `n` multiplier, and after the `r` divider.
This commit implements the associated checks as assertions.

This commit fixes clock calculation and PLL register configuration
errors in PLL initialization.

STM32U5 has a PWR peripheral which can be configured to push Vcore into
different voltage ranges. System clocks exceeding 55 MHz require range
2, and system clocks exceeding 110 MHz require range 1. This commit
adds `voltage_range` to `Config` and configures PWR as directed.

The voltage range implies different performance limits on various clock
signals, including inside a PLL. This commit implements voltage range
<-> frequency range checks as assertions, and extracts the
otherwise-repeated MSIS, HSI16, and HSE initialization into private
methods on `Config`.

STM32U5 frequencies above 55 MHz require using the PWR EPOD booster.
The EPOD booster requires configuring a second `m` term for PLL1,
`mboost`, such that it falls in a particular range. (Recall that >50
MHz cannot be reached without PLL1, so there is no scenario where EPOD
is needed but PLL1 is not.) This commit configures and enables the EPOD
booster automatically as required.
2023-10-05 22:13:27 -05:00
xoviat
42176b1a3a
Merge pull request #2013 from xoviat/opamp
stm32: update metapac and fix opamp ch
2023-10-04 21:20:42 +00:00
xoviat
e1a0635ca3 stm32: update metapac and fix opamp ch 2023-10-04 16:15:08 -05:00
Gabriel Górski
c6513f93fe stm32/gpio: Implement eh1::digital::InputPin for OutputOpenDrain
Pins in open-drain mode are outputs and inputs simultaneously.
2023-10-04 18:20:25 +02:00
Dario Nieuwenhuis
0324cee0ca update embedded-io, embedded-nal-async. 2023-10-04 00:10:55 +02:00
xoviat
0c4cddfafb Merge branch 'main' of github.com:embassy-rs/embassy into opamp 2023-10-03 16:44:44 -05:00
xoviat
e561e673c2 stm32: add opamp mod and update pac 2023-10-03 16:34:13 -05:00
xoviat
bb8a1b7f1f wpan: re-enable HIL tests 2023-10-03 15:53:22 -05:00
Dario Nieuwenhuis
6e901846df
Merge pull request #1995 from JuliDi/quadspi
[STM32] QUADSPI support bank 2
2023-10-03 01:55:27 +00:00
xoviat
bc203ebe4b Merge branch 'main' of github.com:embassy-rs/embassy into fix-stop 2023-10-02 18:30:41 -05:00
xoviat
e042b3056d stm32: fix stop 2023-10-02 18:11:03 -05:00
Dario Nieuwenhuis
b856d760f4 stm32/rcc: reset backup domain before enabling LSE. 2023-10-02 22:12:50 +02:00
Dion Dokter
a9dc887060 Added clarifying comment 2023-10-02 21:41:30 +02:00
Dion Dokter
137e47f98d Do affect the frequency 2023-10-02 21:14:44 +02:00
Dario Nieuwenhuis
9228a6334b
Merge pull request #1996 from embassy-rs/update-nightly
Update Nightly.
2023-10-02 17:29:21 +00:00
Loïc Damien
bf6e06060b
stm32: avoid useless endian conversion in rng 2023-10-02 17:20:58 +02:00
Dario Nieuwenhuis
eb12114345 Remove impl_trait_projections. 2023-10-02 14:00:49 +02:00
JuliDi
923f1851ee
remove debug logging in build.rs 2023-10-02 09:36:11 +02:00
JuliDi
bd267a6479
move stm32h7 specific import 2023-10-02 09:34:59 +02:00
JuliDi
f3aa0cfe5a
remove debug code, add some comments 2023-10-02 09:33:10 +02:00
JuliDi
6ea5aa347d
feature-gate errata workaround for h7 2023-10-02 09:30:58 +02:00
JuliDi
8c13126cff
make push/pull settings for pins explicit 2023-10-02 09:30:58 +02:00
JuliDi
81da9ca621
Bump stm32-metapac, add flash selection 2023-10-02 09:30:58 +02:00
JuliDi
729338875c
support QSPI BK2 2023-10-02 09:30:57 +02:00
Dion Dokter
561126b0d6 stm32: Add the ability to center-align timers 2023-10-01 23:09:01 +02:00
Dario Nieuwenhuis
2af97e7595 rcc/f4: fix build on stm32f446
fixes #1989
2023-10-01 23:01:58 +02:00
xoviat
05218a52e6 stm32: update set_config 2023-10-01 09:39:10 -05:00
xoviat
a7b1e51650
Merge pull request #1987 from tyler-gilbert/issue-1986-add-sai-receiver-driver
Issue 1986 add sai receiver driver
2023-10-01 14:06:25 +00:00
JuliDi
93adbb9922
update stm32-metapac 2023-10-01 12:41:08 +02:00
JuliDi
e80df91e02
update stm32-metapac revision 2023-10-01 12:34:26 +02:00
JuliDi
5cb58754d4
skip _C pins for pin impls if split_feature not enabled. 2023-10-01 12:32:47 +02:00
JuliDi
5c83179071
change split_features from array to Vec 2023-10-01 12:32:47 +02:00
JuliDi
49608714aa
cleanup, fix pushing to pins_table 2023-10-01 12:32:47 +02:00
JuliDi
f116ca83e0
check whether split-feature is valid 2023-10-01 12:32:47 +02:00
JuliDi
6e5f3f9515
update to testing pr #1889 2023-10-01 12:32:46 +02:00
JuliDi
5924cc8b49
handle _C pins 2023-10-01 12:30:34 +02:00
Tyler Gilbert
0d49aaf8ca Issue #1986 fix ci build errors 2023-09-30 22:51:23 -05:00
Tyler Gilbert
5dd9e9b3b7 issue #1986 separate blocks to prevent unsafe user code 2023-09-30 22:48:49 -05:00
Tyler Gilbert
d42cfda2db Issue #1986 add PartialEq to SyncEnable to fix build error on sai_v4 2023-09-30 19:51:00 -05:00
Tyler Gilbert
d1f4511cd1 Issue #1986 update the SAI driver with receiver capability 2023-09-30 19:43:44 -05:00
xoviat
7bc57ca3f7
Merge pull request #1975 from tyler-gilbert/issue-1974-add-sai-driver
Issue 1974 add sai driver
2023-09-30 20:04:26 +00:00
xoviat
4999de6f82 rustfmt 2023-09-30 12:53:17 -05:00
Daniel Berlin
9b8bdad403 Fix clippy error exposed by moving out of macros 2023-09-30 13:07:11 -04:00
Daniel Berlin
3c3fb0a529 Remove unused imports 2023-09-30 12:20:31 -04:00
Daniel Berlin
dc4c27aead Move one more method out of macros 2023-09-30 12:16:47 -04:00
Daniel Berlin
74eb519810 Move trait impls out of macros 2023-09-30 12:14:20 -04:00
Daniel Berlin
61dc36b1f2 Fix small formatting issue 2023-09-30 11:36:32 -04:00
Daniel Berlin
55a0a15be2 Fix trait inconsistency between sealed traits and implementations 2023-09-30 11:19:09 -04:00
Tyler Gilbert
1be5f193c3 #Issue 1974 more whitespace fixes 2023-09-29 21:53:01 -05:00
Tyler Gilbert
4a632e08b7 #Issue 1974 fix extra whitespace 2023-09-29 21:46:19 -05:00
Tyler Gilbert
6cdee93934 #Issue 1974 fix more warnings treated as errors 2023-09-29 21:27:15 -05:00
Tyler Gilbert
5c8c1b2146 #Issue 1974 fix warnings 2023-09-29 21:16:20 -05:00
Tyler Gilbert
2addfc4b86 Merge branch 'issue-1974-add-sai-driver' of https://github.com/tyler-gilbert/embassy into issue-1974-add-sai-driver 2023-09-29 21:08:21 -05:00
Tyler Gilbert
92df87781d Issue 1974 add sai/mod file 2023-09-29 21:08:07 -05:00
Tyler
a35d149cb1
Revert metapac change in Cargo.toml 2023-09-29 21:07:09 -05:00
Tyler
2f9b59c5cf
Merge branch 'main' into issue-1974-add-sai-driver 2023-09-29 20:02:24 -06:00
Tyler Gilbert
ce91fb2bfc Issue #1974 add SAI driver 2023-09-29 20:57:59 -05:00
Daniel Berlin
dffdb9268b
Revert "Forgot set_count_direction and set_clock_division in 32 bit instance" 2023-09-28 21:56:18 -04:00
Dario Nieuwenhuis
22e820b743
Merge pull request #1969 from dberlin/main
Forgot set_count_direction and set_clock_division in 32 bit instance
2023-09-29 00:38:45 +00:00
xoviat
39f1b26a39 stm32: update metapac and remove sbs 2023-09-28 19:21:02 -05:00
Daniel Berlin
e70143ef8f Forgot set_count_direction and set_clock_division in 32 bit instance 2023-09-28 20:01:04 -04:00
xoviat
d6654bf8b5
Merge pull request #1966 from xoviat/hrtim
stm32/hrtim: move traits out of macro def'n
2023-09-28 20:53:55 +00:00
xoviat
322a4a8401 stm32/hrtim: move traits out of macro def'n 2023-09-28 15:48:46 -05:00
Daniel Berlin
23f3889167 Add support for STM32 input capture filter 2023-09-28 09:35:43 -04:00
xoviat
a72a91ab06
Merge pull request #1963 from Mirror0/restore-f7-rtc
Restore RTC configuration for `STM32F7` boards
2023-09-28 11:32:50 +00:00
Dario Nieuwenhuis
e538aeacc8
Merge pull request #1960 from embassy-rs/test-eth-2
Net fixes
2023-09-28 03:39:10 +00:00
Dario Nieuwenhuis
6200d22438 stm32/eth: fix receiving large frames on v2. 2023-09-28 05:12:35 +02:00
xoviat
901d31e8f8
Merge pull request #1933 from xoviat/adc
stm32: more adc cleanup
2023-09-28 01:59:51 +00:00
xoviat
79146c4bd5 stm32/adc: cleanup f1, f3, v1, and v2 2023-09-27 20:58:46 -05:00
Daniel Berlin
f866735802 Add support for input capture function 2023-09-27 20:15:57 -04:00
Mateusz Butkiewicz
e1951f3ddf feat(stm32f7): restore rtc configuration for stm32f7 series 2023-09-27 16:08:05 +02:00
Dario Nieuwenhuis
a57e48459e stm32/rcc: remove bad limits on l5. 2023-09-26 05:15:09 +02:00
Dario Nieuwenhuis
c604d8a8f1 stm32/rcc: add voltage_scale, flash waitstates. 2023-09-26 05:15:09 +02:00
Dario Nieuwenhuis
44bb405683 stm32/usart: enable fifo mode on usartv4. 2023-09-26 04:38:53 +02:00
Dario Nieuwenhuis
5d8817d109 stm32/usart: return error instead of panicking on bad baudrate. 2023-09-26 00:19:27 +02:00
xoviat
96edbd84fb rtc: use enable on known working chips only 2023-09-25 16:38:30 -05:00
xoviat
dc400a0539 stm32/rtc: always set wakeup alarm 2023-09-25 16:27:08 -05:00
xoviat
04b09a2acb stm32/rtc: use rccperi enable 2023-09-25 16:26:29 -05:00
Dario Nieuwenhuis
bd9021ca1d Make irq token Copy+Clone 2023-09-25 22:35:31 +02:00
xoviat
2543bcafaf
Merge pull request #1945 from xoviat/bd-2
stm32: fix bd lsi
2023-09-24 23:41:04 +00:00
xoviat
9f2fc04caa stm32: fix bd lsi 2023-09-24 18:37:09 -05:00
Dario Nieuwenhuis
e03239e88d stm32: centralize enabling pwr, syscfg, flash. 2023-09-25 01:07:55 +02:00
xoviat
c849620cd6 stm32/lp: clamp requested_duration to avoid overflow 2023-09-22 15:35:20 -05:00
xoviat
7cf327130e stm32/low-power: create one critical-section for all time ops 2023-09-21 19:32:48 -05:00
Dario Nieuwenhuis
47175198c0 stm32: update metapac. 2023-09-22 00:13:57 +02:00
Dario Nieuwenhuis
83b4c01273 stm32/rcc: unify h5 and h7. 2023-09-21 23:47:56 +02:00
Christian Enderle
ad64d7b20b fix low-power: APB1 needed for LSE 2023-09-21 17:17:58 +02:00
xoviat
5626a28af2
Merge pull request #1930 from xoviat/adc
stm32/adc: make v1 async
2023-09-20 22:45:51 +00:00
Dario Nieuwenhuis
00b9f9acef stm32/h7: fix bad PWR reg versions. 2023-09-21 00:23:56 +02:00
xoviat
d46920dce6 stm32/adc: make v1 async and leave en 2023-09-20 16:07:35 -05:00
Sebastian Goll
2405aff11f Add get_level() to ExtiInput 2023-09-20 00:03:39 +02:00
Sebastian Goll
561696dfad Fix typo in F2 RCC voltage ranges 2023-09-19 10:20:25 +02:00
xoviat
b1abaa380f
Merge pull request #1919 from xoviat/adc
adc/f3: add async conversion
2023-09-18 21:32:59 +00:00
xoviat
e640933e2f stm32/adc: add async conversion 2023-09-18 16:31:20 -05:00
Dario Nieuwenhuis
4bfbcd6c72 stm32: use PAC enums for VOS. 2023-09-18 03:15:15 +02:00
xoviat
feaeee1e83 stm32: misc. cleanup 2023-09-17 18:47:22 -05:00
xoviat
a6ef314be1 stm32: update configure_ls as agreed 2023-09-17 18:41:45 -05:00
Scott Mabin
88eb5cca71 stm32: Implement set_config for Uart structs 2023-09-17 18:38:03 +01:00
Scott Mabin
087ef918bf stm32: Add RtcTimeProvider struct to Rtc module
This struct allows users to acquire the current time without putting `Rtc`
in a mutex and passing that around. This is allowed because reading from the
rtc registers is atomic.
2023-09-17 18:04:05 +01:00
Dario Nieuwenhuis
bbe1d96045 stm32/rcc: use AHBPrescaler div impls in stm32wba 2023-09-17 02:30:50 +02:00
xoviat
de2773afdd stm32/rcc: convert bus prescalers to pac enums 2023-09-16 17:41:11 -05:00
xoviat
ad0a306ea5 stm32: fix wpan_ble test 2023-09-16 10:19:09 -05:00
Dario Nieuwenhuis
8315cf064e stm32: add stm32wba support. 2023-09-16 04:04:45 +02:00
xoviat
f27620cc0b
Merge pull request #1909 from xoviat/adc
stm32: generate adc_common and misc.
2023-09-15 23:49:41 +00:00
xoviat
6da75ea285 stm32: rtc/low-power cleanup 2023-09-15 18:41:33 -05:00
xoviat
aa2fa29b89 stm32: fix adc f3 startup time
closes #1888.
2023-09-15 17:36:21 -05:00
xoviat
c28a6bdd0b stm32: generate adc_common 2023-09-15 17:35:53 -05:00
Christian Enderle
45e9e51bdc Fix low-power feature for STM32L0 2023-09-15 16:36:51 +02:00
xoviat
9fb14379c3 stm32: add lp to l0 2023-09-14 18:53:27 -05:00
xoviat
309c3d6b47 update metapac 2023-09-14 18:36:03 -05:00
Ulf Lilleengen
1b20ba27b1 feat: bump embassy-sync version to 0.3.0
Update changelog in preparation for release
2023-09-14 18:26:00 +02:00
Dario Nieuwenhuis
b118c4cc1b
Merge pull request #1899 from tarfu/bump-fmc
stm32: bump fmc version
2023-09-14 12:34:19 +00:00
Tobias Breitwieser
dcd1a91966 stm32: bump fmc version 2023-09-14 14:07:15 +02:00
Mathias
49847ff432 Implement blocking embedded-io::Write for Uart & UartTx 2023-09-14 10:09:09 +02:00
cumthugo
582ef90994 stm32/usart: fix usart not wake up issue 2023-09-13 23:47:46 +08:00
xoviat
d36e7abb71 adc/f3: fix delay calculation 2023-09-11 18:52:52 -05:00
xoviat
44a5c32ea4 adc/f3: fix startup bug 2023-09-11 17:27:47 -05:00
xoviat
b9889ad3b5 stm32: add g4 adc345 and misc. 2023-09-11 17:12:54 -05:00
xoviat
e308286f3c
Merge pull request #1881 from MabezDev/sdmmc-stbiterr
Handle stbiterr in 4bit wide mode for sdmmc_v1
2023-09-10 19:52:47 +00:00
Scott Mabin
268da2fcde Handle stbiterr in 4bit wide mode for sdmmc_v1 2023-09-10 20:27:38 +01:00
xoviat
1bae34d37c stm32: fix docs 2023-09-10 13:50:28 -05:00
xoviat
08415e001e stm32/f3: add high res for hrtim and misc. 2023-09-10 13:33:17 -05:00
xoviat
70a4a193c5 stm32: fix adc f3 and example 2023-09-09 22:01:51 -05:00
xoviat
11a78fb1e4 rcc: more cleanup 2023-09-08 18:20:58 -05:00
xoviat
4550452f43 rustfmt 2023-09-06 17:53:02 -05:00
xoviat
08410432b5 stm32: fix rcc merge 2023-09-06 17:51:40 -05:00
xoviat
3cf3caa3ab
Merge branch 'main' into rcc-bd 2023-09-06 17:49:29 -05:00
xoviat
c21ad04c2e stm32: extract lse/lsi into bd mod 2023-09-06 17:48:12 -05:00
xoviat
d097c99719 stm32/rcc: add lsi and lse bd abstraction 2023-09-06 17:33:56 -05:00
Olle Sandberg
c356585a59 update metapac tag 2023-09-06 11:49:18 +02:00
Olle Sandberg
0d3ff34d80 adc: enable ADC and clock selection for STM32WLx 2023-09-06 06:57:30 +02:00
Olle Sandberg
bb2d6c8542 adc_v3: replace cfg(stm32g0) + friends with cfg(adc_g0)
Since any MCU (not just STM32G0) using adc_g0 should probably be handled the same way.
2023-09-06 06:57:28 +02:00
xoviat
a05afc5426
Merge pull request #1867 from xoviat/adc-g4
Adc g4
2023-09-05 23:31:03 +00:00
xoviat
50116e5b27 remove paste dependency 2023-09-05 18:20:17 -05:00
Scott Mabin
6770d8e8a6 Allow the RTC clock source to be configured with the new RTC mechanism 2023-09-06 00:04:09 +01:00
xoviat
7307098780 stm32: don't generate adc5 2023-09-05 17:50:45 -05:00
xoviat
f4601af2a4 stm32: don't generate adc4 for g4 2023-09-05 17:48:20 -05:00
xoviat
fd22f4fac5 stm32: remove paste and use refcount statics 2023-09-05 17:45:52 -05:00
xoviat
7622d2eb61 stm32: fix merge issues 2023-09-05 17:10:15 -05:00
xoviat
7573160077 Merge branch 'main' of https://github.com/embassy-rs/embassy into adc-g4 2023-09-05 17:02:28 -05:00
xoviat
f502271940 stm32: add initial adc f3 impl 2023-09-05 16:46:57 -05:00
Daehyeok Mun
49ba9c3da2 initial support for STM32G4 ADC 2023-09-04 23:36:41 -07:00
xoviat
d19e1c1dd1 stm32: only refcount usart and use kind direclty 2023-09-04 16:18:31 -05:00
xoviat
6dc56d2b35 stm32: include uart-named peripherals 2023-09-04 16:04:29 -05:00
xoviat
bfb4cf775a remove adc refcount 2023-09-04 15:54:00 -05:00
xoviat
274f63a879 stm32: fix refcounts for usart, spi, and i2c 2023-09-04 15:47:33 -05:00
xoviat
3466c9cfa9 stm32: refcount peripheral enable/disable 2023-09-04 13:47:02 -05:00
xoviat
2e6f4237f2 stm32: cleanup psc design 2023-09-03 11:40:34 -05:00
xoviat
1d87ec9cc3
stm32/qei: fix struct naming (#1852)
Co-authored-by: xoviat <xoviat@users.noreply.github.com>
2023-09-02 00:30:27 +02:00
xoviat
56351cedcb
Merge pull request #1844 from xoviat/rtc
stm32/rtc: autocompute prescalers
2023-08-30 23:28:00 +00:00
xoviat
0823d9dc93
Merge pull request #1845 from xoviat/qei
stm32: add qei
2023-08-30 23:16:33 +00:00
xoviat
c10fb7c1c4 stm32: implement qei 2023-08-30 18:10:26 -05:00
Dion Dokter
36ec9bcc1d Stm32 timer prevent hardfault 2023-08-30 19:35:15 +02:00
xoviat
416ecc73d8 add qei draft 2023-08-29 20:06:53 -05:00
xoviat
27dfced285 stm32: fix rcc wb 2023-08-29 19:51:21 -05:00
xoviat
21681d8b4e rustfmt 2023-08-29 19:44:43 -05:00
xoviat
989c98f316 stm32/rtc: autocompute prescalers 2023-08-29 19:41:03 -05:00
Dario Nieuwenhuis
5e613d9abb Sync all fmt.rs files. 2023-08-30 01:37:18 +02:00
xoviat
a4d78a6552
Merge pull request #1835 from oll3/fix/stm32-rng
stm32: fix wait for RNG data
2023-08-28 21:38:54 +00:00
xoviat
f503417f4c
Merge pull request #1833 from xoviat/rtc
stm32: misc rtc fixes
2023-08-28 21:18:42 +00:00
xoviat
6b8b145266 stm32: revert changes to rcc f4 2023-08-28 16:17:42 -05:00
xoviat
e07f943562 rustfmt 2023-08-28 15:52:13 -05:00
xoviat
70a5221b2e stm32/bd: consolidate enable_rtc 2023-08-28 15:34:08 -05:00
xoviat
b315c28d4e stm32/rtc: remove rtc-debug and asbtract exti wakeup 2023-08-28 15:30:29 -05:00
Jesse Braham
1f63bf4153 Release embassy-time v0.1.3 2023-08-28 08:00:18 -07:00
Olle Sandberg
fd739250ea stm32: fix wait for RNG data
If no data was available to read then the loop would wait for an interrupt and skip to the next chunk without writing the current one.
This could cause the given slice to only be partially filled with random data.

Fixed by moving the wait to before actually writing data to the chunk.
2023-08-28 11:44:05 +02:00
xoviat
2c80784fe6 stm32/rtc: feature-gate instant 2023-08-27 21:26:29 -05:00
xoviat
538001a4bc stm32/rtc: fix psc div 2023-08-27 21:24:16 -05:00
xoviat
e981cd4968 stm32: fix rtc wakeup timing and add dbg 2023-08-27 21:15:57 -05:00
xoviat
9f928010a8 stm32/rtc: use psc to compute instants 2023-08-27 16:06:33 -05:00
xoviat
f77a7fe4bf Merge branch 'main' of https://github.com/aidant/embassy into rtc 2023-08-27 15:23:25 -05:00
xoviat
cbc92dce05 stm32/bd: fix errors 2023-08-27 15:18:34 -05:00
xoviat
531f51d0eb rcc/bd: consolidate mod 2023-08-27 15:01:09 -05:00
xoviat
f28ab18d7b stm32: fix l4 re-export 2023-08-27 09:50:02 -05:00
xoviat
3bf6081eb5 stm32: fix wl re-export 2023-08-27 09:41:31 -05:00
xoviat
fb942e6675 stm32: re-export rtcclocksource 2023-08-27 09:25:14 -05:00
xoviat
10ea068027 stm32/bd: allow dead code 2023-08-27 09:12:04 -05:00
xoviat
4caa8497fc stm32: extract backupdomain into mod 2023-08-27 09:07:34 -05:00
xoviat
48085939e7 stm32/rcc: rename common to bus 2023-08-27 08:35:13 -05:00
aidant
59a5e84df5 fix day of the week conversion 2023-08-27 18:36:35 +10:00
xoviat
94de1a5353 stm32: feature-gate wakeup alarm 2023-08-26 20:40:21 -05:00
xoviat
db71887817 tests/stm32: add stop and cleanpu 2023-08-26 20:37:01 -05:00
xoviat
1e430f7413 stm32: complete stop impl. 2023-08-26 20:31:12 -05:00
xoviat
2897670f24 stm32: get the basic lp working 2023-08-26 19:23:25 -05:00
xoviat
3023e70ccf stm32: clenaup lp executor 2023-08-25 18:41:51 -05:00
xoviat
cda4047310 stm32: flesh out lp executor 2023-08-24 19:29:11 -05:00
xoviat
ecc305bbfe stm32: fix executor version 2023-08-23 20:28:41 -05:00
xoviat
00aadf6085 stm32/lp: pipe through lp ready 2023-08-23 20:22:11 -05:00
xoviat
83f224e140 stm32/lp: add refcount 2023-08-23 20:18:34 -05:00
xoviat
e987259716 rtc: cleanup 2023-08-23 20:01:35 -05:00
xoviat
fc04d2a33c rtc: get wakup irq working 2023-08-23 19:52:32 -05:00
xoviat
1ea4c58c39 stm32: impl. draft cfgr pwr 2023-08-22 20:00:00 -05:00
xoviat
faab2d0d53 stm32: add executor to low-power mod 2023-08-22 17:31:40 -05:00
xoviat
6d35bcc3d9 stm32: add low-power mod 2023-08-22 17:00:00 -05:00
xoviat
7d6edd7b15 Merge branch 'main' of https://github.com/embassy-rs/embassy into rtc-lp 2023-08-22 16:58:43 -05:00
xoviat
9e3266b745 rtc: make fns private 2023-08-22 16:58:19 -05:00
xoviat
7bff2ebab3
Merge pull request #1766 from xoviat/rtc-w
stm32/rtc: add start/stop wakeup
2023-08-22 21:50:53 +00:00
xoviat
048bdf6968 stm32/rtc: allow dead code 2023-08-22 16:48:08 -05:00
Dario Nieuwenhuis
b3212ae383
Merge pull request #1763 from rubdos/sender-receiver-with-ctx
Refactor Channel/Sender/Receiver poll methods
2023-08-22 21:25:29 +00:00
Dion Dokter
a5484cd119 Modified the brr calculation to be fully 32-bit 2023-08-22 20:52:02 +02:00
Ruben De Smet
c39671266e
Deprecate *recv* in favor of *receive* 2023-08-22 16:58:31 +02:00
xoviat
8878ce046c rtc: fix rtcinstant delay computation 2023-08-21 18:33:10 -05:00
xoviat
5bfddfc9b6 stm32/rcc: add rtc to f410 2023-08-21 18:10:10 -05:00
xoviat
7148397771 stm32/rtc: misc fixes 2023-08-21 18:00:49 -05:00
xoviat
8c12453544 stm32/rcc: set rtc clock on f4 2023-08-21 17:50:18 -05:00
xoviat
f723982bec rtc: impl. draft rtcinstant api 2023-08-21 17:44:38 -05:00
Dario Nieuwenhuis
cc400aa178 stm32: fix f37x build.
originally broke in https://github.com/embassy-rs/embassy/pull/1762
2023-08-19 01:15:32 +02:00
Dominik Sliwa
5bc0175be9 configure flash latency after axi clock and handle different flash in STM32H7A/B devices 2023-08-18 23:44:56 +02:00
Aurelien Jacobs
2ea17d2783 stm32: allow setting the PWM output polarity 2023-08-18 16:45:50 +02:00
Aurélien Jacobs
78bb261246 stm32: allow setting PWM duty cycle to 100%
Setting the compare_value to max_compare_value make the PWM output
go low when the timer reach the max_compare_value and go high again
on the next timer clock, when the value roll back to 0.
So to allow a 100% PWM that never goes low, the compare_value must
be set to max_compare_value + 1.
2023-08-18 16:10:49 +02:00
Dario Nieuwenhuis
94fa95c699
Merge pull request #1793 from ARizzo35/stm32l4-rtc-pwren
stm32l4: set pwren in rcc regardless of clock source
2023-08-18 10:19:54 +00:00
Adam Rizkalla
62e66cdda3 stm32l4: set pwren in rcc regardless of clock source 2023-08-17 19:16:03 -05:00
Olle Sandberg
c80c323634 stm32-wl: set RTC clock source on RCC init 2023-08-16 14:41:00 +02:00
Sebastian Goll
df6952648e Make sure to check RCC settings for compatibility before applying 2023-08-16 14:11:09 +02:00
Dario Nieuwenhuis
f26dd54f63
Update embedded-hal to 1.0.0-rc.1 (#1783) 2023-08-16 00:40:56 +02:00
Ruben De Smet
f9d251cd5c
Channel poll methods return Poll instead of bool 2023-08-11 12:13:46 +02:00
xoviat
3a3f3b492f rustfmt 2023-08-10 19:14:55 -05:00
xoviat
b69861013a stm32/rtc: implement stop_wakeup_alarm 2023-08-10 19:13:48 -05:00
xoviat
a0c69ffe02 stm32/rtc: autocompute wakeup psc. 2023-08-10 18:59:18 -05:00
Dario Nieuwenhuis
3b43b00867
Merge pull request #1762 from dreilly1982/adc-f3-build-rs-updates
don't generate adc peripheral for f3 series
2023-08-10 15:45:21 +00:00
Dario Nieuwenhuis
95262ad559
Merge pull request #1743 from xoviat/dma-2
stm32/dma: consolidate ringbuf
2023-08-10 15:21:31 +00:00
Don Reilly
c312884692 added exclusion for adc v4 as well 2023-08-10 08:21:03 -05:00
Lucas Granberg
bc156afbb2 fix rng ced toggling sequence on reset. 2023-08-10 16:16:45 +03:00
Don Reilly
8a9622ec2e update metapac tag 2023-08-10 08:03:35 -05:00
xoviat
0705152105 stm32/rtc: add start/stop wakeup 2023-08-09 20:15:14 -05:00
Dario Nieuwenhuis
820852be28 fmt mod must not be public. 2023-08-09 18:33:20 +02:00
xoviat
fcb77f3f96
Merge pull request #1753 from xoviat/rtc-wb
stm32/rtc: enable in rcc mod
2023-08-09 01:48:11 +00:00
xoviat
32fdd4c787 tests/stm32: fix rtc test 2023-08-08 20:33:24 -05:00
xoviat
6a73ab1afa stm32/l4: set rtc clock source in rcc 2023-08-08 19:58:03 -05:00
xoviat
6fc5c608f8 stm32/rtc: remove generics and segregate clock sel 2023-08-08 19:47:01 -05:00
xoviat
d375c46590
Merge pull request #1751 from oro-os/add-pin-drop-docs
stm32: add note about Output/OutputOpenDrain drop behavior
2023-08-08 23:05:12 +00:00
Don Reilly
e31545860e don't generate adc peripheral for f3 series 2023-08-08 16:46:30 -05:00
Dario Nieuwenhuis
5d5cd23715
Update to embedded-io 0.5 (#1752) 2023-08-07 13:43:09 +02:00
Grant Miller
d49f40dd5c embassy-stm32: Misc clippy fixes 2023-08-06 15:00:39 -05:00
xoviat
ae608cf2fa stm32: fix rtc and examples 2023-08-06 12:06:29 -05:00
xoviat
28618d12a1 stm32/rtc: restructure 2023-08-06 11:58:28 -05:00
xoviat
66c1712118 stm32/rtc: enable in rcc mod 2023-08-06 11:11:53 -05:00
Josh Junon
7b3d7a3826 stm32: add note about Output/OutputOpenDrain drop behavior 2023-08-06 05:58:38 +02:00
xoviat
a2fd7108ff stm32: update metapac version 2023-08-04 19:08:53 -05:00
xoviat
e80db42061 stm32/dma: minor cleanup, optmization 2023-08-04 17:15:56 -05:00
xoviat
7e269f6f17 stm32/dma: consolidate ringbuf 2023-08-03 21:12:34 -05:00
Dario Nieuwenhuis
0d8a9b1e7a
Merge pull request #1729 from mattico/i2c-async-timeout
stm32: add async timeout functions to I2c and TimeoutI2c
2023-08-01 08:20:48 +00:00
Bartek
5fcebd28f4 Fix unlocking the backup domain when enabling LSE
Set PWREN bit to enable the power interface clock before enabling access to the backup domain.
2023-08-01 13:46:34 +09:30
xoviat
a1fce1b554
Merge pull request #1714 from xoviat/dma
stm32/dma: add writable ringbuf
2023-07-31 22:57:30 +00:00
xoviat
bbc8424a5b stm32/dma: remove trace 2023-07-31 17:55:25 -05:00
Matt Ickstadt
036bc669cd stm32: only enable async TimeoutI2c on V2 I2C peripheral 2023-07-31 14:17:50 -05:00
Matt Ickstadt
26cc0e634d stm32: add async timeout functions to I2c and TimeoutI2c 2023-07-31 13:47:03 -05:00
Matt Ickstadt
1b0f4ee653 stm32: add outlives bounds to TimeoutI2c impl blocks
This should make usage and error messages more clear.
2023-07-31 13:35:06 -05:00
xoviat
4a9df60a7b
Merge pull request #1727 from embassy-rs/hrtim-v2
stm32: add hrtim v2
2023-07-31 17:04:51 +00:00