Brian Schwind
e72e17ded8
Write data with the Ospi peripheral in chunks to respect the max DMA transfer size
2025-09-16 14:28:48 +02:00
Dario Nieuwenhuis
ec117e3b08
Merge pull request #4670 from tonarino/handle-ospi-errors
...
embassy-stm32: Handle OSPI address errors
2025-09-16 09:47:51 +00:00
goodhoko
9ae76cbad6
Don't forget to update the changelog (again)
2025-09-16 09:49:01 +02:00
goodhoko
8ed1e796ba
Handle OSPI address errors
...
We were using OSPI in indirect mode via DMA and noticed that the transfer future would never resolve. It was forever busy-looping in `finish_dma()` on the `while !regs.sr().read().tcf() {}` line.
After some debugging we noticed that the the `TEF` flag is set. The data sheet says the following about this flag:
> The following errors set the TEF flag in OCTOSPI_SR and generates an interrupt if enabled (TEIE = 1 in OCTOSPI_CR):
> - in indirect or automatic status-polling mode, when a wrong address has been programmed in OCTOSPI_AR (according to the device size defined by DEVSIZE[4:0]).
> - in indirect mode, if the address plus the data length exceed the device size: TEF is set as soon as the access is triggered.
Indeed we were configuring our device size to 0 while specifying a non-zero address.
Detect this condition and return an error early - as soon as we configure the registers (which, according to the data sheet, should be enough to raise the flag)
Also document this behavior on the respective TransferConfig and Config fields.
Testing
-------
See https://github.com/goodhoko/spi-error-test/blob/main/src/main.rs
2025-09-16 09:47:23 +02:00
Dario Nieuwenhuis
fe95e33861
Merge pull request #4667 from tonarino/config-derive
...
Unify derivation of Clone, Copy and defmt::format for all *SPI configs
2025-09-15 23:09:39 +00:00
goodhoko
337da33c7a
Also derive for enums that aren't available under my feature-set
2025-09-16 00:57:23 +02:00
goodhoko
759ea1deb9
It's "derive" all the way down
2025-09-16 00:45:48 +02:00
goodhoko
aec887fe0a
Don't forget to update the changelog (thanks CI!)
2025-09-16 00:39:22 +02:00
goodhoko
542ae72ca7
Unify derivation of Clone, Copy and defmt::format for all *SPI configs
2025-09-16 00:37:00 +02:00
Dario Nieuwenhuis
92a6fd2946
Merge pull request #4658 from Riceman2000/main
...
Add example for W55RP20-EVB-Pico
2025-09-15 16:29:17 +00:00
Dario Nieuwenhuis
a674030f13
Merge pull request #4661 from mkj/pr/onewire-parasite
...
rp: Add onewire parasite power for ds18b20
2025-09-15 12:57:53 +00:00
Dario Nieuwenhuis
83209b812c
Use new docserver bin to build docs.
2025-09-15 14:03:12 +02:00
Dario Nieuwenhuis
dfe5d1bd29
Merge pull request #4664 from phycrax/qspi_gpio_speed
...
embassy-stm32: Configurable gpio speed for QSPI
2025-09-15 10:50:37 +00:00
Süha Ünüvar
77d8251613
tag config as non exhaustive
2025-09-15 18:44:52 +08:00
Süha Ünüvar
5ee77055a1
fix examples
2025-09-15 18:43:23 +08:00
Dario Nieuwenhuis
34370cc7df
Merge pull request #4665 from dimpolo/format_adc_averaging
...
derive Debug and Format for Averaging
2025-09-15 10:27:27 +00:00
dimi
219754ff6c
derive Debug and Format for Averaging
2025-09-15 12:21:45 +02:00
Süha Ünüvar
9a4bdec392
update changelog
2025-09-15 18:07:56 +08:00
Süha Ünüvar
db1275358c
add gpio speed to qspi config
2025-09-15 18:05:30 +08:00
riceman2000
1c080559fd
Fix removed comments
2025-09-14 14:14:59 -04:00
riceman2000
daae1fe5c9
Up SPI freq
2025-09-14 11:30:22 -04:00
Matt Johnston
7c551b4fdf
rp/pio: Copy onewire examples from rp to rp235x
...
The rp pio_onewire example was updated on
cd27a8a06b0160d654ebed7b89ca473041710235 but not rp235x.
Copy them to be the same.
2025-09-14 16:54:14 +08:00
Matt Johnston
8f10e3638d
rp/pio: Add onewire strong pullups, parasite power
...
DS18B20 sensors require a strong pullup to be applied for the duration
of the temperature conversion, within 10us of the command. The rp2xxx
pins have sufficient drive strength to use as the pullup (no external
mosfet needed).
Add a new write_bytes_pullup() that will apply the pullup after
bytes are written. Existing read_bytes()/write_bytes() has no change to
onewire timing.
A pio_onewire_parasite example reads multiple sensors individually,
applying the strong pullup.
2025-09-14 16:54:14 +08:00
i509VCB
be794533d3
Merge pull request #4647 from WyliodrinEmbeddedIoT/embassy-dev
...
lpc55: move to nxp-pac
2025-09-13 17:47:26 +00:00
riceman2000
6beb7e35a6
Remove unused imports
2025-09-12 22:56:52 -04:00
Rice
97adc129b8
Merge branch 'embassy-rs:main' into main
2025-09-12 17:17:41 -04:00
riceman2000
139ee90775
Updated example
2025-09-12 17:17:24 -04:00
Riceman2000
f829ddd3b2
Example first draft
2025-09-12 12:47:55 -04:00
Riceman2000
0ea3478fb5
Fix typo in PIO SPI examples
2025-09-12 12:47:47 -04:00
Dario Nieuwenhuis
abcf0ff2e1
Merge pull request #4655 from RobertZ2011/remove-mutex-guard-map-sized
...
Remove `Sized` bound from `MutexGuard::map`
2025-09-12 16:46:30 +00:00
Robert Zieba
78d5d3f2dd
Remove Sized
bound from MutexGuard::map
...
Since `MutexGuard` has `T: ?Sized`, `U` does not need to be restricted
to `Sized` types. This now allows using `map` to cast from
`MutexGuard<'_, M, ImplsTrait>` to `MutexGuard<'_, M, dyn Trait>`.
2025-09-12 09:16:32 -07:00
Dario Nieuwenhuis
d21bf73334
Merge pull request #4657 from tonarino/ospi-fixups-upstream
...
Fix alternate bytes register setting for OSPI/HSPI/XSPI
2025-09-12 15:38:48 +00:00
Brian Schwind
ffe7f6b0a0
Update embassy-stm32/CHANGELOG.md
2025-09-13 00:27:30 +09:00
Brian Schwind
881fee9820
Apply fixes to XSPI as well
2025-09-13 00:13:44 +09:00
Brian Schwind
4a3e9e38e5
Apply fixes to HSPI as well
2025-09-13 00:13:44 +09:00
Brian Schwind
9c4df75940
Set the alternate bytes register to the correct value when configuring an Ospi command
2025-09-13 00:13:44 +09:00
Brian Schwind
a7e1bf2aff
Typo fixes
2025-09-13 00:13:05 +09:00
Roi Bachynskyi
547a52103b
lpc55: added lpc55-core0 feature
...
Co-authored-by: Irina Chiorean <chioreanirina2005@gmail.com>
2025-09-12 11:43:59 +03:00
Roi Bachynskyi
0816a6a418
lpc55: update Cargo.toml and CHANGELOG
...
Co-authored-by: Irina Chiorean <chioreanirina2005@gmail.com>
2025-09-12 11:07:02 +03:00
Irina Chiorean
d1dc7a3a88
lpc55: rtc driver rewritten
2025-09-12 11:07:02 +03:00
Roi Bachynskyi
e74dbe8c5d
lpc55: blocking usart rewritten
2025-09-12 11:07:02 +03:00
Roi Bachynskyi
f58d2ceda1
lpc55: pint rewritten
2025-09-12 11:07:02 +03:00
Roi Bachynskyi
19bb366866
lpc55: gpio rewritten
2025-09-12 11:07:02 +03:00
Ulf Lilleengen
59461ba75a
Merge pull request #4627 from paroga/usb_dfu_application
...
embassy-dfu-usb: Allow `application` and `dfu` feature at the same time
2025-09-12 06:55:54 +00:00
Dario Nieuwenhuis
6cc7531565
Merge pull request #4654 from embassy-rs/devtool-ci
...
ci: use devtool to build.
2025-09-11 20:35:35 +00:00
Dario Nieuwenhuis
55b3c5c6e8
ci: use devtool to build.
2025-09-11 21:52:47 +02:00
Dario Nieuwenhuis
49a7770c19
Merge pull request #4652 from embassy-rs/executor-priority
...
executor: add priority scheduler.
2025-09-11 18:30:50 +02:00
Dario Nieuwenhuis
6ec9bcb1c4
executor: add priority scheduler.
2025-09-11 16:33:48 +02:00
Dario Nieuwenhuis
42c68622ee
Merge pull request #4608 from diondokter/upstream-drs-2
...
[embassy-executor]: Upstream "Earliest Deadline First" Scheduler (version 2)
2025-09-11 13:52:14 +00:00
Dario Nieuwenhuis
e1209c5563
executor: make Deadline actually private.
2025-09-11 15:40:33 +02:00