Dario Nieuwenhuis
18e96898ea
stm32/rcc: unify L4 and L5.
2023-10-16 04:00:51 +02:00
Dario Nieuwenhuis
5c5e681819
stm32/rcc: add better support for L4/L4+ differences.
2023-10-16 03:23:43 +02:00
xoviat
4a156df7a1
stm32: expand rcc mux to g4 and h7
2023-10-14 23:33:57 -05:00
Dario Nieuwenhuis
8a10948ce9
stm32/rcc: port L4 to the "flattened" API like h5/h7.
2023-10-15 03:08:49 +02:00
Adam Greig
0621e957a0
time: Update examples, tests, and other code to use new Timer::after_x convenience methods
2023-10-15 01:30:12 +01:00
Dario Nieuwenhuis
2e50bf667a
Merge pull request #2055 from kalkyl/usb-midi
...
embassy-usb: Add MIDI class
2023-10-14 23:10:25 +00:00
kalkyl
a57d383b1d
embassy-usb: Add MIDI class
2023-10-14 04:20:59 +02:00
Dániel Buga
02d2c06b23
Release embassy-time 0.1.4
2023-10-12 18:14:33 +02:00
Dario Nieuwenhuis
66e399b5c6
Merge pull request #2035 from pbert519/stm_reset_and_enable
...
STM32: combine RccPeripherals reset() and enable() to enable_and_reset()
2023-10-12 14:09:13 +00:00
Ulf Lilleengen
01eb1a7339
Merge pull request #2033 from andresovela/stm32-add-timeout-to-i2c
...
stm32: add timeout to I2C driver
2023-10-12 10:44:27 +00:00
pbert
ecdd7c0e2f
enable clock first
2023-10-12 11:04:44 +02:00
pbert
f65a96c541
STM32: combine RccPeripherals reset() and enable() to reset_and_enable()
2023-10-12 11:04:19 +02:00
Dario Nieuwenhuis
32b89eeba1
net: remove atomic-polyfill.
2023-10-12 02:07:26 +02:00
Andres Oliva
4cec4b0548
Remove more unused stuff
2023-10-11 23:52:26 +02:00
Dario Nieuwenhuis
b91d1eaca0
stm32/rcc: add LSE/LSI to all chips, add RTC to more chips.
2023-10-11 04:12:38 +02:00
Dario Nieuwenhuis
d0d0ceec6a
stm32/rcc: rename HSE32 to HSE
2023-10-11 01:06:44 +02:00
Dario Nieuwenhuis
0cfa8d1bb5
stm32/rcc: use more PLL etc enums from PAC.
2023-10-11 00:12:33 +02:00
Andres Oliva
cd12c9cbce
stm32: add timeout to I2C driver
2023-10-10 18:20:46 +02:00
Gabriel Górski
e62bf6a9fd
Patch tests & examples
2023-10-09 13:46:56 +02:00
Dario Nieuwenhuis
6186fe0807
stm32/rcc: use PLL enums from PAC.
2023-10-09 02:48:22 +02:00
Dario Nieuwenhuis
85c6f23dcb
Merge pull request #2018 from jamesmunns/add-derives
...
Add some uncontroversial derives to Error types
2023-10-07 00:03:10 +00:00
Dario Nieuwenhuis
3bf8e4de5f
Merge pull request #2015 from willglynn/stm32u5_faster_clocks
...
stm32: u5: implement >55 MHz clock speeds
2023-10-06 23:38:15 +00:00
Dario Nieuwenhuis
3a8e0d4a27
stm32: implement MCO for all chips.
2023-10-07 01:15:24 +02:00
Matt Ickstadt
f01609036f
h7: implement RTC and LSE clock configuration
2023-10-06 13:28:30 -05:00
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
e1a0635ca3
stm32: update metapac and fix opamp ch
2023-10-04 16:15:08 -05:00
Dario Nieuwenhuis
0324cee0ca
update embedded-io, embedded-nal-async.
2023-10-04 00:10:55 +02:00
xoviat
e561e673c2
stm32: add opamp mod and update pac
2023-10-03 16:34:13 -05:00
KingCol13
90ade1b311
Add wait for DHCP in rp wifi_tcp_server
2023-10-02 20:10:52 +01:00
KingCol13
a931dfd9ad
Update firmware size in rp wifi examples
2023-10-02 20:10:45 +01:00
Dario Nieuwenhuis
eb12114345
Remove impl_trait_projections.
2023-10-02 14:00:49 +02:00
Jonathan Dickinson
f98c8886b2
feat: allow schmitt, slew, and drive strength be set from Flex, Input, Output
...
Allows the schmitt, slew and drive strength to be set from Flex. Input and Output[OpenDrain] also expose the appropriate setters.
2023-10-01 21:49:14 -04:00
brian horakh
08175f191a
bump wasm-pack version
2023-09-30 05:42:59 +00:00
brian horakh
8da987cfbb
typo
2023-09-30 05:34:22 +00:00
Dario Nieuwenhuis
f1e7205055
stm32/rtc: enable lse in examples.
2023-09-30 00:18:30 +02:00
xoviat
79146c4bd5
stm32/adc: cleanup f1, f3, v1, and v2
2023-09-27 20:58:46 -05:00
Dario Nieuwenhuis
5d8817d109
stm32/usart: return error instead of panicking on bad baudrate.
2023-09-26 00:19:27 +02:00
ceekdee
70acc093dd
Update rust-lorawan crate versions.
2023-09-25 10:45:53 -05:00
ceekdee
7d5e62d4a7
Update for rust-lorawan and lora-phy version 2.
2023-09-24 10:33:03 -05:00
luveti
347ff18644
stm32: fix rtc example
...
lsi must be enabled otherwise a assertion fails
2023-09-24 01:11:58 -04:00
Dario Nieuwenhuis
83b4c01273
stm32/rcc: unify h5 and h7.
2023-09-21 23:47:56 +02:00
xoviat
d46920dce6
stm32/adc: make v1 async and leave en
2023-09-20 16:07:35 -05: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
3ddc9cd110
Merge pull request #1915 from xoviat/rcc
...
stm32/rcc: convert bus prescalers to pac enums
2023-09-16 22:59:26 +00:00
xoviat
de2773afdd
stm32/rcc: convert bus prescalers to pac enums
2023-09-16 17:41:11 -05:00
xoviat
2930be5e17
Merge pull request #1916 from wkf/main
...
Update stm32wb examples to use ble/mac firmware.
2023-09-16 20:43:02 +00:00
Will Farrell
09f087e53e
Update stm32wb examples to use ble/mac firmware.
2023-09-16 16:32:25 -04:00