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
Mathias
095f5ef279
Add MAX_ERASE_SIZE const in build script, and use it in flash-wide implementation of embedded-storage traits
2023-04-18 15:49:33 +02:00
xoviat
9e1ddeac86
stm32: fix defective example
2023-04-16 18:32:55 -05:00
xoviat
776e001b5b
stm32: remove TIMX singleton when used on timer driver
...
fixes #1316 .
2023-04-16 17:47:25 -05:00
Dario Nieuwenhuis
9a677ab618
common/peripheral: do not require mut in PeripheralRef clone_unchecked.
2023-04-11 23:09:02 +02:00
Dario Nieuwenhuis
611d023829
stm32: add H5 support.
2023-04-06 18:59:37 +02:00
Rasmus Melchior Jacobsen
95b31cf2db
Remove Drop on Flash and FlashLayout and propage lifetime to region types
...
This allows the user to "split" the FlashRegions struct into each region
2023-04-05 10:27:13 +02:00
Rasmus Melchior Jacobsen
3deb65bc87
Merge branch 'master' into flash-regions
2023-04-04 23:16:01 +02:00
Mathieu Dupont
4ce1c5f27d
Add MCO support for L4 and F4 families
2023-04-03 16:41:25 +02:00
Rasmus Melchior Jacobsen
268e29b153
Let the FlashRegion for region types be public
2023-04-01 16:59:21 +02:00
Rasmus Melchior Jacobsen
02caec9482
Skip unknown banks
2023-03-30 09:07:23 +02:00
Rasmus Melchior Jacobsen
e7129371d0
Let sector computation be shared across families
2023-03-30 08:32:36 +02:00
Rasmus Melchior Jacobsen
91d8afd371
Add AltFlashLayout for supported F4 chips
2023-03-30 05:27:57 +02:00
Rasmus Melchior Jacobsen
89129babf9
Merge remote-tracking branch 'upstream/master' into flash-regions
2023-03-30 04:53:07 +02:00
Rasmus Melchior Jacobsen
def576ac46
Remove FlashRegion trait and rename Settings to FlashRegion
2023-03-30 04:24:41 +02:00
Rasmus Melchior Jacobsen
b7dfc8de10
Let flash module be conditionally included
2023-03-29 13:52:52 +02:00
Rasmus Melchior Jacobsen
4ee3d15519
Keep peripheral lifetime when calling into_regions()
2023-03-29 12:10:24 +02:00
Rasmus Melchior Jacobsen
6806bb9692
Expose flash region settings as an array
2023-03-29 11:52:18 +02:00
Mateusz Butkiewicz
6a802c4708
feat(stm32:qspi): add support for QSPI in stm32
...
Implemented with help of Tomasz Grześ <tomasz.grzes@gmail.com>.
2023-03-27 13:20:00 +02:00
Rasmus Melchior Jacobsen
73ccc04231
Change region type name
2023-03-25 13:47:28 +01:00
Rasmus Melchior Jacobsen
c848bd9c9c
Align with removal of MemoryRegionKind::Otp
2023-03-25 13:02:42 +01:00
Rasmus Melchior Jacobsen
cccceb88f2
Generate flash regions during build
2023-03-25 05:57:15 +01:00
Dario Nieuwenhuis
065a0a1ee7
Update stm32-data.
2023-01-11 17:51:30 +01:00
Vincent Stakenburg
236d104844
embassy-stm32: add rs485 driver enable to uart
2022-12-09 14:26:09 +01:00
Vincent Stakenburg
a833e02363
implement support for LPUART
2022-08-19 12:05:19 +02:00
Dario Nieuwenhuis
fc6e1e06b3
Remove HAL initialization from #[embassy::main] macro.
2022-08-17 22:16:46 +02:00
Dario Nieuwenhuis
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
Dario Nieuwenhuis
5085100df2
Add embassy-cortex-m crate.
...
- Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`.
- Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore)
- Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
2022-06-12 21:45:38 +02:00
Dario Nieuwenhuis
3e4bead321
stm32: add USB driver.
2022-06-07 03:29:00 +02:00
Dario Nieuwenhuis
931a137f8c
Replace embassy::io with embedded_io.
2022-05-07 01:45:54 +02:00