Commit Graph

1185 Commits

Author SHA1 Message Date
15636f05f5 Actually transition to dual bank mode - key was required 2023-05-25 20:07:42 +02:00
efc71e08c4 Default to Async mode 2023-05-25 20:07:42 +02:00
bac8ad565e Remove TryLockError, 2023-05-25 20:07:42 +02:00
44b6494ab7 Let FlashLayout and FlashRegion depends on a Blocking/Async mode generic 2023-05-25 20:07:42 +02:00
6df6239704 Run format with nightly 2023-05-25 20:07:42 +02:00
c6ffece410 Add more missing nightly guards 2023-05-25 20:07:41 +02:00
34a2804b54 Fix unused get_sector and ensure_sector_aligned 2023-05-25 20:07:41 +02:00
cdb1447569 Add missing nightly guards 2023-05-25 20:07:41 +02:00
0e90e98e9b stm32: Add async flash write/erase to f4 2023-05-25 20:07:41 +02:00
673396c0e7 Update metapac version again 2023-05-25 16:19:46 +02:00
963f3e3059 Align with updated stm32 metapac 2023-05-25 16:06:02 +02:00
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
224faccd4c Merge #1340 #1474
1340: Add I2S for f4 r=Dirbaio a=xoviat

This is only for f4, but it puts us equal to or ahead of the standard rust hal.

1474: stm32: Fix watchdog timeout computation r=Dirbaio a=rmja



Co-authored-by: xoviat <xoviat@users.noreply.github.com>
Co-authored-by: Rasmus Melchior Jacobsen <rmja@laesoe.org>
2023-05-25 00:42:10 +00:00
316be179af stm32: move to bind_interrupts
disable lora functionality for now
2023-05-24 17:29:56 -05:00
87acf5f50f Add missing set_default_layout() in "other" family 2023-05-23 23:01:55 +02:00
14e3e72b0f Add missing implementations for f4 alternate regions 2023-05-23 22:51:26 +02:00
faf506b300 Remove Drop for AltFlashLayout 2023-05-23 22:50:41 +02:00
879c621394 Ensure FlashRegion can only be created within this crate 2023-05-23 22:49:27 +02:00
1fdde8f03f Merge #1457
1457: TL Mbox read and write for stm32wb r=xoviat a=OueslatiGhaith

Hello,

This pull request is related to #1397 and #1401, inspired by #24, built upon the work done in #1405 and #1424, and was tested on an stm32wb55rg.

This pull request aims to add read and write functionality to the TL mailbox for stm32wb microcontrollers

Co-authored-by: goueslati <ghaith.oueslati@habemus.com>
Co-authored-by: xoviat <xoviat@users.noreply.github.com>
2023-05-23 01:15:22 +00:00
e9121cba2c stm32: Fix watchdog timeout computation 2023-05-22 14:22:27 +02:00
7f702fd6f1 stm32/ipcc: fix warnings 2023-05-20 11:29:53 -05:00
383bef1711 stm32/ipcc: naming 2023-05-20 10:24:26 -05:00
5e86188c25 stm32/ipcc: cleanup naming 2023-05-20 10:24:13 -05:00
661b1f3373 stm32/ipcc: remove constrain 2023-05-20 10:23:57 -05:00
8b9306ed5c stm32/sdmmc: fix "drop with a value that implements Copy does nothing" warning. 2023-05-19 18:00:33 +02:00
9f7392474b Update Rust nightly. 2023-05-19 17:12:39 +02:00
9dff6b9d81 Merge #1419
1419: stm32/pwm: improve dead-time api r=Dirbaio a=xoviat



Co-authored-by: xoviat <xoviat@users.noreply.github.com>
2023-05-19 14:41:44 +00:00
f43d57846e stm32/usb: do not require embassy-time.
Fixes #1466
2023-05-19 15:20:37 +02:00
a8953b5c66 cleanup 2023-05-15 10:34:52 +01:00
d97724cca3 tl_mbox read and write 2023-05-15 10:25:02 +01:00
4567eff78e Merge #1455
1455: Remove unused `feature(type_alias_impl_trait)`. r=Dirbaio a=Dirbaio

bors r+

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2023-05-14 21:57:51 +00:00
2d65373f63 Remove unused feature(type_alias_impl_trait). 2023-05-14 23:44:53 +02:00
ae4827587c Merge #1454
1454: stm32f0 flash implementation r=Dirbaio a=jp99

i've copied and modified the f3 implementation and it seems to be working.


Co-authored-by: Jaap Prickartz <jaap@tetra.nl>
2023-05-14 21:39:55 +00:00
ec7a4fd9cc stm32f0 flash implementation 2023-05-14 21:57:31 +02:00
977a7906e4 stm32 uart: Fix error flag handling for blocking operations
Clear and report the error flags one by one and pop the data byte only
after all error flags were handled.

For v1/v2 we emulate the v3/v4 behaviour by buffering the status
register because a read to the data register clears all flags at once
which means we might loose all but the first error.
2023-05-14 21:10:37 +02:00
3810fe6a20 tl_mbox: added zigee, lld tests and ble lld tables to ref table 2023-05-12 10:26:46 +01:00
7f96359804 Merge #1424
1424: add TL maibox for stm32wb r=xoviat a=OueslatiGhaith

Hello,

This pull request is related to #1397 and #1401, inspired by #24, build upon the work done in #1405, and was tested on an stm32wb55rg.

This pull request aims to add the transport layer mailbox for stm32wb microcontrollers. For now it's only capable of initializing it and getting the firmware information

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-11 22:48:55 +00:00
0584312ef0 Fix some typos 2023-05-08 23:25:01 +02:00
db2bc8783e Improve readability 2023-05-05 19:04:58 +02:00
c37f86ff1c removes unecessary braces 2023-05-05 00:12:32 +02:00
2dcbe75cca beautify 2023-05-04 23:51:42 +02:00
5158014f3f PPLXTPRE is a bool.
This flag for example permits the following clock tree
configuration on stm32f103r8

    let mut config = Config::default();
    config.rcc.hse = Some(Hertz(16_000_000));
    config.rcc.sys_ck = Some(Hertz(72_000_000));
    config.rcc.pclk1 = Some(Hertz(36_000_000));
    config.rcc.pclk2 = Some(Hertz(72_000_000));
    config.rcc.pllxtpre = true;

Init fails if pllxtpre is false.
2023-05-04 22:59:52 +02:00
1cc61dc68a Support PLLXTPRE switch.
See figure 2. Clock tree page 12 DS5319 Rev 18
https://www.st.com/resource/en/datasheet/stm32f103cb.pdf
2023-05-04 21:32:37 +02:00
91612b7446 Simplify SUBGHZSPI configuration. 2023-05-04 09:45:18 -05:00
007f452927 removed hardcoded addresses in memory.x 2023-05-04 11:02:17 +01:00
91d1fff4ed Merge branch 'embassy-rs:master' into master 2023-05-03 21:07:28 -05:00
629e0ea595 Handle SUBGHZSPI as async. 2023-05-03 21:05:47 -05:00
02d6e0d14d stm32/i2s: add module and example for f4 2023-05-03 18:17:57 -05:00
0997021a05 fixed ble table cmd buffer being constant 2023-05-03 11:11:51 +01:00
a61701b756 stm32/usart: add OVER8 and PRESC support, update PAC 2023-05-02 19:36:00 +02:00