Commit Graph

5978 Commits

Author SHA1 Message Date
4cec4b0548 Remove more unused stuff 2023-10-11 23:52:26 +02:00
e6c47c3718 cargo fmt 2023-10-11 23:47:24 +02:00
2f7c2750d1 Feature guarded more unused stuff 2023-10-11 23:45:47 +02:00
032b1f2d59 Fix some issues with unused stuff 2023-10-11 23:42:40 +02:00
f76d50e837 cfg! macro didn't work, had to duplicate functions with different guards 2023-10-11 23:39:24 +02:00
ee5ea7aa06 cargo fmt 2023-10-11 23:34:02 +02:00
251d004708 Try using cfg! macro 2023-10-11 23:32:40 +02:00
cd68f85501 Added guards to individual APIs 2023-10-11 23:25:13 +02:00
b6c0ddb7df Move the feature gates to the i2c module instead of the pub use statement 2023-10-11 23:05:12 +02:00
ee93bbf1d4 Gate pub use _version::* 2023-10-11 22:45:54 +02:00
7b1cd42936 Add time feature to CI 2023-10-11 22:20:27 +02:00
1cd3ae9bd5 Add comment about feature gate on I2C mod 2023-10-11 22:20:17 +02:00
bfcca79c1e Add time feature back and gate i2c on time 2023-10-11 22:12:03 +02:00
cd12c9cbce stm32: add timeout to I2C driver 2023-10-10 18:20:46 +02:00
eff73d6dfa Merge pull request #2032 from andresv/stm32-check-flash-lock-before-unlocking
stm32 flash: check lock bit before unlocking
2023-10-10 10:12:55 +00:00
3616d68aaa stm32 flash: check lock bit before unlocking
It hardfaults if already unlocked flash is unlocked again.
2023-10-10 12:55:43 +03:00
904f1cfc7a Merge pull request #2028 from glaeqen/stm32-eth-station-management
stm32/eth: Move `phy_addr` from `Ethernet` to `PHY`
2023-10-10 01:50:45 +00:00
e62bf6a9fd Patch tests & examples 2023-10-09 13:46:56 +02:00
7526b8edba stm32/eth: Move phy_addr from Ethernet to PHY
Previously, PHY addressing was a concern of the `Ethernet` struct
which limited the `PHY` implementations which very often have to manage
multiple PHYs internally and thus possibly need to address many of them.

This change extends `StationManagement` to allow addressing different
PHY addresses via SMI.
2023-10-09 13:46:56 +02:00
c3ef98a73d Merge pull request #2026 from embassy-rs/stm32-pac-pll-enums
stm32/rcc: use PLL enums from PAC.
2023-10-09 00:58:22 +00:00
6186fe0807 stm32/rcc: use PLL enums from PAC. 2023-10-09 02:48:22 +02:00
c4cff0b79b Merge pull request #2025 from xoviat/update-pac
stm32: update metapac
2023-10-08 23:35:14 +00:00
2e5ab7981e stm32: update metapac 2023-10-08 18:27:36 -05:00
9d311121f2 Merge pull request #2022 from HelloWorldTeraByte/impl-pwm-trait
Implemented Pwm trait from embedded_hal for simple and complementary pwm
2023-10-07 00:35:05 +00:00
25c3754cd2 Merge pull request #2019 from embassy-rs/net-hostname
net: add support for dhcp hostname option.
2023-10-07 00:17:35 +00:00
85c6f23dcb Merge pull request #2018 from jamesmunns/add-derives
Add some uncontroversial derives to Error types
2023-10-07 00:03:10 +00:00
9c6a2d9cbd Merge pull request #1880 from phire/rp_bootsel
rp2040: BOOTSEL button support
2023-10-06 23:56:00 +00:00
b67b179933 rp/bootsel: add test. 2023-10-07 01:47:25 +02:00
d4ed8e5779 rp/bootsel: change it to a method on the peripheral. 2023-10-07 01:47:20 +02:00
3e054a6f0d rp2040: implement BOOTSEL button support 2023-10-07 01:39:29 +02:00
c6d53e7bce rp2040: move in_ram helper outside of Flash's impl
Allow it to be called from other modules.
2023-10-07 01:39:29 +02:00
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
9090a78df4 ci: set target dir if not specified. 2023-10-07 01:34:17 +02:00
022d870d61 Add missing derive 2023-10-07 01:33:43 +02:00
534eb960e9 net: add support for dhcp hostname option. 2023-10-07 01:33:21 +02:00
7a2b8481f7 Merge pull request #2021 from embassy-rs/stm32-mco
stm32: add MCO for all chips
2023-10-06 23:31:32 +00:00
710874021a Implemented Pwm trait for complementary pwm from embedded_hal 2023-10-07 12:22:31 +13:00
3a8e0d4a27 stm32: implement MCO for all chips. 2023-10-07 01:15:24 +02:00
b217d147de Implemented Pwm trait from embedded_hal 2023-10-07 11:57:19 +13:00
68c4820dde Add MCO support for stm32wl family 2023-10-06 14:37:36 -07:00
f30fc949ff Merge pull request #2012 from mattico/h7-rtc
H7: support LSE, LSI, LSEBYP, and RTCCLKSEL
2023-10-06 21:27:04 +00:00
75c1a9a3aa disable flaky f2 eth test 2023-10-06 23:25:39 +02:00
4075ac84e1 h7: enable rtc test 2023-10-06 14:12:57 -05:00
f01609036f h7: implement RTC and LSE clock configuration 2023-10-06 13:28:30 -05:00
930b8f3495 Add some uncontroversial derives to Error types 2023-10-06 17:45:35 +02:00
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
65ed19aae2 Merge pull request #2014 from bugadani/udp
Reexport IpListenEndpoint for TCP
2023-10-05 16:13:10 +00:00
be9c05fbc9 Reexport IpListenEndpoint for TCP 2023-10-05 17:02:25 +02:00
42176b1a3a Merge pull request #2013 from xoviat/opamp
stm32: update metapac and fix opamp ch
2023-10-04 21:20:42 +00:00
e1a0635ca3 stm32: update metapac and fix opamp ch 2023-10-04 16:15:08 -05:00