10974 Commits

Author SHA1 Message Date
etiennecollin
d3718c6d4e fix: renamed simple table as per ST nomenclature
Co-authored-by: elagil <elagil@takanome.de>
2025-09-05 14:43:29 +02:00
etiennecollin
51e7fafc3c fix: removed unnecessary mut reference 2025-09-05 14:43:29 +02:00
etiennecollin
47bb14514f feat: use register wrappers instead of u32 for LinearItem
Since the register structs are no-field structs with
`repr(transparent)`, we can use them in the LinearItem with `repr(C)`.
This allows the user to call the convenient named setter functions for
the registers instead of manually changing the bits of the u32.
2025-09-05 14:43:29 +02:00
etiennecollin
50e2e2ec60 feat: add new_with_table() initializer for ring-buffers and removal of RegisterUpdaters
- It is now possible to pass a linked-list table to the ring-buffer with
the `new_with_table()` function or use the `new()` function for a basic
ring-buffer setup.
- A `simple_ring_buffer_table()` function was added to the read and
write ring-buffers to generate the same table as the one created by
`new()` in case the user only wants to customize the default table
options.
- RegisterUpdaters have been removed as the user now has direct access
to the table and its items if needed.

See: https://github.com/elagil/embassy/pull/1#issuecomment-2891997294
2025-09-05 14:43:29 +02:00
etiennecollin
4291a092be fix: moved channel configuration from new() to start()
See this PR comment explaining why configuration in `new()` is a bad
idea:
https://github.com/embassy-rs/embassy/pull/3923#issuecomment-2889193736
2025-09-05 14:43:29 +02:00
etiennecollin
a2daa9739f fix: removed functions exposing channel registers
These functions could be used to cause UB.
2025-09-05 14:43:29 +02:00
etiennecollin
2f24568de0 feat: custom dma configuration using RegisterUpdaters struct
See this PR comment:
https://github.com/embassy-rs/embassy/pull/3923#issuecomment-2889283939
2025-09-05 14:43:29 +02:00
etiennecollin
f67365a067 fix: suspend before reset
This follows the procedure outlined in the STM32U5 reference manual at
page 696.
2025-09-05 14:43:29 +02:00
etiennecollin
4999069198 feat: use provided TransferOptions instead of defaults 2025-09-05 14:43:29 +02:00
etiennecollin
277c59857b feat: custom DMA channel configuration
See
https://github.com/embassy-rs/embassy/pull/3923#issuecomment-2888810087

The default configuration of the channel which was done in `start()` is
now done in `new()` this allows overriding some settings through the new
`get_dma_channel` function. Only ringbuffers support this;
`LinkedListTransfer` and `Transfer` do not support that yet.
2025-09-05 14:43:29 +02:00
etiennecollin
c0b8e9c7e5 fix: writing reserved bits 2025-09-05 14:43:29 +02:00
etiennecollin
fec14213ea fix: modified dma channel state management
See
https://github.com/embassy-rs/embassy/pull/3923#discussion_r2094570176
2025-09-05 14:43:29 +02:00
elagil
7d224d94c4 fix: docstring 2025-09-05 14:43:29 +02:00
elagil
40a0d5d8f2 fix: build warnings 2025-09-05 14:43:29 +02:00
elagil
3d161e98a1 fix: simplify 2025-09-05 14:43:29 +02:00
elagil
7a62b8eee8 fix: build issues 2025-09-05 14:43:29 +02:00
elagil
a4d3b4b6ae feat: wip, write buffer in halves 2025-09-05 14:43:29 +02:00
elagil
78364b966e chore: change naming 2025-09-05 14:43:29 +02:00
elagil
2baa4399a7 fix: wip gpdma 2025-09-05 14:43:29 +02:00
elagil
50224583db fix: load/store ordering 2025-09-05 14:43:29 +02:00
elagil
bfd82ff82c fix: read transfer options 2025-09-05 14:43:29 +02:00
elagil
1541f1e0c2 chore: clean up transfer options 2025-09-05 14:43:29 +02:00
elagil
be88187591 fix: transfer options 2025-09-05 14:43:29 +02:00
elagil
f0fc1a15da fix: disable half-complete interrupt 2025-09-05 14:43:29 +02:00
elagil
51b28aaa31 style: formatting 2025-09-05 14:43:29 +02:00
elagil
4155adbf8a feat: ping-pong buffers 2025-09-05 14:43:29 +02:00
elagil
cf5b1ea9f5 feat: gpdma support (wip) 2025-09-05 14:43:29 +02:00
elagil
3c3b43fb00 feat: GPDAM linked-list + ringbuffer support 2025-09-05 14:43:29 +02:00
Dario Nieuwenhuis
70aaa82e49
Merge pull request #4623 from paroga/stm32l0_usb_serial
stm32/l0: Add usb serial example
2025-09-05 12:06:22 +00:00
i509VCB
f2de2ca16b
Merge pull request #4600 from i509VCB/c1105_c1106
mspm0: add mspm0c1105/6
2025-09-04 14:10:23 +00:00
Dario Nieuwenhuis
615fc36eb8
Merge pull request #4636 from embassy-rs/nfct-ndef
nrf: add NFCT NDEF example
2025-09-04 11:40:56 +00:00
wackazong
9ac8944478 Fix offset calculation 2025-09-04 13:38:14 +02:00
Dario Nieuwenhuis
d1429868ce nrf: add NFCT NDEF example. 2025-09-04 13:38:08 +02:00
Dario Nieuwenhuis
a3d88ec065
Merge pull request #4635 from RyanCDE/complementary-pwm-polarity-fix
Add timer set polarity functions for main and complementary outputs in complementary_pwm
2025-09-03 10:47:26 +00:00
r.marple
089b6722c6 Added timer set polarity functions for main and complementary outputs individually 2025-09-03 16:14:08 +10:00
Dario Nieuwenhuis
2ef9dfb512
Merge pull request #4634 from fwolter/fix-i2c-stop
stm32/i2c: fix failure of subsequent transmissions after NACK
2025-09-02 19:46:43 +00:00
Fabian Wolter
0835b58deb
Update changelog 2025-09-02 21:25:42 +02:00
Fabian Wolter
56f3c7a8c7
stm32/i2c: fix failure of subsequent transmissions after NACK
When a slave responds with a NACK in blocking I²C master mode, all subsequent transmissions send only the address followed immediately by a STOP.

This happens because the current implementation sets I2C_CR2.STOP = 1 whenever any error (including a NACK) occurs. As a result, the STOP bit is already set when the next transmission starts.

According to the reference manual: "If a NACK is received: […] a STOP condition is automatically sent […]"

This bug was not triggered until #4454 was merged.
2025-09-02 21:18:08 +02:00
Dario Nieuwenhuis
1405b1affa
Merge pull request #4633 from phycrax/derive-copy-qspi-cfg
embassy-stm32: Derive Clone, Copy for QSPI Config
2025-09-02 15:50:28 +00:00
Süha Ünüvar
010f4b08aa derive Clone, Copy for qspi transfer config 2025-09-02 23:41:25 +08:00
Süha Ünüvar
91e33015c3 update changelog 2025-09-02 23:23:01 +08:00
Süha Ünüvar
698109acfe derive Clone, Copy for qspi config 2025-09-02 23:20:01 +08:00
Ulf Lilleengen
f247fcf817
Merge pull request #4631 from bugadani/executor-changelog
Executor: Remove features, fix changelog
2025-09-02 06:53:03 +00:00
Dániel Buga
219cf09aab
Remove features, fix changelog 2025-09-02 08:34:07 +02:00
Patrick Gansterer
160ee7f805 stm32/l0: Add usb serial example 2025-09-01 17:26:41 +02:00
Dario Nieuwenhuis
de33d113a5
Merge pull request #4616 from OBauck/ole/nrf54l-init-low-power
nrf54l: Disable glitch detection and enable DC/DC in init.
2025-09-01 09:12:54 +00:00
Ole Bauck
67ba38e196 nrf54l: Disable glitch detection and enable DC/DC in init. 2025-09-01 10:38:26 +02:00
Dario Nieuwenhuis
0962b09603 Add changelog for embassy-executor v0.9.1 2025-08-31 23:09:31 +02:00
Dario Nieuwenhuis
a475dbbda8
Merge pull request #4372 from fg-cfh/feat/name-main-task
executor-macros: rtos-trace: name main task
2025-08-31 18:54:21 +00:00
Dario Nieuwenhuis
4cd86e5e76
Merge branch 'main' into feat/name-main-task 2025-08-31 20:50:20 +02:00