Thomas Giesel
bfbecdf93a
Use proper RCC clock enable for opamps
...
new() now resets the opamp and enables its clock. The clock is
disabled when the opamp is dropped. On families that use
SYSCFGEN (F3 and G4), this is not done because this
clock is always on in Embassy.
This change makes use of the RCC driver, which uses a reference
counter to prevent conflicts. The opamp itself is still disabled
when its output is dropped.
2025-07-05 22:47:24 +02:00
Gerzain Mata
51675e9bc7
Added STM32WBA6XXX devices as features
...
Added 2 wba6 features to cargo batch in ci.sh
WIP
Added default RTC rust version for undefined peripherals
Added missing generated RTC peripheral to be handled by rtc/v3.rs
Reordered cfg_attrs in rtc/mod.rs
2025-06-26 04:38:22 -07:00
Thomas Giesel
ef4faffcb5
Merge branch 'main' into generate_all_opamp_pins
2025-06-25 21:10:25 +02:00
Thomas Giesel
ca14f54529
Adapt opamp driver to new opamp IP version numbers
2025-06-25 21:06:39 +02:00
Thomas Giesel
cbf61765f1
Generate pins for new opamp pin naming scheme
...
The new code implements the corresponding traits for the
common opamp pin naming scheme of all families, which
is VINPx/VINMx.
The same pin must not be used for multiple channels for the
same opamp. For example, if VINM0 and VINM1 of the same opamp
were assigned to the same pin, the channel would not be unique,
meaning that the traits would be implemented in a conflicting
manner.
2025-06-25 08:27:44 +02:00
jake-taf
9cb5c6d001
Fix issues #4333
...
Allow configs to be used in this macro
2025-06-23 10:30:09 -04:00
Dario Nieuwenhuis
454a5e9044
Merge pull request #4272 from cschuhen/fdcan_refcounter_raii
...
Fdcan use RAII for reference counting.
2025-06-22 21:37:15 +00:00
Dario Nieuwenhuis
bf3170ed38
Merge pull request #4294 from AlanRosenthal/rtc_c0
...
Add RTC example for STM32C0
2025-06-22 21:22:10 +00:00
Dario Nieuwenhuis
699626ced7
Merge pull request #4324 from plorefice/hsem-fixes
...
embassy-stm32: fix HSEM initialization and core detection
2025-06-22 21:08:38 +00:00
Dario Nieuwenhuis
c9709cf19d
Merge pull request #4311 from antonok-edm/sdmmc-set-datatime-during-init
...
[sdmmc] Set `datatime` during initialization
2025-06-22 21:04:22 +00:00
Corey Schuhen
8b280688e1
FDCAN/BXCAN: Finish implementation of RAII instance counters.
...
- Use DeRef in all types
- Change Name of internal_operation and its enum
- move into Info to avoid macro code dup
2025-06-21 12:31:56 +10:00
Tobias Naumann
e75b344089
Add TxGuard and RxGuard which impl RAII for the STM32 CAN reference counting
2025-06-21 12:29:36 +10:00
Corey Schuhen
b2dcdad51d
BXCAN: Put State inside a critical section mutex of RefCell. This removed unsound code that was giving out mut& to State
...
This change is equiverlent to f5658d6833cb140296a0b6f25b7eb6d16f06c520
that was already done for the FDCAN driver.
2025-06-21 11:58:53 +10:00
Pietro Lorefice
59228e2ab4
stm32: hsem: fix broken CPUID detection
2025-06-20 10:47:37 +02:00
Pietro Lorefice
be5b62bdd4
stm32: hsem: add missing RCC initialization
2025-06-20 10:46:33 +02:00
Anton Lazarev
e155d17328
sdmmc: set datatime during initialization
2025-06-16 17:55:29 -07:00
Alan Rosenthal
5534a36507
Add RTC example for STM32C0
...
Tested on STM32C0116F6
Requries: https://github.com/embassy-rs/stm32-data/pull/617
2025-06-10 18:46:41 -04:00
jrmoulton
fb71139522
fix name change
2025-06-10 15:53:06 -06:00
jrmoulton
3b2dd2bad8
fmt
2025-06-10 15:53:02 -06:00
jrmoulton
cfad9798ff
merge new embassy changes
2025-06-10 15:48:36 -06:00
David Lawrence
c10688cd40
Add public function to get current clock configuration
2025-06-06 13:05:35 -04:00
Dario Nieuwenhuis
141c170db4
Merge pull request #4277 from diondokter/fix-usb-race
...
STM32 USB: Read data before register update
2025-06-03 14:14:45 +00:00
Dion Dokter
9b3b6c5421
STM32 USB: Read data before register update
2025-06-03 16:08:55 +02:00
Frank Stevenson
011d7832f8
Use modify() for subsequent changes to RCC.cr()
2025-06-03 15:47:33 +02:00
Dario Nieuwenhuis
c637ee7d79
Merge pull request #4271 from cschuhen/fdcan_critical_section
...
Use a critical section mutex in CAN Fdcan driver.
2025-06-01 12:37:12 +00:00
Dario Nieuwenhuis
f3983328e0
Merge pull request #4231 from ROMemories/feat/stm32-rcc-const-constructors
...
feat(stm32): provide a `const` constructor on `rcc::Config`
2025-06-01 12:19:39 +00:00
Dario Nieuwenhuis
fc4139146f
Merge pull request #4251 from kpfleming/improve-stm32-ringbuffereduart-docs
...
stm32: Expand documentation of RingBufferedUartRx.
2025-06-01 12:15:19 +00:00
Corey Schuhen
010744802f
Remove duplicate calc_timestamp and move to 'Registers' struct.
2025-05-31 09:09:12 +10:00
Corey Schuhen
f5658d6833
Put State inside a critical section mutex of RefCell. This removes the unsound code that was giving out mut&. to State
2025-05-31 08:20:03 +10:00
Corey Schuhen
eba9ddc805
Switch to SendDynamicSender for FDCAN.
2025-05-31 08:20:03 +10:00
Dario Nieuwenhuis
9b8d6d6f22
Merge pull request #4267 from melvdlin/stm32-qspi-from
...
convert embassy-stm32::qspi::enums `Into` impls into equivalant `From` impls
2025-05-30 11:15:54 +00:00
melvdl
86efdc9cc3
convert embassy-stm32::qspi::enums Into
impls into equivalant From
impls
2025-05-30 00:30:27 +02:00
Willdew
3d617007a2
fixed n in set_sq to be indexed correctly
2025-05-29 23:06:01 +02:00
Dario Nieuwenhuis
645883d874
Merge pull request #4223 from embedded-rust-iml/feature/drop-impl-for-stm32-fdcan
...
Cleanup Pins and RCC for FDCAN on STM32
2025-05-27 17:44:11 +00:00
Dario Nieuwenhuis
aab043b0f3
Merge pull request #4252 from kpfleming/assert-empty-buffer-buffereduart
...
stm32: Assert in BufferedUart that the buffers are not empty.
2025-05-27 15:17:29 +00:00
Ulf Lilleengen
5f3204f9c3
Merge pull request #4232 from RaulIQ/main
...
[embassy-stm32] add PWM multi channel waveform generation using DMA burst mode
2025-05-27 06:25:33 +00:00
Kevin P. Fleming
b9f7478ada
stm32: Improvements to CRC HAL.
...
* Corrects spelling and grammar errors in documentation.
* Removes non-v1 code from v1-only source file.
* Adds 'read' operation for v2/v3, to be consistent with v1.
* Removes 'reset' from the v2/v3 'reconfigure' operation to match the
documentation (the only user is the 'new' function which already
issues a reset).
2025-05-26 18:43:09 -04:00
ROMemories
44c53365ad
fixup! feat(stm32-l): provide a const
constructor on rcc::Config
2025-05-26 14:44:48 +02:00
ROMemories
a5a27ef52b
fixup! feat(stm32-wba): provide a const
constructor on rcc::Config
2025-05-26 14:43:46 +02:00
ROMemories
5d6b51d910
fixup! feat(stm32-l): provide a const
constructor on rcc::Config
2025-05-26 14:43:39 +02:00
ROMemories
fce84bd51b
fixup! feat(stm32-g4): provide a const
constructor on rcc::Config
2025-05-26 14:43:29 +02:00
ROMemories
ca17b41d0d
fixup! feat(stm32-g0): provide a const
constructor on rcc::Config
2025-05-26 14:43:21 +02:00
ROMemories
8fa07ac062
fixup! feat(stm32-c0): provide a const
constructor on rcc::Config
2025-05-26 14:43:07 +02:00
Kevin P. Fleming
a860fea0a5
stm32: Assert in BufferedUart that the buffers are not empty.
2025-05-25 08:51:27 -04:00
Kevin P. Fleming
ca5fe2645d
Move new documentation to RingBufferedUartRx struct.
2025-05-24 19:34:07 -04:00
Kevin P. Fleming
2ed5e04fd0
stm32: Expand documentation of RingBufferedUartRx.
...
Explain to users of this driver how 'waiting for bytes' actually
works, and what that may mean for latency introduced in their
application.
Also correct references to 'start' to be 'start_uart'.
2025-05-24 16:39:25 -04:00
Ulf Lilleengen
94f9b27074
Merge pull request #4228 from okhsunrog/adding_eeprom
...
Adding EEPROM support to embassy-stm32
2025-05-23 14:15:15 +02:00
RaulIQ
967ae161a0
doc: update documentation to pass test
2025-05-22 10:56:48 +03:00
RaulIQ
3c3c7877cd
format simple_pwm.rs with rustfmt
2025-05-22 10:44:38 +03:00
Matt Johnston
5e49985ed6
embassy-sync: bump to 0.7.0
2025-05-22 13:29:55 +08:00