Commit Graph

9023 Commits

Author SHA1 Message Date
Ulf Lilleengen
a74bae3de1
Merge pull request #3343 from george-cosma/hal-with-pac
LPC: embassy-lpc55 hal base with gpio and pint driver
2024-10-07 08:14:32 +00:00
George Cosma
e7e245eeb7 feat: embassy-lpc55 hal with gpio and pint driver 2024-10-07 09:34:10 +03:00
Dummyc0m
9e6e09a8d7 executor/spin: introduce an architecture agnostic executor
Spin polls the raw executor and never sleeps. It is useful for disabling
any power features associated with wfi/wfe-like instructions.

When implementing support for the CH32V30x MCU, the wfi instruction
had issues interacting with the USB OTG peripheral and appeared to be
non-spec-compliant.

1. When sending a USB Data-in packet, the USB peripheral appears to be
unable to read the system main memory while in WFI. This manifests in
the USB peripheral sending all or partially zeroed DATA packets.
Disabling WFI works around this issue.

2. The WFI instruction does not wake up the processor when MIE is
disabled. The MCU provides a WFITOWFE bit to emulate the WFE instruction
on arm, which, when enabled, ignores the MIE and allows the processor to
wake up. This works around the non-compliant WFI implementation.

Co-authored-by: Codetector <codetector@codetector.org>
Co-authored-by: Dummyc0m <y@types.moe>
2024-10-06 23:33:34 -07:00
Dario Nieuwenhuis
f6155cf735 Update smoltcp, embedded-nal-async to use the core::net IP addr types. 2024-10-07 00:22:44 +02:00
Dario Nieuwenhuis
631fec8d09
Merge pull request #3393 from sourcebox/sync-additions
embassy-sync: add clear, len, is_empty and is_full functions to zerocopy_channel
2024-10-06 18:56:09 +00:00
Oliver Rockstedt
12e6add058 embassy-sync: renamed field len to capacity on zerocopy_channel state 2024-10-06 17:45:03 +02:00
Oliver Rockstedt
f3ed0c6026 embassy-sync: fix len calculation for zerocopy_channel 2024-10-06 17:39:47 +02:00
Henrik Alsér
8f27349745
Merge pull request #3394 from AtoVproject/fix/embassy-sync-sender-typo
docs: fix Sender/Receiver typo
2024-10-06 05:30:43 +00:00
Chris Maniewski
67836f955a
docs: fix Sender/Receiver typo 2024-10-05 14:16:00 +02:00
Oliver Rockstedt
383ad72b63 embassy-sync: add clear, len, is_empty and is_full functions to zerocopy_channel 2024-10-05 13:39:27 +02:00
Dario Nieuwenhuis
b59143a4ab
Merge pull request #3391 from shilga/features/rp235x_clock
rp: Run RP235x at 150 MHz instead of 125
2024-10-05 11:29:08 +00:00
Henrik Alsér
7c3562cee6
Merge pull request #3392 from 1-rafael-1/embassy-sync-README-mention-watch
Add Watch to embassy-sync README
2024-10-05 11:23:48 +00:00
rafael
d643d50f41 Add Watch to embassy-sync README 2024-10-05 12:24:17 +02:00
Sebastian Quilitz
b73b3f2da0 rp: Run RP235x at 150 MHz instead of 125 2024-10-05 12:18:33 +02:00
Henrik Alsér
6e0b08291b
Merge pull request #3387 from paulwrath1223/main
Fixed overflow on `pio_stepper.rs`
2024-10-02 21:17:54 +00:00
Paul Fornage
ce701c3e8e Fixed overflow on pio_stepper.rs 2024-10-02 13:35:59 -07:00
Caleb Jamison
bc0180800d
Remove binary_info blocks from most examples. (#3385) 2024-10-01 16:51:18 +02:00
Ulf Lilleengen
e6ce81018b
Merge pull request #2568 from peterkrull/multi-signal
Add `Watch` sync primitive (similar to `tokio::sync::watch`)
2024-10-01 07:10:46 +00:00
Ulf Lilleengen
a7d1abf6b7
Merge pull request #3378 from dnbln/patch-1
fix: change duplicate reference to `FirmwareUpdaterConfig::from_linkerfile_blocking` in rustdoc
2024-09-27 09:44:16 +00:00
Dinu Blanovschi
3792b14161
fix: change duplicate reference to FirmwareUpdaterConfig::from_linkerfile_blocking in rustdoc 2024-09-27 10:40:24 +02:00
Ulf Lilleengen
eb91089a6c
Merge pull request #3376 from embassy-rs/nrf91-sim-pin
Add config option for setting SIM pin
2024-09-26 13:51:16 +00:00
Ulf Lilleengen
f19718b4f0 Add config option for setting SIM pin 2024-09-26 15:48:10 +02:00
Dario Nieuwenhuis
8a5d1454a4
Merge pull request #3374 from romainreignier/fix_rp23_binary_info
rp23: add missing binary info in linker script
2024-09-26 11:27:10 +00:00
Romain Reignier
6e2c5d0b45 rp23: add missing binary info in linker script
See https://github.com/rp-rs/rp-hal/issues/853

And https://github.com/rp-rs/rp-hal/pull/854
2024-09-26 13:24:50 +02:00
Anthony Grondin
712fa08363
feat(embassy-net): Implement wait_read_ready() + wait_write_ready() for TcpSocket 2024-09-24 22:01:53 -04:00
Anthony Grondin
e8da387726
docs(embassy-net): Update can_send() and may_send() documentation to reflect actual behavior from smoltcp 2024-09-24 22:01:53 -04:00
Anthony Grondin
ae5b78b27a
feat(embassy-net): Implement wait_recv_ready() + wait_send_ready() for UdpSocket
- Provides `pub async fn wait_recv_ready(&self) -> ()` and `pub fn poll_recv_ready(&self, cx: &mut Context<'_>) -> Poll<()>`.
This allows polling / waiting on a socket until it can be read, without dequeuing any packets.

- Provides `pub async fn wait_send_ready(&self) -> ()` and `pub fn poll_send_ready(&self, cx: &mut Context<'_> -> Poll<()>`
This allows polling / waiting on a socket until it becomes writable.
2024-09-24 22:01:49 -04:00
Dario Nieuwenhuis
af6fbb0ee1
Merge pull request #3371 from CBJamo/rp23_pwm_b_pin
rp23: Disable pad isolation on PWM A pins.
2024-09-24 23:04:56 +00:00
Caleb Jamison
b743dce8e4 Only B pins can be inputs. 2024-09-24 18:55:05 -04:00
Caleb Jamison
a498bf11af Disable pad isolation on PWM A pins.
Also fixes minor bug for 2040 where A pins didn't have their pull
up/down enabled.
2024-09-24 18:45:20 -04:00
Peter Krull
5e1912a2d3 Reverse generics order, remove spin_get 2024-09-24 12:37:32 +02:00
Peter Krull
999807f226 Added SealedWatchBehavior to limit access to core functions 2024-09-23 20:29:50 +02:00
Peter Krull
a669611d7c Discontinue peek, add AnonReceiver 2024-09-23 20:09:35 +02:00
Dario Nieuwenhuis
0ede8479dc
Merge pull request #3367 from CBJamo/rp2350_debug_pin_fix
Fix rp2350b pins >31 on debug builds
2024-09-23 17:41:19 +00:00
Caleb Jamison
0b8c4587c2 Fix rp2350b pins >31 on debug builds 2024-09-23 13:38:43 -04:00
Peter Krull
a2c473306f
Merge branch 'embassy-rs:main' into multi-signal 2024-09-23 19:02:59 +02:00
Ulf Lilleengen
2935290a62
Merge pull request #3366 from kingofpayne/main
Fixed signature script in bootloader documentation
2024-09-23 15:08:22 +00:00
Olivier Hériveaux
05d453bfd8 Fixed signature script in bootloader documentation 2024-09-23 16:11:45 +02:00
Ulf Lilleengen
81573b1a6d
Merge pull request #3364 from hansihe/fix-fdcan-preemption-dequeued-frame-return
Fix return value of `fdcan` `write`
2024-09-23 08:09:17 +00:00
Dario Nieuwenhuis
e70b7099f1
Merge pull request #3363 from embassy-rs/spi-word-tests
stm32/spi: fix non-u8 word sizes, add tests.
2024-09-23 00:17:08 +00:00
Dario Nieuwenhuis
a71098d824 stm32/tests: test spi u8 and u16 word sizes. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
fb0afa8a0f stm32: update metapac. Fixes SPI version on L0. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
68b783aedf stm32/spi: fix hang/corruption of word sizes other than 8bit. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
59dcffbc60 stm32/gpdma: clear tr3 just in case. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
f2f96a731c stm32/gpdma: ensure bndt in bytes doesn't overflow. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
9705f3332b
Merge pull request #3337 from doesnotcompete/feature/h7rs-usb
Add OTG_HS support for STM32H7R/S
2024-09-22 23:56:17 +00:00
Dario Nieuwenhuis
b9553badb3
Merge pull request #3362 from showier-drastic/main
stm32/spi: issue correct DMA word length when reading to prevent hang
2024-09-22 19:39:47 +00:00
Hans Josephsen
e2d2b0f362 Currently the return value of write is broken, it never returns the
previous frame even when present.

This happens because a slice of length 64 is always passed to Frame::new
from within the `abort_pending_mailbox` function, causing `Frame::new`
to return None.

The fix is to take a subslice of length `data_length`.
2024-09-22 12:40:46 +02:00
Shaw Drastin
db31e36485 stm32/spi: issue correct DMA word length when reading
Currently, when calling read() of the SPI bus, DMA always transmits u8,
which will cause hang if SPI transfer size > 8bit. Use matching word
size for TX DMA instead.
2024-09-22 11:13:10 +02:00
Dario Nieuwenhuis
233905e18c
Merge pull request #3356 from peterkrull/ringbuffered-uartrx-deadlock
stm32: Fix RingBufferedUartRx hard-resetting DMA after initial error
2024-09-22 08:56:46 +00:00