Dario Nieuwenhuis
9c918f6474
Merge pull request #2588 from cschuhen/feature/fdcan_buffered
...
Add FDCAN Buffered mode.
2024-02-23 00:07:05 +01:00
Torin Cooper-Bennun
5d2ccc8fa7
adc: basic H5 support
2024-02-22 15:50:13 +00:00
Eli Orona
88e29608ed
Rust fmt
2024-02-20 17:59:51 -08:00
Eli Orona
2ee9b37373
Move to a single Mux Struct.
2024-02-20 17:54:35 -08:00
Joonas Javanainen
9b2d096f4f
USB needs PWR_CR2 USV set on STM32L4
...
Confirmed to be needed on an STM32L422, and based on a quick look at
L4/L4+ reference manuals, this bit is present and required to be set on
all L4 chips that have some kind of USB peripheral (USB or OTG_FS).
The `usb_otg` driver already sets it for `cfg(stm32l4)` and we should do
the same thing here.
2024-02-20 21:47:13 +02:00
Dario Nieuwenhuis
55187c7276
Merge pull request #2602 from embassy-rs/peripheralref-no-derefmut
...
hal-internal: remove impl DerefMut for PeripheralRef.
2024-02-20 13:51:01 +00:00
Dario Nieuwenhuis
e8474426d8
hal-internal: remove impl DerefMut for PeripheralRef.
...
if you have `PeripheralRef<'a, AnyPIn>` for pin A, and `AnyPin` (owned) for pin B, you can `mem::swap` them.
so, getting access forever to pin A, just by "sacrificing" pin B
this defeats the point of PeripheralRef, which is if you got a `PeripheralRef<'a, T>` then you're only allowed to use the peripheral for `'a`.
Also some drivers rely on the fact only one instance of a singleton exists for soundness, so this is a soundness fix for those.
2024-02-20 01:02:15 +01:00
Torin Cooper-Bennun
67230dc444
flash: h50: first pass at implementation
2024-02-19 16:05:50 +00:00
fe1es
5b7e2d8826
stm32/rcc: reset RTC on stm32l0
2024-02-19 15:25:24 +09:00
Corey Schuhen
eafa90cd07
Remove the OperatingMode typestates
...
Instead have two explcit types(without the mode generic arg)types:
- One for config
- One for all operating modes
2024-02-18 13:09:37 +10:00
Zach
dd9f0d9d9e
support u5 flash
2024-02-17 12:04:53 -06:00
Corey Schuhen
5ad291b708
Add a buffered mode.
2024-02-17 18:26:57 +10:00
Corey Schuhen
91c75c92a0
Clean up and prep for buffered IRQ mode.
...
- Reduce code duplicaiton in read/write methods
- General clean-up
- Prepare for buffered mode
2024-02-17 18:26:57 +10:00
Corey Schuhen
5d8c54fdea
Move error conversion to peripheral.rs
2024-02-17 18:25:58 +10:00
Corey Schuhen
200ace566f
Don't use word Standard for frame format because it can be confused with ID format. Use Classic instead to mean CAN 2.0B frames.
2024-02-17 18:25:58 +10:00
Corey Schuhen
70b3c4374d
Port FDCAN HAL to use PAC directly instead of fdcan crate.
...
- Provide separate FDCAN capable and Classic CAN API's
- Don't use fdcan crate dep anymore
- Provide embedded-can traits.
2024-02-17 18:25:58 +10:00
Eli Orona
e99ef49611
Move to auto-generated based system.
2024-02-16 19:57:00 -08:00
Dario Nieuwenhuis
a3f508e6d1
Merge pull request #2570 from eZioPan/time-driver-singleton
...
Add missing TIM for time-driver; reorder time-driver selection when use "time-drvier-any"
2024-02-17 02:34:45 +00:00
Eli Orona
c99c4a01a9
Update f013.rs
2024-02-16 16:47:38 -08:00
Eli Orona
7592e8be6e
Fix build
2024-02-16 16:45:58 -08:00
Eli Orona
77739faaeb
Rustfmt
2024-02-16 16:42:19 -08:00
Eli Orona
370db9fb06
Update f013.rs
...
Add stm32f398
2024-02-16 16:39:23 -08:00
Dario Nieuwenhuis
9352621058
Merge pull request #2579 from barnabywalters/g4rcc
...
[embassy-stm32]: stm32g4 RCC refactor
2024-02-16 23:38:49 +00:00
Barnaby Walters
6d7458dac7
Refinements
...
* Implemented boost mode dance (RM0440 p234-245, 6.5.1)
* Enabled boost mode in usb_serial example, tested on hardware
* Removed hard requirement of a valid 48MHz source (HSI48 is checked if
requested, PLL passed through as-is and assumed to be valid)
* Used calc_pclk to calculate APB frequencies
* Refactored 48MHz configuration code to remove unnecessary let and block
* Renamed ahb_freq to hclk for clarity and consistency
2024-02-17 00:30:16 +01:00
Barnaby Walters
a24087c36c
Configured SYSCLK after boost mode, added comments
2024-02-16 21:52:58 +01:00
Barnaby Walters
e465dacf73
Added documentation, fixed and refined boost and flash read latency config
2024-02-16 21:34:12 +01:00
Barnaby Walters
25a95503f6
Configured HSI48 if enabled, assert is enabled if chosen as clk48 source
2024-02-16 20:41:04 +01:00
Barnaby Walters
ae74833999
Removed redundant HSI48 configuration
2024-02-16 20:32:35 +01:00
Barnaby Walters
32e4c93954
Removed dangling doc comments
2024-02-16 19:58:19 +01:00
Eli Orona
d7623c7929
Remove extraneous , in cfg
2024-02-15 23:20:35 -08:00
Eli Orona
d28ba1d606
rustfmt
2024-02-15 23:16:17 -08:00
Eli Orona
56b345c722
Clean up register setting
2024-02-15 23:12:18 -08:00
Eli Orona
4408c169a5
Fix cfg lines
2024-02-15 22:55:11 -08:00
Eli Orona
029d6383b5
Rust fmt and fix build.
2024-02-15 20:02:25 -08:00
Eli Orona
169f1ce928
I believe that this enables the PLL clock input to different TIMs for the STM32F3xx Series of chips.
2024-02-15 19:50:42 -08:00
Dario Nieuwenhuis
ae02467434
stm32: update metapac.
2024-02-16 02:07:21 +01:00
Barnaby Walters
396041ad1a
Commented out currently unused constants
2024-02-16 00:04:35 +01:00
Barnaby Walters
5b7eff6541
[embassy-stm32]: started stm32g4 RCC refactor
...
* Copied API from f.rs where applicable
* HSE and HSI independantly configurable
* Boost mode set by user rather
* Added HSE, pll1_q and pll1_p frequencies to set_clocks call
* Stubbed max module based on f.rs, needs cleanup
2024-02-15 23:56:26 +01:00
Dario Nieuwenhuis
5220453d85
Merge pull request #2564 from embassy-rs/rcc-f1-update
...
stm32/rcc: port F1, F0 to new API.
2024-02-14 16:40:11 +00:00
Dario Nieuwenhuis
1860e22693
stm32/rcc: unify f0, f1, f3.
2024-02-14 17:24:20 +01:00
eZio Pan
bbe1eebc53
Add missing TIM for time-driver; reorder time-driver selection when use "time-drvier-any".
2024-02-14 17:43:46 +08:00
Michael de Silva
0ceb313b6f
FIX: Correct typo in stm32 gpio
2024-02-14 07:22:52 +05:30
Caleb Garrett
14a678fe45
Fixed HMAC blocking mode.
2024-02-12 20:33:04 -05:00
Caleb Garrett
d8b4922b3c
Add STM32 HMAC function.
2024-02-12 20:33:04 -05:00
Dario Nieuwenhuis
8c82d1bcbc
Merge pull request #2528 from caleb-garrett/hash
...
STM32 Hash Accelerator
2024-02-13 01:36:11 +01:00
Dario Nieuwenhuis
ccd2c574c3
stm32/rcc: port F0 to new API.
2024-02-13 01:21:51 +01:00
Dario Nieuwenhuis
b7c147445a
stm32/rcc: port F1 to new API.
2024-02-13 01:21:51 +01:00
Dario Nieuwenhuis
739c69bd63
stm32/rcc: some f3 fixes.
2024-02-13 01:15:54 +01:00
Dario Nieuwenhuis
937a9e7955
stm32/rcc: use h7 sdlevel enum from pac.
2024-02-12 20:58:04 +01:00
Dario Nieuwenhuis
0dc5e6d3e4
stm32/rcc: port F3 RCC to new API
...
See #2515
2024-02-12 02:19:31 +01:00
Caleb Garrett
eb64d71247
Consolidated hash drivers.
2024-02-11 11:32:29 -05:00
eZio Pan
b4399a1bf5
timer-doc-fix
2024-02-10 16:22:36 +08:00
Dario Nieuwenhuis
832776d2c7
stm32: update metapac.
2024-02-10 02:50:35 +01:00
Caleb Garrett
0c9661a661
Merge branch 'main' into hash
2024-02-09 19:24:19 -05:00
eZio Pan
8fd803a5fe
use cfg_if to reduce macro condition
2024-02-10 00:00:43 +01:00
eZio Pan
0f94006be3
doc fix
2024-02-10 00:00:43 +01:00
eZio Pan
6c690ab259
restore original public API of timer, but keep new PAC
2024-02-10 00:00:43 +01:00
eZio Pan
b3cdf3a040
bug fix
2024-02-10 00:00:43 +01:00
eZio Pan
319f10da5d
stm32-timer: filter out c0, f1 and f37x
2024-02-10 00:00:43 +01:00
eZio Pan
5b646bc3bd
stm32-timer: L0 is special
2024-02-10 00:00:43 +01:00
eZio Pan
d538829f2f
add methods with macro
2024-02-10 00:00:43 +01:00
Dario Nieuwenhuis
53bf0332e9
asdkf
2024-02-10 00:00:43 +01:00
eZio Pan
dc4898ca89
update timer mod after stm32-metapac timer_v2
2024-02-09 23:58:13 +01:00
eZio Pan
d6636ca116
minor fix
2024-02-09 23:57:09 +01:00
Dario Nieuwenhuis
04147b4147
Merge pull request #2544 from shufps/feat/adc-l0
...
Feat/adc l0
2024-02-09 22:48:57 +00:00
Ulf Lilleengen
1641f8a27e
Merge pull request #2397 from tyler-gilbert/add-write-immediate-api-dma-ring-buffer
...
Add write_immediate() function to STM32 DMA ringbufer API
2024-02-09 20:05:41 +00:00
Caleb Garrett
f6645750c9
Removed hash DMA from unsupported configs.
2024-02-08 17:24:27 -05:00
shufps
34c71b58cf
made adc example working with default clock configuration and switched in v1
to PCLK/2 per default
2024-02-08 11:28:53 +01:00
shufps
dabe48c3bd
fmt
2024-02-08 11:15:28 +01:00
shufps
8d0a9bbefb
clippy
2024-02-08 11:14:14 +01:00
shufps
ab8f25fd78
added support for ADC of L0s
2024-02-08 10:47:26 +01:00
Caleb Garrett
bfa67c2993
Fix digest interrupt enable.
2024-02-06 18:37:48 -05:00
Dario Nieuwenhuis
2c5426aa5c
Merge pull request #2539 from badrbouslikhin/stm32h7-flash-improvements
...
fix(stm32h7/flash): enhance resilience to program sequence errors (pgserr)
2024-02-06 15:58:50 +00:00
Caleb Garrett
b7db75adff
Updated stm32-metapac.
2024-02-06 10:44:52 -05:00
Badr Bouslikhin
aab5da1d3b
fix(stm32h7/flash): enhance resilience to program sequence errors (pgserr)
2024-02-06 12:30:04 +01:00
Badr Bouslikhin
e72cc9fb24
fix(stm32/h7): use correct unit in vco clock check
2024-02-06 11:33:39 +01:00
Dario Nieuwenhuis
e25eb6ca59
Merge pull request #2529 from GrantM11235/buffered-uart-doc-links
...
stm32/usart: Add doc links to buffered uarts
2024-02-04 23:29:27 +01:00
Caleb Garrett
e1f6f4b31d
Merge branch 'main' into hash
2024-02-04 17:24:11 -05:00
Caleb Garrett
059d8a8222
Merge commit '1f940bf9e868438090ea126eb2267f5e9325fbd4' into hash
2024-02-04 17:19:15 -05:00
Caleb Garrett
66f44b95d7
Addressed hash CI build issues.
2024-02-04 17:16:33 -05:00
Dario Nieuwenhuis
6c72638ed0
stm32/rcc: fix more build failures.
2024-02-04 22:47:29 +01:00
Dario Nieuwenhuis
e3fe08428f
stm32/rcc: fix build for some f0 and l4 chips.
...
Fixes #2531
2024-02-04 22:07:17 +01:00
Grant Miller
87a52f5ead
stm32/usart: Add doc links to buffered uarts
2024-02-03 17:04:20 -06:00
Caleb Garrett
1f940bf9e8
Merge branch 'main' into hash
2024-02-03 17:28:20 -05:00
Caleb Garrett
72bbfec39d
Added hash DMA implementation.
2024-02-03 16:10:00 -05:00
Stefan Gehr
b9d0069671
correct spelling of the word "receive"
2024-02-03 14:56:31 +01:00
Dario Nieuwenhuis
9866847375
stm32: autogenerate clocks struct, enable mux for all chips.
2024-02-02 23:24:34 +01:00
Dario Nieuwenhuis
a099084bff
Merge pull request #2520 from Ecco/stm32wba-rcc-v3
...
Migrate STM32WBA to RCCv3
2024-02-02 20:48:39 +00:00
Romain Goyet
92690d8590
Migrate STM32WBA to RCCv3
2024-02-02 14:12:26 -05:00
Dario Nieuwenhuis
e05c8e2f44
stm32/dac: use autogenerated RCC impls.
2024-02-01 23:47:30 +01:00
Caleb Garrett
1027530902
Added hash interrupts for async.
2024-02-01 17:27:25 -05:00
Dario Nieuwenhuis
e7d1119750
stm32: automatically use refcounting for rcc bits used multiple times.
2024-02-01 23:15:17 +01:00
Joonas Javanainen
7e0f287431
Fix ADC max frequency for F2
2024-02-01 21:58:36 +02:00
Joonas Javanainen
21024e8638
Fix F2 temperature sensor ADC channel
...
On all F2 devices (F205/207/215/217) the sensor is connected to
ADC1_IN16, and is not shared with VBAT which is connected to ADC1_IN18.
2024-02-01 21:48:29 +02:00
Romain Goyet
aa767272a8
STM32WBA's high speed external clock has to run at 32 MHz
2024-02-01 13:42:48 -05:00
Caleb Garrett
1dbfa5ab72
Added hash v1/v2 configs.
2024-02-01 10:28:12 -05:00
Caleb Garrett
6e9ddd4626
Added hash module with blocking implementation. Included SHA256 example.
2024-01-31 21:21:36 -05:00
Dario Nieuwenhuis
7e02389995
Merge pull request #2410 from eZioPan/waveform-on-CHx
...
impl waveform with TIM OC Channel DMA
2024-02-01 01:02:01 +00:00
Dario Nieuwenhuis
e613324e16
stm32/eth: rename new_rmii to new, update metapac to fix issues with PC2_C.
2024-02-01 01:39:52 +01:00
Simon B. Gasse
42d8f3930a
Implement MII interface
...
- Extend the eth/v2 module to support MII besides RMII.
- Replace `Ethernet::new` with `Ethernet::new_mii` and
`Ethernet::new_rmii`.
- Update ethernet examples.
- Add example for MII ethernet.
2024-02-01 01:33:34 +01:00
Corey Schuhen
1de78d0490
Initial FDCAN driver implementation.
...
Original author:
Torin Cooper-Bennun <tcbennun@maxiluxsystems.com>
Cleanup and documentaion by:
Tomasz bla Fortuna <bla@reactor.local>
Corey Schuhen <cschuhen@gmail.com>
Use new PAC method now that the names are common.
Use broken out definitions that can be shared with bxcan
Populate Rx struct with an embassy timestamp.
Remove use of RefCell.
As per review comment. - THis will probably get squashed down.
Fix
2024-01-31 05:40:05 +10:00
Tomasz bla Fortuna
03ba45065e
Add FDCAN clock registers to G4 RCC.
...
Author: Adam Morgan <adam@luci.com>
Break definitions out of bxcan that can be used innm fdcan.
Typo
2024-01-31 05:40:05 +10:00
Tomasz bla Fortuna
a91a7a8557
Add FDCAN dependency in correct flavor based on selected chip.
...
Author: Torin Cooper-Bennun <tcbennun@maxiluxsystems.com>
Change from review.
2024-01-31 05:40:05 +10:00
Dario Nieuwenhuis
5b2293e2b1
update stm32-metapac.
2024-01-30 02:34:12 +01:00
Dario Nieuwenhuis
3387ee7238
stm32/gpio: remove generics.
2024-01-22 21:31:06 +01:00
Dario Nieuwenhuis
43b6258a69
Merge pull request #2416 from andresv/stm32-fix-buffered-uart-flush
...
stm32: fix buffered uart flush
2024-01-20 01:50:55 +00:00
Dario Nieuwenhuis
67159d80bb
Merge pull request #2429 from jr-oss/stm32_simple_pwm_add_set_output_compare_mode
...
stm32/simple_pwm: add set_output_compare_mode
2024-01-20 01:33:49 +00:00
Dario Nieuwenhuis
326bff322e
Merge pull request #2415 from hdoordt/patch-1
...
Make adc::Resolution::to_max_count const
2024-01-20 01:31:22 +00:00
Andres Vahter
ec2e3de0f4
stm32 uart: fix buffered flush for usart_v1, usart_v2
...
There is one caveat. For some reason with first send using usart_v1/usart_v2 TC flag appears right after first byte from buffer is written to DR. Consecutive transfers work as expected - TC flag appears when last byte is fully transferred to wire.
2024-01-20 00:15:40 +01:00
Andres Vahter
534c53c901
stm32 uart: remove unwrap
...
unwraps take more space because of panics
2024-01-20 00:15:40 +01:00
Andres Vahter
c936d66934
stm32 uart: fix flush
for non usart_v4 variants
...
Byte was written to TDR and right after that waker was called. This means `flush` would see that `tx_buf` is empty and can return Ready although actually hardware was still writing this last byte to the wire.
With this change non `usart_v4 ` variants would also use TC interrupt to check when last byte was sent out.
2024-01-20 00:15:39 +01:00
Andres Vahter
17d6e4eefe
stm32 uart: do not wake after sending each byte
...
usart_v4 uses TC interrupt to see if all bytes are sent out from the FIFO and waker is called from this interrupt. This minimises unnecessary wakeups during sending.
2024-01-20 00:15:39 +01:00
Andres Vahter
ec47e931ac
stm32: fix buffered uart flush
...
usart_v4 uses internal FIFO and therefore actually all bytes are not yet sent out although state.tx_buf.is_empty()
2024-01-20 00:15:39 +01:00
Harry Brooke
d781e231cd
make usart::State private
2024-01-19 23:20:20 +01:00
Dario Nieuwenhuis
9cd0beaee3
Merge pull request #2450 from shufps/feat/timer-driver-tim22-tim23
...
adds timer-driver for tim21 and tim22 (on L0)
2024-01-15 12:01:22 +01:00
shufps
e969b88e5a
fixed trailing white spaces
2024-01-15 11:23:41 +01:00
shufps
2b64913664
fixed tim21
2024-01-15 08:11:35 +01:00
shufps
4e2361c024
adds timer-driver for tim21 and tim22 (on L0)
2024-01-15 08:11:22 +01:00
Dario Nieuwenhuis
583555bc8a
Suppress "unused" warnings.
2024-01-14 23:20:51 +01:00
shufps
018c48cf1c
changes to get usb working on a L1. Adds a usb_serial example too
2024-01-14 22:43:22 +01:00
Dario Nieuwenhuis
4c23f197b3
Fix invalid "async" crates.io category.
2024-01-12 00:39:01 +01:00
Dario Nieuwenhuis
6a1c415a4c
Complete cargo.tomls more.
2024-01-12 00:32:47 +01:00
Dario Nieuwenhuis
9f6517e408
stm32,nrf: add warning on docs.rs directing the user to docs.embassy.dev.
2024-01-11 23:43:17 +01:00
Dario Nieuwenhuis
5304994363
Add docs.rs metadata to all crates.
2024-01-11 23:17:02 +01:00
Dario Nieuwenhuis
22197320ff
bump embassy-time 0.3, embassy-executor 0.5, embassy-net 0.4.
2024-01-11 23:01:24 +01:00
Dario Nieuwenhuis
b3ab2d91f7
stm32: use released metapac.
2024-01-11 22:05:01 +01:00
Dario Nieuwenhuis
e18d673721
More readme fixes.
2024-01-11 21:23:07 +01:00
Barnaby Walters
557399e2d6
Included README.md in docs
2024-01-11 20:00:33 +01:00
Barnaby Walters
1697386820
Correction from review
2024-01-11 19:57:24 +01:00
Barnaby Walters
ccf61f50fe
Corrections from review
2024-01-11 19:55:15 +01:00
Barnaby Walters
4caafe10ae
Expanded readme for crates release
2024-01-11 19:49:05 +01:00
Dario Nieuwenhuis
15f94fb0fc
time: split driver into a separate embassy-time-driver crate.
2024-01-11 16:56:08 +01:00
Ralf
db776c9623
stm32/simple_pwm: add set_output_compare_mode
2024-01-10 18:48:26 +01:00
Dario Nieuwenhuis
3bc6e414f7
stm32: update metapac.
2024-01-10 18:06:47 +01:00
Dario Nieuwenhuis
495b8b739a
Change GPIO inherent methods back to &self
.
...
With the embedded-hal rc3 update I changed them to require `&mut self`, but
in retrospect I think `&self` is better, for extra flexibility.
This PR reverts the changes from the rc3 update to inherent methods.
2024-01-10 00:00:10 +01:00
Dario Nieuwenhuis
c9ac39df94
Update embedded-hal to v1.0
2024-01-09 23:37:14 +01:00
Henk Oordt
45b7645525
Make adc::Resolution::to_max_count const
2024-01-08 13:56:21 +01:00
eZio Pan
b16cc04036
bug fix
2024-01-08 19:18:24 +08:00
eZio Pan
890a1269d0
refactor with clippy
2024-01-06 22:48:21 +08:00
eZio Pan
424ddaf3d9
impl waveform with TIM Channel
2024-01-06 22:22:38 +08:00
Dario Nieuwenhuis
294046cddb
Merge pull request #2405 from Sizurka/stm32g0-usb
...
stm32: Add G0 USB RCC and example
2024-01-06 00:03:54 +00:00
Dario Nieuwenhuis
208ad8fbfc
stm32/flash: add support for f1.
2024-01-05 23:49:10 +01:00
Derek Hageman
801a36c7b4
stm32: Add G0 USB RCC
...
Add configuration for STM32G0 USB clock.
2024-01-05 07:56:22 -07:00
Dario Nieuwenhuis
03ba4ae386
stm32: update metapac.
2024-01-03 18:39:22 +01:00
Tyler Gilbert
7944e854dd
Fix formatting of comments
2024-01-03 11:07:57 -06:00
Tyler Gilbert
994b77e684
Add write_immediate() function to STM32 DMA ringbuffer API to pre-fill the buffer before starting the DMA
2024-01-03 11:06:03 -06:00
Tyler
727906fa04
Update u5.rs
...
Update comments on p and q divider values to correctly describe what the clock outputs are used for.
2024-01-03 11:04:48 -06:00
Tyler Gilbert
31bf127807
Update STM32 RCC U5 to support P and Q dividers
2024-01-03 10:46:45 -06:00
Dario Nieuwenhuis
5fb6ad9a6a
update stm32data, fixes missing interrupts.
2024-01-03 02:10:42 +01:00
Adin Ackerman
d372cba266
additional chip variants required more clocks
2024-01-02 16:25:51 -08:00
Adin Ackerman
34713b4910
fix g0 being left out of some clock controls
2024-01-02 16:03:23 -08:00
Christian Enderle
7f00d7aa0c
allow unused variable
2024-01-02 23:29:33 +01:00
Christian Enderle
6da3db1190
low-power: add feature for stm32l5
2024-01-02 23:07:16 +01:00
Christian Enderle
f1c077ed2e
low-power: add stop support for stm32l5
2024-01-02 23:05:47 +01:00
Christian Enderle
cbdd570ad5
dbgmcu: add stm32l5 support
2024-01-02 22:21:59 +01:00
Christian Enderle
92995e8bb1
update metapac to stm32-data PR 333
2024-01-02 22:13:06 +01:00
Dario Nieuwenhuis
79ce34931d
Merge pull request #2367 from eZioPan/simplepwm-dma
...
implement PWM waveform generating with DMA
2024-01-02 16:32:06 +00:00
Dario Nieuwenhuis
638aa313d4
stm32/pwm: simplify impl blocks.
2024-01-02 17:28:23 +01:00
Dario Nieuwenhuis
cad4efe57f
stm32/timer: add missing supertrait bounds.
2024-01-02 17:28:08 +01:00
eZio Pan
c276da5fcb
ask a DMA Channel only when use .gen_waveform()
2024-01-02 14:01:09 +08:00
Ben V. Brown
26c0e5d439
Extend RTC low power mode for STM32G0
2024-01-02 16:15:11 +11:00
eZio Pan
f5a218a018
Merge branch 'embassy-rs:main' into simplepwm-dma
2024-01-02 11:55:09 +08:00
Dario Nieuwenhuis
9c2d2ff64d
Merge pull request #2358 from lights0123/half-duplex
...
stm32: add half duplex USART driver
2024-01-01 22:55:06 +00:00
eZio Pan
873ee06151
some trivial fix
...
use less #[cfg] macro; reuse same variable
2023-12-30 12:01:08 +08:00
eZio Pan
24f569821c
record&restore TIM OC to it's earlier state
2023-12-29 23:22:10 +08:00
Dario Nieuwenhuis
90e96d281f
Merge pull request #2373 from embassy-rs/jamesmunns-patch-2
...
stm32: Add breadcrumb to i2cv1 investigation
2023-12-28 23:58:19 +01:00
James Munns
a780339103
stm32: Add breadcrumb to i2cv1 investigation
...
Adds an in-code breadcrumb for https://github.com/embassy-rs/embassy/issues/2372
2023-12-28 23:57:10 +01:00
Dario Nieuwenhuis
a2faa9e14a
Merge pull request #2364 from embassy-rs/james/reenable-stm32-i2cv1-ints
...
STM32: Re-enable I2Cv1 Interrupts if poll-fn is not ready
2023-12-28 23:56:40 +01:00
Dario Nieuwenhuis
750aa3ceec
Merge pull request #2368 from chrenderle/l5-rtc
...
Add low-power support for stm32l5
2023-12-28 12:44:46 +00:00
Dario Nieuwenhuis
551c864012
Merge pull request #2369 from chrenderle/dbgmcu
...
dbgmcu: set bits to false when disabled
2023-12-28 12:38:24 +00:00
eZio Pan
8c2a6df03b
implement PWM waveform generating with DMA
2023-12-28 20:09:12 +08:00
Christian Enderle
da31aa44c0
dbgmcu: set bits to false when disabled
2023-12-28 10:52:23 +01:00
James Munns
a142be8bb8
Seems to help
2023-12-27 19:12:44 +01:00
Ben Schattinger
87b23f9037
stm32: fix USB wait_enabled IN messages
2023-12-26 18:26:01 -05:00
Ben Schattinger
211f3357b7
stm32: USB IN endpoints use IN wakers
...
fixes #2360
2023-12-26 18:22:54 -05:00
lights0123
dc295fa1db
stm32: add half duplex USART driver
2023-12-26 16:35:36 -05:00
Christian Enderle
30023c3bcc
Add low-power support for stm32l5
2023-12-26 11:58:38 +01:00
eZio Pan
d90a97aa4c
update metapac after stm32-data PR323
...
and refactor a few code with cargo clippy
2023-12-25 22:03:32 +08:00
Scott Mabin
487a6324ef
stm32: make time provider public again
2023-12-23 00:14:10 +00:00
Ulf Lilleengen
530ead5fde
Merge pull request #2339 from embassy-rs/make-static-remove
...
Replace make_static! macro usage with non-macro version
2023-12-21 10:02:11 +00:00
Ulf Lilleengen
0acf7b09c3
chore: replace make_static! macro usage with non-macro version
2023-12-21 10:29:57 +01:00
eZio Pan
745d618ab7
note on circular mode DMA
2023-12-21 17:03:10 +08:00
Ulf Lilleengen
1c3cf347cb
remove embedded-sdmmc
...
Remove support for embedded-sdmmc due to lack of maintainership. Bring
it back once the upstream includes the async functionality.
2023-12-20 13:25:36 +01:00
dragonn
871ed538b1
fix stm32 rtc year from 1970 base 2000
2023-12-19 21:17:42 +01:00
Dario Nieuwenhuis
c8c8b89104
stm32: doc everything else.
2023-12-19 18:03:20 +01:00
Dario Nieuwenhuis
189b15c426
stm32/timer: docs.
2023-12-19 17:35:38 +01:00
Dario Nieuwenhuis
7ec1ed4de3
Merge pull request #2324 from barnabywalters/stm32-usart-docs
...
stm32: Documented usart public API
2023-12-19 16:58:27 +01:00
Barnaby Walters
f97ef61ef8
Documented usart public API
2023-12-19 16:41:00 +01:00
Dario Nieuwenhuis
71584409d9
Merge pull request #2321 from embassy-rs/stm32-docs
...
stm32: document hrtim, qspi, sdmmc, spi.
2023-12-19 15:29:26 +00:00
Dario Nieuwenhuis
1ea87ec6e7
stm32: document hrtim, qspi, sdmmc, spi.
2023-12-19 16:21:51 +01:00
Dario Nieuwenhuis
7d9a76da00
Merge pull request #2313 from eZioPan/update-metapac6
...
match up with "DMA cleanup" metapac change
2023-12-19 15:20:15 +00:00
eZio Pan
3e2e109437
update metapac dep
2023-12-19 19:09:06 +08:00
Priit Laes
fc724dd707
stm32: i2c: Clean up conditional code a bit
...
By moving conditional code inside the functions, we can
reduce duplication and in one case we can even eliminate one...
2023-12-19 11:48:58 +02:00
eZio Pan
254d587385
match up with metapac change
2023-12-19 17:12:34 +08:00
Dario Nieuwenhuis
e1f588f520
stm32/sai: fix typo.
2023-12-19 00:36:50 +01:00
Dario Nieuwenhuis
49534cd405
stm32: more docs.
2023-12-19 00:10:36 +01:00
Dario Nieuwenhuis
138318f611
stm32/sai: docs, remove unused enums.
2023-12-19 00:06:30 +01:00
Dario Nieuwenhuis
c45418787c
stm32/sai: remove unused Word trait.
2023-12-19 00:06:30 +01:00
Dario Nieuwenhuis
4deae51e65
stm32/sai: deduplicate code for subblocks A/B.
2023-12-19 00:06:30 +01:00
Dario Nieuwenhuis
c952ae0f49
stm32/sai: remove unimplemented SetConfig.
2023-12-19 00:06:30 +01:00
Dario Nieuwenhuis
124478c5e9
stm32: more docs.
2023-12-18 19:11:23 +01:00
Dario Nieuwenhuis
87c8d9df94
stm32/can: docs.
2023-12-18 18:44:51 +01:00
Dario Nieuwenhuis
21fce1e195
stm32/can: cleanup interrupt traits.
2023-12-18 18:44:51 +01:00
Dario Nieuwenhuis
7044e53af4
stm32/i2c: remove _timeout public API, share more code between v1/v2.
2023-12-18 18:24:55 +01:00
Dario Nieuwenhuis
c0cfd68c0c
Merge pull request #2297 from embassy-rs/stm32-docs
...
stm32: add some docs.
2023-12-17 23:59:29 +00:00
Dario Nieuwenhuis
80c9d04bbd
stm32: add some docs.
2023-12-18 00:53:18 +01:00
RobertTDowling
b857334f92
STM32: Fix race in alarm setting, which impacted scheduling.
...
Detect potential race condition (should be rare) and return false back
to caller, allowing them to handle the possibility that either the
alarm was never set because it was in the past (old meaning of false),
or that in fact the alarm was set and may have fired within the race
window (new meaning of false). In either case, the caller needs to
make sure the callback got called.
2023-12-17 15:35:35 -08:00
Adam Greig
f6bc96dfbd
STM32: Enable flash support for STM32G4
2023-12-16 03:50:34 +00:00
Piotr Esden-Tempski
3568e4a5ff
STM32 QSPI: Fix flash selection.
2023-12-15 16:47:56 -08:00
Oliver Rockstedt
560e728132
STM32H7: adjust flash latency and programming delay for series in RM0468
2023-12-15 14:14:30 +01:00
Oliver Rockstedt
c17fee27bb
STM32H7: limit max frequency to 520MHz until cpu frequency boost option is implemented
2023-12-15 13:53:06 +01:00
Oliver Rockstedt
a8d0da91dc
STM32H7: adjust frequency limits for series in RM0468
2023-12-15 12:22:17 +01:00
Oliver Rockstedt
e5e85ba02b
STM32H7: Allow PLL1 DIVP of 1 for certain series
2023-12-15 11:42:58 +01:00
Dario Nieuwenhuis
138ed87b95
Merge pull request #2287 from embassy-rs/eh-rc3
...
Update embedded-hal to 1.0.0-rc.3
2023-12-14 15:29:48 +00:00
Dario Nieuwenhuis
d81395fab3
Update embedded-hal to 1.0.0-rc.3
2023-12-14 16:19:32 +01:00
eZio Pan
879c0ad989
after stm32-metapac update, TIM CR1 ARPE enum to bool
2023-12-14 21:33:35 +08:00
lights0123
dfba51d3f2
stm32: usart pin inversion
2023-12-10 18:39:45 -05:00
Carlos Barrales Ruiz
78f709a362
* Add GP TIM9 and TIM11 to be used as time_driver
2023-12-09 14:14:34 +01:00
Dario Nieuwenhuis
e99649e37d
Merge pull request #2271 from embassy-rs/update-metapac4
...
stm32: update stm32-metapac. Fixes USB on STM32WB.
2023-12-08 23:01:26 +00:00
Dario Nieuwenhuis
4051aead0f
stm32: update stm32-metapac. Fixes USB on STM32WB.
2023-12-08 23:45:12 +01:00
Kaitlyn Kenwell
5973e69244
Conditionally compile line for all stm32wb chips
2023-12-08 17:20:23 -05:00
Kaitlyn Kenwell
4d3fcd8d2d
Assert CR2.USV on stm32wb55, wb35 series chips
...
ref RM0434 p. 175
2023-12-08 17:06:37 -05:00
Dario Nieuwenhuis
6c746dcf39
Document how to bind multiple interrupts and handlers in bind_interrupts!
.
2023-12-08 21:26:28 +01:00
Dario Nieuwenhuis
a9ec623622
Merge pull request #2246 from CaptainMaso/adc_f3_v1_1
...
stm32: add ADC f3_v1_1
2023-12-08 19:30:50 +00:00
Dario Nieuwenhuis
c27459c052
Update stm32-metapac.
2023-12-08 20:07:59 +01:00
Dario Nieuwenhuis
881cb16d28
stm32/adc: move convert resolution from PAC to version-specific mod.
2023-12-08 20:07:06 +01:00
Jesse Braham
925f5cbc26
Update all references to embasy-executor
to the latest version
2023-12-06 12:05:47 +01:00
James Munns
18e89d7410
Add implementation note for embassy-stm32's time-driver
...
This is a detail I didn't originally understand when hoping to use TIM16/17 as alternative embassy-time driver providers.
Adding my note here to hopefully save the next person a little time.
2023-12-04 15:57:46 +01:00
Dario Nieuwenhuis
5f7cd821b5
Merge pull request #2249 from MathiasKoch/embassy-stm32/revert-day-of-week-fix
...
fix(embassy-stm32): Revert "fix day of the week conversion"
2023-12-04 13:35:27 +00:00
Mathias
e9fa79bd77
Revert "fix day of the week conversion"
...
This reverts commit 59a5e84df5
.
2023-12-04 14:19:30 +01:00
Scott Mabin
334900752a
update release version in examples and other crates
2023-12-04 13:15:10 +00:00
Dario Nieuwenhuis
03325ea81b
update embedded-storage{,-async}, remove patch.
2023-12-04 13:48:36 +01:00
Carlos Barrales Ruiz
09592ffa6a
stm32/rcc: Add support for HSE Oscillator in stm32g0
2023-12-04 13:28:00 +01:00
Sam Mason
35f16c6003
stm32: add ADC f3_v1_1
2023-12-04 14:03:31 +11:00
Dario Nieuwenhuis
b867f9b5b6
Merge pull request #2241 from adamgreig/stm32-uid
...
STM32: Add UID driver
2023-12-03 23:22:57 +00:00
Adam Greig
198ef8183e
STM32: Add UID driver
2023-12-03 23:17:49 +00:00
Dario Nieuwenhuis
696c703b8c
Merge pull request #2237 from badrbouslikhin/main
...
stm32/rcc: make h7 rm0399 power supply configurable
2023-12-03 22:47:34 +00:00
Badr Bouslikhin
ea43d74780
stm32/rcc: add missing h7 power config
2023-12-02 14:55:00 +01:00
Badr Bouslikhin
22c39fd697
stm32/rcc: refactor h7 rm0455,rm0468 and rm0468 power management
2023-12-02 14:47:36 +01:00
Badr Bouslikhin
87c0f1525d
stm32/rcc: enable power supply configurability for rm0455 and rm0468
2023-12-02 14:45:36 +01:00
Grant Miller
8c0e2748db
stm32/timer: Fix frequency off-by-one
2023-12-01 22:09:15 -06:00
Badr Bouslikhin
c97f65ac60
stm32/rcc: make h7 rm0399 power supply configurable
2023-12-01 15:05:31 +01:00
Dario Nieuwenhuis
c6989dfbca
Remove nightly and unstable-traits features in preparation for 1.75.
2023-11-29 17:26:33 +01:00
Dario Nieuwenhuis
4634316749
Update embedded-(hal,io,nal).
2023-11-29 17:01:36 +01:00
Dario Nieuwenhuis
6bdacb4f69
stm32/sdmmc: use unwrap to ensure panics get printed to defmt.
2023-11-27 00:35:41 +01:00
Dario Nieuwenhuis
a3ea01473a
stm32: fix dac trait
2023-11-25 00:30:30 +01:00
Adam Greig
cf84c8bfd1
WIP: use generated metapac from corresponding PR for CI
2023-11-25 00:30:29 +01:00
Adam Greig
09d7950313
STM32 DAC: Rework DAC driver, support all families.
2023-11-25 00:29:45 +01:00
Adam Greig
267cbaebe6
STM32 DAC: Disable circular writes with GPDMA as it doesn't yet support circular transfers
2023-11-25 00:29:45 +01:00
Adam Greig
31fc337e2f
STM32 DAC: Swap to new TSEL enum entirely in-HAL
2023-11-25 00:29:45 +01:00
Adam Greig
135f350020
STM32 DAC: Use new Mode enum for setting channel mode
2023-11-25 00:29:45 +01:00
Adam Greig
897663e023
STM32: Add cfg to differentiate L4 and L4+ families
2023-11-25 00:29:45 +01:00
Adam Greig
2218d30c80
STM32: Remove vestigal build.rs cfgs, add new flashsize_X and package_X cfgs, use in F3 RCC
2023-11-25 00:29:45 +01:00
Barnaby Walters
3efc3eee57
stm32/i2c: implement async i2c v1.
2023-11-24 23:55:46 +01:00
Dario Nieuwenhuis
bc65b8f7ec
stm32/i2c: add async, dual interrupt scaffolding.
2023-11-24 23:55:45 +01:00
Andres Vahter
4f8c79c911
stm32 i2c: allow EHA traits without time feature
2023-11-24 15:56:19 +02:00
Mick van Gelderen
88f893da45
Format
2023-11-21 15:40:07 +01:00
Mick van Gelderen
19ba7da3fd
Rename _flush* methods
2023-11-21 15:37:38 +01:00
Tommas Bakker
06a83c0f89
Refactor bxcan split.
2023-11-21 15:34:34 +01:00
Dario Nieuwenhuis
766ec77ec5
Merge pull request #2198 from adamgreig/stm32-opamp
...
STM32: Don't enable opamps in new(), wait until configured
2023-11-20 22:47:19 +00:00
Adam Greig
d1af696605
STM32 opamp: use impl Peripheral instead of directly taking pins
2023-11-20 21:35:05 +00:00
Adam Greig
2386619f1f
STM32: Disable opamp when OpAmpOutput is dropped, not when the parent OpAmp is dropped
2023-11-20 21:17:09 +00:00
Dario Nieuwenhuis
cf82fa687c
Merge pull request #2192 from RobertTDowling/stm32h7-adc-clock
...
stm32h7 ADC: Fix stalled clock in default h7 config
2023-11-20 00:00:25 +00:00
RobertTDowling
7f258cd3c4
PR feedback
2023-11-19 15:56:34 -08:00
Dario Nieuwenhuis
5221705495
stm32/sai: fix build on chips with only SAI4 (like stm32h725re), improve sync config.
2023-11-19 22:06:05 +01:00
Adam Greig
814e096d22
STM32: Don't enable opamps in new(), wait until configured.
2023-11-18 19:37:56 +00:00
Dario Nieuwenhuis
5bc7557826
Merge pull request #2173 from andresv/expose-i2c-async-api-without-time
...
STM32 I2C: expose async API without needing "time" feature.
2023-11-17 23:47:46 +00:00
RobertTDowling
4947b13615
stm32h7 ADC: Fix stalled clock in default h7 config
2023-11-15 17:11:16 -08:00
Dario Nieuwenhuis
1f9b649f80
executor: release v0.3.3
2023-11-15 18:44:01 +01:00
Dario Nieuwenhuis
ea99671729
Merge pull request #2180 from MaxiluxSystems/gpdma-drop-fix
...
stm32/gpdma: fix drop() to use documented method for aborting transfer
2023-11-13 16:53:50 +00:00
Torin Cooper-Bennun
8eff749823
stm32/gpdma: fix drop() to use RM's method for aborting transfer
...
see e.g. STM32H503 RM section 15.4.4...
1. Write 1 into GPDMA_CxCR.SUSP
2. Poll GPDMA_CxSR.SUSPF until it is 1
3. Write 1 into GPDMA_CxCR.RESET (occurs upon next init, in new_inner())
2023-11-13 16:41:09 +00:00
Dario Nieuwenhuis
ace5221080
stm32/rcc: unify f2 into f4/f7.
2023-11-13 01:59:33 +01:00
Dario Nieuwenhuis
2376b3bdfa
stm32/rcc: fix pll enum naming on f4, f7.
2023-11-13 01:56:50 +01:00
Dario Nieuwenhuis
066dc297ed
stm32/rcc: unify l0l1 and l4l5.
2023-11-13 01:05:07 +01:00
Dario Nieuwenhuis
4fe344ebc0
stm32/rcc: consistent casing and naming for PLL enums.
2023-11-13 00:52:01 +01:00
Andres Vahter
0f2208c0af
stm32 i2c: remove mod dummy_time
2023-11-11 14:29:24 +02:00
Andres Vahter
6c42885d4a
stm32 i2c: remove pub _timeout api
2023-11-11 14:05:58 +02:00
Andres Vahter
3b33cc4691
i2c: expose async api without needing time
...
This exposes I2C async API without needing "time" feature. With "time" feature additional async API with timeouts is exposed.
2023-11-10 16:04:25 +02:00
xoviat
05a4bb3a4a
rustfmt
2023-11-08 19:06:29 -06:00
xoviat
4b4c28d875
stm32: add low power for g4
2023-11-08 19:04:20 -06:00
xoviat
553f0158c0
stm32: resolve eth/v2 security bug
...
fixes #2129
2023-11-07 15:39:06 -06:00
eZio Pan
8f543062aa
check PLL settings before set VOS
2023-11-06 18:30:59 +08:00
Dario Nieuwenhuis
7084570478
stm32/otg: fix enumeration on non-f4 chips.
...
Fixes regression from #2148
2023-11-06 04:13:06 +01:00
Dario Nieuwenhuis
58719dcb58
Merge pull request #2148 from embassy-rs/usb-fixes3
...
stm32/otg: fix CONTROL OUT transfers on F4.
2023-11-06 02:46:38 +00:00
Dario Nieuwenhuis
b4eef6b1ee
stm32/otg: fix CONTROL OUT transfers on F4.
2023-11-06 03:38:42 +01:00
Dario Nieuwenhuis
70a700e430
stm32/otg: log TRDT
2023-11-06 03:38:13 +01:00
Dario Nieuwenhuis
b8679c0cc8
stm32/rcc: set highest VOS on some F4s with no overdrive.
2023-11-06 03:37:39 +01:00
xoviat
239ad5ebea
stm32: update metapac and use stop data
2023-11-05 20:09:33 -06:00
xoviat
46cffcc8d4
Merge pull request #2119 from JuliDi/fmc-sram-adc
...
STM32: Add raw access to FMC peripheral and fix typo in build.rs
2023-11-06 01:31:56 +00:00
Adam Greig
d464d1a841
Remove accidentally leftover println
2023-11-06 01:11:57 +00:00
xoviat
980c3cf42b
Merge pull request #2142 from adamgreig/stm32g4-opamp
...
stm32: support internal output on g4 opamps
2023-11-06 00:01:34 +00:00
Adam Greig
28eb4cd817
stm32: support internal output on g4 opamps
2023-11-05 23:57:15 +00:00
Dario Nieuwenhuis
0272deb158
stm32/rcc: add shared code for hsi48 with crs support.
2023-11-05 23:52:54 +01:00
Dario Nieuwenhuis
8911a4d855
stm32/rcc: switch to modern api for l0, l1.
2023-11-05 03:06:13 +01:00
xoviat
3f2abd4fd5
Merge branch 'main' of github.com:embassy-rs/embassy into low-power
2023-11-04 13:51:11 -05:00
xoviat
dc467e89a0
stm32: compute stop mode and workaround rtt test bug
2023-11-04 13:49:54 -05:00
xoviat
655ed3aa88
Merge pull request #2122 from bgamari/wip/low-power-docs
...
stm32: Add some documentation to `low_power`
2023-11-04 16:26:41 +00:00
xoviat
d98c064bfe
Merge pull request #2134 from xoviat/revert-rcc
...
stm32/rcc: revert part of #2106
2023-11-01 22:31:43 +00:00
xoviat
a904538555
stm32/rcc: revert part of #2106
2023-11-01 17:27:33 -05:00
xoviat
bab61f9665
stm32/rtc: misc. cleanup and move to bps by default
2023-11-01 17:17:14 -05:00
shakencodes
bc07539133
Fix missed field in cfg'd code
2023-11-01 13:30:04 -07:00
shakencodes
b4a82b7ed4
Correct adc_clock_source for all µprocs in l4l5.rs
2023-11-01 13:22:50 -07:00
shakencodes
e2688dda22
Eliminates redefinition of AdcClockSource
2023-11-01 12:06:19 -07:00
shakencodes
d0d8585e4c
Reinstate rcc::Config adc_clock_source field
2023-11-01 11:46:17 -07:00
Adam Greig
e78a6db151
stm32: Don't try handle EXTI inputs above 16
2023-11-01 05:23:34 +01:00
Dario Nieuwenhuis
dd6a29adb2
Release embassy-executor v0.3.1
2023-11-01 00:17:44 +01:00
Dario Nieuwenhuis
74683c706b
Merge pull request #2127 from bugadani/release
...
Prepare embassy-net 0.2.1 and embassy-sync 0.4.0
2023-10-31 15:57:51 +00:00
Dániel Buga
d941882066
Prepare embassy-net 0.2.1 and embassy-sync 0.4.0
2023-10-31 09:33:27 +01:00
Dario Nieuwenhuis
3f74ff7235
Merge pull request #2123 from bugadani/feature
...
Re-add impl_trait_projections
2023-10-31 02:26:51 +01:00
Scott Mabin
3912f5d67b
Fix dow range off-by-one error
2023-10-30 20:26:08 +00:00
Ben Gamari
aa97fe7cbd
stm32: Add some documentation to low_power
...
This begins to explain the operation of the low-power executor.
2023-10-30 14:36:08 -04:00
Dániel Buga
ad07ea0290
Re-add impl_trait_projections
2023-10-30 19:10:45 +01:00
JuliDi
b1e5b6ffe1
Add raw fmc access implementation
2023-10-28 13:50:02 +02:00
xoviat
b6fc682117
Merge pull request #2117 from xoviat/rtc-3
...
stm32/rtc: more rtc cleanup
2023-10-26 00:55:32 +00:00
xoviat
0beb84768e
stm32/rtc: more rtc cleanup
2023-10-25 19:50:30 -05:00
xoviat
e8a3cfaed6
stm32/low-power: refactor refcount
2023-10-25 19:07:31 -05:00
Dario Nieuwenhuis
b3879ec223
Merge pull request #2105 from andresv/fix-stm32-uart-set-config
...
Fix stm32 uart set_config
2023-10-24 13:13:42 +00:00
Andres Vahter
bda99e59ec
stm32: fix uart parity, add comment why it is so
2023-10-24 15:57:03 +03:00
Andres Vahter
25c2a9baaa
stm32 uart: remove redundant set_fifoen(true)
2023-10-24 10:11:54 +03:00
Andres Vahter
1e362c750b
stm32 uart: use ConfigError instead of () as error
2023-10-24 09:54:17 +03:00
Andres Vahter
7f72dbdaf2
stm32: fix set_config for buffered uart
...
In reconfigure() cr1 register is initialised with write (not modify) which means rxneie and idleneie are disabled after reconfiguration.
2023-10-24 09:09:33 +03:00
Rasmus Melchior Jacobsen
e8c162ac03
stm32: Remove unneeded unsafe
2023-10-24 07:44:04 +02:00
xoviat
9e230b64a4
stm32/build: deterministically generate data
2023-10-23 18:19:42 -05:00
xoviat
17b4cf8ce7
Merge pull request #2106 from xoviat/fix-stop-2
...
stm32: fix low-power test
2023-10-23 21:29:36 +00:00
xoviat
df4aa0fe25
stm32: fix low-power test
2023-10-23 16:26:34 -05:00
Andres Vahter
188ee59ba6
stm32: fix setting uart databits
2023-10-23 22:40:24 +03:00
Andres Vahter
591612db7e
stm32 uart: return error if rx and tx not enabled
2023-10-23 22:39:24 +03:00
Dario Nieuwenhuis
82593bd404
stm32/gpio: make port G work on U5.
2023-10-23 18:12:31 +02:00
Dario Nieuwenhuis
a39ae12edc
stm32/rcc: misc cleanups.
2023-10-23 17:36:21 +02:00
Dario Nieuwenhuis
0ef1cb29f7
stm32/rcc: merge wb into l4/l5.
2023-10-23 17:36:21 +02:00
Dario Nieuwenhuis
b9e13cb5d1
stm32/rcc: merge wl into l4/l5.
2023-10-23 00:31:36 +02:00
Dario Nieuwenhuis
412bcad2d1
stm32: rename HSI16 -> HSI
2023-10-22 22:39:55 +02:00
xoviat
7c5f963d1f
stm32: fix opamp bug in docs build
2023-10-21 07:32:04 -05:00
Dario Nieuwenhuis
62e1e1637c
Merge pull request #2097 from embassy-rs/rcc-no-spaghetti
...
stm32/tests: add stm32h753zi, stm32h7a3zi.
2023-10-21 02:49:12 +00:00
Dario Nieuwenhuis
3d03c18d4f
stm32/tests: add stm32h753zi, stm32h7a3zi.
2023-10-21 04:46:45 +02:00
xoviat
0fb677aad7
stm32: update metapac
2023-10-20 20:21:53 -05:00
Dion Dokter
5b3f75dc72
Merge branch 'master' into center-align
2023-10-20 14:17:55 +02:00
Dion Dokter
6f2995cd4c
Invert assert
2023-10-20 10:41:39 +02:00
eZio Pan
241488ef1c
bypass ODEN
if chip doesn't have it
2023-10-18 19:42:31 +08:00
Dario Nieuwenhuis
f20f170b1f
stm32/rcc: refactor and unify f4 into f7.
2023-10-18 05:11:31 +02:00
Dario Nieuwenhuis
67010d123c
stm32/rcc: refactor f7.
2023-10-18 05:01:11 +02:00
Dario Nieuwenhuis
361fde35cf
stm32/rcc: wait for mux switch.
2023-10-18 04:32:18 +02:00
Dario Nieuwenhuis
7ce3b19389
stm32/rcc: remove unused enum.
2023-10-18 04:32:18 +02:00
xoviat
bbd12c9372
stm32: update metapac
2023-10-17 20:31:44 -05:00
xoviat
683d5c3066
Merge pull request #2077 from xoviat/rcc
...
stm32: update metapac
2023-10-17 01:05:18 +00:00
xoviat
a3574e519a
stm32: update metapac
2023-10-16 20:04:10 -05:00
Grant Miller
e7aeb9b29f
stm32f1: Keep flash prefetch enabled
2023-10-16 19:23:01 -05:00
Dániel Buga
40e4ca4751
Prepare embassy-net(/-driver,/-driver-channel) 0.2.0
2023-10-16 20:59:06 +02:00
Dario Nieuwenhuis
213b4c9dca
time: add links
key, release v0.1.5.
2023-10-16 20:11:35 +02:00
Dario Nieuwenhuis
aff77d2b65
stm32/rng: add test.
2023-10-16 05:35:29 +02:00
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
b24520579a
rcc: ahb/apb -> hclk/pclk
2023-10-15 19:51:35 -05:00
xoviat
1fc35c753b
rcc: update pll clock naming
2023-10-15 15:10:42 -05:00
JuliDi
2aaf4bf96b
fix typo in build.rs that caused fmc ClkPin to not be implemented
2023-10-15 19:14:34 +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
Dario Nieuwenhuis
3bfbf2697f
stm32/rcc: remove unused lse/lsi fields in h7
2023-10-15 01:48:27 +02:00
xoviat
824556c9c8
rcc: remove mux_prefix from clocks
2023-10-14 12:51:45 -05:00
xoviat
575db17264
Merge pull request #2053 from jr-oss/fix_stm32_advanced_timer_enable_output
...
STM32: Fix regression in advanced timer to enable output of PWM signa…
2023-10-14 04:09:57 +00:00
xoviat
3264941c1b
rcc mux: update metapac
2023-10-13 23:06:32 -05:00
Ralf
9a7fda87b0
STM32: timer enable_output does not take bool, but just enables the output
2023-10-13 18:52:10 +02:00
Ralf
adc810d24b
STM32: Fix regression in advanced timer to enable output of PWM signal by partly reverting commit 74eb519
2023-10-13 17:38:40 +02:00
Scott Mabin
a6bbb130c5
make set_config concrete methods public again
2023-10-12 23:03:33 +01:00
Dániel Buga
02d2c06b23
Release embassy-time 0.1.4
2023-10-12 18:14:33 +02:00
Dario Nieuwenhuis
97ca0e77bf
stm32: avoid creating many tiny critical sections in init.
...
Saves 292 bytes on stm32f0 bilnky with max optimizations (from 3132 to 2840).
2023-10-12 16:20:34 +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
65f81a1f57
Remove critical section for reset
2023-10-12 11:04:45 +02:00
pbert
ecdd7c0e2f
enable clock first
2023-10-12 11:04:44 +02:00
pbert
d7d79f3068
Remove workaround for adc v3
2023-10-12 11:04:20 +02:00
pbert
f65a96c541
STM32: combine RccPeripherals reset() and enable() to reset_and_enable()
2023-10-12 11:04:19 +02:00
xoviat
57ccc1051a
stm32: add initial rcc mux for h5
2023-10-11 20:59:47 -05:00
Dario Nieuwenhuis
70a91945fc
stm32: remove atomic-polyfill.
2023-10-12 02:07:26 +02:00
Andres Oliva
063e6f96da
Remove outdated comment
2023-10-11 23:56:21 +02:00
Andres Oliva
e6c47c3718
cargo fmt
2023-10-11 23:47:24 +02:00
Andres Oliva
2f7c2750d1
Feature guarded more unused stuff
2023-10-11 23:45:47 +02:00
Andres Oliva
032b1f2d59
Fix some issues with unused stuff
2023-10-11 23:42:40 +02:00
Andres Oliva
f76d50e837
cfg! macro didn't work, had to duplicate functions with different guards
2023-10-11 23:39:24 +02:00
Andres Oliva
ee5ea7aa06
cargo fmt
2023-10-11 23:34:02 +02:00
Andres Oliva
251d004708
Try using cfg! macro
2023-10-11 23:32:40 +02:00
Andres Oliva
cd68f85501
Added guards to individual APIs
2023-10-11 23:25:13 +02:00
Andres Oliva
b6c0ddb7df
Move the feature gates to the i2c module instead of the pub use statement
2023-10-11 23:05:12 +02:00
Andres Oliva
ee93bbf1d4
Gate pub use _version::*
2023-10-11 22:45:54 +02:00
Andres Oliva
1cd3ae9bd5
Add comment about feature gate on I2C mod
2023-10-11 22:20:17 +02:00
Andres Oliva
bfcca79c1e
Add time feature back and gate i2c on time
2023-10-11 22:12:03 +02:00
Dario Nieuwenhuis
4a43cd3982
stm32/rcc: LSE xtal is 32768hz, not 32000hz.
...
Fixes #2043
2023-10-11 13:39:04 +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
21915a9a3f
stm32/rcc: unify L0 and L1.
2023-10-11 01:22:27 +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
Andres Vahter
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
Gabriel Górski
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
Dario Nieuwenhuis
6186fe0807
stm32/rcc: use PLL enums from PAC.
2023-10-09 02:48:22 +02:00
xoviat
2e5ab7981e
stm32: update metapac
2023-10-08 18:27:36 -05:00
Dario Nieuwenhuis
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
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
randi
710874021a
Implemented Pwm trait for complementary pwm from embedded_hal
2023-10-07 12:22:31 +13:00
Dario Nieuwenhuis
3a8e0d4a27
stm32: implement MCO for all chips.
2023-10-07 01:15:24 +02:00
randi
b217d147de
Implemented Pwm trait from embedded_hal
2023-10-07 11:57:19 +13:00
shakencodes
68c4820dde
Add MCO support for stm32wl family
2023-10-06 14:37:36 -07: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
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