Eli Orona
2ee9b37373
Move to a single Mux Struct.
2024-02-20 17:54:35 -08: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
Dario Nieuwenhuis
ae02467434
stm32: update metapac.
2024-02-16 02:07:21 +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
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
Dario Nieuwenhuis
9866847375
stm32: autogenerate clocks struct, enable mux for all chips.
2024-02-02 23:24:34 +01:00
Dario Nieuwenhuis
e7d1119750
stm32: automatically use refcounting for rcc bits used multiple times.
2024-02-01 23:15:17 +01: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
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
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
shufps
4e2361c024
adds timer-driver for tim21 and tim22 (on L0)
2024-01-15 08:11:22 +01: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
Adin Ackerman
34713b4910
fix g0 being left out of some clock controls
2024-01-02 16:03:23 -08:00
eZio Pan
8c2a6df03b
implement PWM waveform generating with DMA
2023-12-28 20:09:12 +08:00
Dario Nieuwenhuis
4deae51e65
stm32/sai: deduplicate code for subblocks A/B.
2023-12-19 00:06:30 +01: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
c27459c052
Update stm32-metapac.
2023-12-08 20:07:59 +01:00
Adam Greig
09d7950313
STM32 DAC: Rework DAC driver, support all families.
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
Dario Nieuwenhuis
bc65b8f7ec
stm32/i2c: add async, dual interrupt scaffolding.
2023-11-24 23:55:45 +01: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
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
Adam Greig
28eb4cd817
stm32: support internal output on g4 opamps
2023-11-05 23:57:15 +00:00
xoviat
dc467e89a0
stm32: compute stop mode and workaround rtt test bug
2023-11-04 13:49:54 -05:00
xoviat
e8a3cfaed6
stm32/low-power: refactor refcount
2023-10-25 19:07:31 -05:00
xoviat
9e230b64a4
stm32/build: deterministically generate data
2023-10-23 18:19:42 -05:00
xoviat
a3574e519a
stm32: update metapac
2023-10-16 20:04:10 -05:00
xoviat
b24520579a
rcc: ahb/apb -> hclk/pclk
2023-10-15 19:51:35 -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
xoviat
824556c9c8
rcc: remove mux_prefix from clocks
2023-10-14 12:51:45 -05:00
xoviat
3264941c1b
rcc mux: update metapac
2023-10-13 23:06:32 -05: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
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
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
Dario Nieuwenhuis
0cfa8d1bb5
stm32/rcc: use more PLL etc enums from PAC.
2023-10-11 00:12:33 +02:00
Dario Nieuwenhuis
6186fe0807
stm32/rcc: use PLL enums from PAC.
2023-10-09 02:48:22 +02:00
Dario Nieuwenhuis
3a8e0d4a27
stm32: implement MCO for all chips.
2023-10-07 01:15:24 +02:00
shakencodes
68c4820dde
Add MCO support for stm32wl family
2023-10-06 14:37:36 -07:00
xoviat
e561e673c2
stm32: add opamp mod and update pac
2023-10-03 16:34:13 -05:00
JuliDi
923f1851ee
remove debug logging in build.rs
2023-10-02 09:36:11 +02:00
JuliDi
729338875c
support QSPI BK2
2023-10-02 09:30:57 +02:00
xoviat
05218a52e6
stm32: update set_config
2023-10-01 09:39:10 -05: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
5924cc8b49
handle _C pins
2023-10-01 12:30:34 +02: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
Dario Nieuwenhuis
8315cf064e
stm32: add stm32wba support.
2023-09-16 04:04:45 +02:00
xoviat
c28a6bdd0b
stm32: generate adc_common
2023-09-15 17:35:53 -05:00
xoviat
fd22f4fac5
stm32: remove paste and use refcount statics
2023-09-05 17:45:52 -05:00
xoviat
f502271940
stm32: add initial adc f3 impl
2023-09-05 16:46:57 -05: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
83f224e140
stm32/lp: add refcount
2023-08-23 20:18:34 -05:00
Don Reilly
c312884692
added exclusion for adc v4 as well
2023-08-10 08:21:03 -05:00
Don Reilly
e31545860e
don't generate adc peripheral for f3 series
2023-08-08 16:46:30 -05:00
Grant Miller
d49f40dd5c
embassy-stm32: Misc clippy fixes
2023-08-06 15:00:39 -05:00
Dario Nieuwenhuis
5c2ba3b212
stm32: add hrtim v2
2023-07-31 15:42:03 +02:00
xoviat
c7c701b3e3
Merge branch 'main' of https://github.com/embassy-rs/embassy into hrtim
2023-07-28 17:18:22 -05:00
xoviat
28136579e9
stm32/hrtim: extract into mod
2023-07-28 17:07:08 -05:00
Dario Nieuwenhuis
3690af9bea
stm32/timer: merge pwm module into timer. ( #1703 )
...
The traits there are applicable to timer use cases other than PWM.
It doesn't make sense to keep them separated.
2023-07-28 15:29:27 +02:00
Dario Nieuwenhuis
036e6ae30c
Rename embassy-hal-common to embassy-hal-internal, document it's for internal use only. ( #1700 )
2023-07-28 13:23:22 +02:00
xoviat
d42dff45de
Merge branch 'main' of https://github.com/embassy-rs/embassy into hrtim
2023-07-22 14:49:31 -05:00
xoviat
953c745ed8
stm32/rcc: allow const-propagation
2023-07-04 16:29:46 -05:00
xoviat
8141d53d94
Merge branch 'main' of https://github.com/embassy-rs/embassy into hrtim
2023-07-01 17:32:25 -05:00
xoviat
cdb3fb059f
stm32/hrtim: first draft
2023-06-30 18:21:42 -05:00
Dario Nieuwenhuis
6eb46c419c
Merge pull request #1565 from JuliDi/main
...
Implement DMA for DAC on STM32
2023-06-29 08:54:28 +00:00
JuliDi
e7bc84dda8
fix issues when DAC2 present, add additional options to DMA (NOT YET WORKING with STM32H7A3ZI)
2023-06-26 09:42:25 +02:00
xoviat
49333ce6ad
stm32/wpan: move linker file into pkg
2023-06-23 20:09:13 -05:00
JuliDi
320e2cf35b
Merge branch 'main' of github.com:embassy-rs/embassy
2023-06-19 11:14:48 +02:00
Dario Nieuwenhuis
558918651e
stm32: update stm32-metapac.
2023-06-19 03:22:12 +02:00
JuliDi
f5d084552d
implement mwe of a DMA write() method for DAC
2023-06-17 11:48:21 +02:00
Dario Nieuwenhuis
98c821ac39
Remove embassy-cortex-m crate, move stuff to embassy-hal-common.
2023-06-09 16:44:20 +02:00
Dario Nieuwenhuis
8c93805ab5
Add rt
feature to HALs, cfg out interrupt handling when not set.
2023-06-08 18:57:03 +02:00
Dario Nieuwenhuis
921780e6bf
Make interrupt module more standard.
...
- Move typelevel interrupts to a special-purpose mod: `embassy_xx::interrupt::typelevel`.
- Reexport the PAC interrupt enum in `embassy_xx::interrupt`.
This has a few advantages:
- The `embassy_xx::interrupt` module is now more "standard".
- It works with `cortex-m` functions for manipulating interrupts, for example.
- It works with RTIC.
- the interrupt enum allows holding value that can be "any interrupt at runtime", this can't be done with typelevel irqs.
- When "const-generics on enums" is stable, we can remove the typelevel interrupts without disruptive changes to `embassy_xx::interrupt`.
2023-06-08 18:00:48 +02:00
bors[bot]
bab03a3927
Merge #1489 #1500
...
1489: stm32/ipcc: make IPCC methods static r=xoviat a=OueslatiGhaith
1500: stm32/tests: disable sdmmc test for now r=xoviat a=xoviat
Co-authored-by: goueslati <ghaith.oueslati@habemus.com>
Co-authored-by: Ghaith Oueslati <73850124+OueslatiGhaith@users.noreply.github.com>
Co-authored-by: xoviat <xoviat@users.noreply.github.com>
2023-05-29 14:42:51 +00:00
xoviat
c19967dcf2
stm32/ipcc: extract tl_mbox linker file to embassy-stm32
2023-05-27 15:03:25 -05:00
Rasmus Melchior Jacobsen
efc71e08c4
Default to Async mode
2023-05-25 20:07:42 +02:00
Rasmus Melchior Jacobsen
44b6494ab7
Let FlashLayout and FlashRegion depends on a Blocking/Async mode generic
2023-05-25 20:07:42 +02:00
bors[bot]
5f10eadb8d
Merge #1475 #1478 #1482
...
1475: Add YieldingAsync adapter r=Dirbaio a=rmja
This PR calls `yield_now()` for long blocking `NorFlash` read and erase operations.
The motivation for this change is to allow for other tasks on the same executor to get something done between these long running operations, for example a task that feeds a watchdog. This will allow the watchdog to have a timer relative to e.g. one sector erase, instead of all sector erase.
1478: stm32: Minor fixes in flash regions for F4 dual bank layout r=Dirbaio a=rmja
This PR has the following fixes:
* Ensure that `FlashRegion` instances can only be created within the embassy-stm32 crate.
* Remove `Drop` trait for `AltFlashLayout`, as it is hard to use, as one cannot take the individual regions out from the struct. Instead of going back to single bank mode on `Drop`, we instead transition to single bank mode when calling `Flash::into_regions()`.
* Add missing `otp_region` to the dual bank layout and implement `NorFlash` for the alternate regions.
1482: Add ConcatFlash utility r=Dirbaio a=rmja
This PR adds a `ConcatFlash` utility that can be used to concatenate two `NorFlash` flashes. This is especially useful when concatenating multiple flash regions with unequal erase size.
Co-authored-by: Rasmus Melchior Jacobsen <rmja@laesoe.org>
2023-05-25 01:05:32 +00:00
Rasmus Melchior Jacobsen
879c621394
Ensure FlashRegion can only be created within this crate
2023-05-23 22:49:27 +02:00
xoviat
02d6e0d14d
stm32/i2s: add module and example for f4
2023-05-03 18:17:57 -05:00
Dario Nieuwenhuis
fbd6eeb748
Merge pull request #1348 from embassy-rs/h5-spi
...
stm32/dma: refactor
2023-04-18 17:03:24 +02:00
Dario Nieuwenhuis
173c65b543
stm32/dma: refactor.
2023-04-18 16:37:35 +02:00
Mathias
bba8b0ded5
Missing semi-colon
2023-04-18 16:03:55 +02:00