767 Commits

Author SHA1 Message Date
9names
ee71dda631 Clarify embassy-rp rt feature purpose 2025-05-10 20:03:09 +10:00
Ulf Lilleengen
f9f20ae217
Merge pull request #4155 from marcemmers/remove-instance-from-rp-uart-type
[embassy-rp] Remove <T: Instance> from Uart and BufferedUart
2025-05-09 19:34:52 +02:00
Ulf Lilleengen
11364077a7
Merge pull request #4150 from 1-rafael-1/rp2040-overclocking
RP: rp2040 overclocking
2025-05-09 19:34:43 +02:00
1-rafael-1
4621c8aa7a Clarify comment for CoreVoltage enum regarding V1_20 2025-05-07 22:16:29 +02:00
1-rafael-1
a254daf4ff Changes after review 2025-05-07 21:19:09 +02:00
1-rafael-1
0d03aa0bec rework init() 2025-05-05 22:55:09 +02:00
1-rafael-1
3d9cac361e Add PIO clock divider utility and refactor related modules 2025-05-03 14:46:30 +02:00
1-rafael-1
3441e80507 first batch of changes after review 2025-05-02 23:51:28 +02:00
Marc
d799af9dd8 Replace generic inner with arguments 2025-05-02 13:40:50 +02:00
Marc
407540c8fe Remove some forgotten commented out code 2025-05-02 13:32:09 +02:00
Marc
2fd803f7c3 Removed instance from uart types 2025-05-02 12:17:35 +02:00
1-rafael-1
c01776a3d7 - two more doc examples test ignored
- added tests for the new calculations and fixed an overflow issue these tests surfaced.
- Activate brownout detection.
2025-05-01 17:07:48 +02:00
1-rafael-1
22b5f73811 add manual overclock example, finalize API, cleanup 2025-05-01 00:11:56 +02:00
1-rafael-1
d44b945235 Remove unused embassy-rp/sdk examples subproject 2025-04-29 22:49:53 +02:00
1-rafael-1
77e8bc9b28 refactoring to have higher and lower level api 2025-04-29 22:49:05 +02:00
1-rafael-1
3a6dc910ff first working draft 2025-04-28 22:54:15 +02:00
Luke Rindels
cdef573f52
Enable rp235x trng self-tests by default
Gracefully handle rp235x trng self-test errors and resets
2025-04-27 15:25:23 -07:00
1-rafael-1
45b7127d61 fmt 2025-04-26 21:55:16 +02:00
1-rafael-1
713d6291d5 Scale clock dividers in HD44780, rotary encoder, and stepper driver based on system clock frequency 2025-04-26 21:54:48 +02:00
1-rafael-1
4ce3bdb370 Add core voltage scaling options and PLL parameter finder for RP2040 2025-04-26 21:54:40 +02:00
Marc
5d8b0e0327 Some small improvements 2025-04-25 01:14:54 +02:00
Marc
2a4b380cb7 Search can use the normal write/read instructions 2025-04-25 01:14:38 +02:00
Marc
29bcddaa10 Refactor Onewire PIO implementation 2025-04-25 01:14:13 +02:00
Dario Nieuwenhuis
c955320e5d
Merge pull request #4093 from 1-rafael-1/rp235x-input-pwm-fix
Enable input mode for PWM pins on RP235x and disable it on drop
2025-04-15 19:14:19 +02:00
Wez Furlong
a606a1a45a
embassy-rp: impl rand_core::CryptoRng for Trng
Per discussion in https://github.com/embassy-rs/embassy/pull/3338/files#r2040704590
the Trng implementation satisfies the requirements for CryptoRng,
so it is reasonable to implement this marker trait.
2025-04-14 19:22:33 -07:00
1-rafael-1
dbd7ce4d38 Enable input mode for PWM pins on RP235x and disable it on drop 2025-04-14 22:41:28 +02:00
1-rafael-1
6719e13059 update documentation and examples to mention RP235x 2025-04-13 22:23:07 +02:00
Dario Nieuwenhuis
a23e971d31
Merge pull request #4017 from shilga/SpinlockMutex
embassy-rp: Spinlock mutex implementation
2025-04-07 23:13:35 +00:00
Sebastian Quilitz
05a6f7a795 embassy-rp: Implementation of a SpinlockMutex 2025-04-07 21:59:36 +02:00
David Brown
c6e16c9e4e embassy-rp: uart: Increase RX FIFO watermark
Change the UART RX FIFO depth from 1/8 to 7/8.  This should allow for
buffered receipt of uart data with a lower IRQ load.

The PL011 fifo is pretty smart about the fifo, it has an automatic
timeout (which triggers an interrupt) of about 4 characters worth of
time, so setting this threshold doesn't affect the behavior of receipt
of a partially filled fifo.

This should not have any affect on the DMA mode, as the DMA will
generally drain the fifo as data becomes available.

The constraint for the fifo threshold should be determined by expected
interrupt latency.  The IRQ needs to be able to drain the fifo before it
fills.  As such, the proper threshold depends on system design and data
rate.  At full speed (7.8 Mbaud), the remaining 8 characters will come
in in about 10us, which is probably insufficient. But, the time is quite
adequate at lower speeds.
2025-04-07 00:56:24 +02:00
Ulf Lilleengen
b1179c5090
Merge pull request #3983 from mgomez0/topic/buffered-uart-take-pins-before-interrupts
BufferedUart initialization
2025-04-05 05:36:27 +00:00
Michael Gomez
f1feedf190 BufferedUart initialization
This change modifies UART initialization throughout Embassy to take pins
before interrupts.

Related to #1304.
2025-04-04 21:54:36 -07:00
James Munns
72832c1550 embassy-rp: defensive change to ensure wakers are registered
This change ensures that wakers are registered PRIOR to checking status
in i2c `wait_on` helpers.
2025-04-03 19:01:00 +02:00
Caleb Jamison
49badcff1a
RP235x watchdog doesn't have the double count bug 2025-03-28 17:45:41 -04:00
Sebastian Quilitz
d17d43735f embassy-rp: Move Spinlock implementation out of critical_section_impl 2025-03-27 20:10:34 +01:00
Dario Nieuwenhuis
502c188cf4
Merge pull request #3999 from embassy-rs/peripehral-v2
Remove Peripheral trait, rename PeripheralRef->Peri.
2025-03-27 15:30:40 +01:00
Dario Nieuwenhuis
d41eeeae79 Remove Peripheral trait, rename PeripheralRef->Peri. 2025-03-27 15:18:06 +01:00
Dario Nieuwenhuis
d097ccc68c
Merge pull request #4012 from adom-inc/rp2350-adc-fix
rp/adc: fix potential race condition
2025-03-27 13:36:46 +00:00
Adrian Wowk
5777284304 rp: rename BOOTROM_BASE to BOOTRAM_BASE
Previously the constant pointing at the base of the bootram was
incorrectly called BOOTROM_BASE. According to the datasheet, the bootrom
is a 32K region starting at 0x00000000 while the bootram is a 1K region
of SRAM starting at 0x400e0000.
2025-03-26 19:05:27 -05:00
Adrian Wowk
1b6e563260 rp/adc: fix potential race condition
This commit rearranges the Adc::wait_for_ready function to make sure
that wakers are registered before the interrupt is enabled, and keeps
enabling the interrupt until the ADC is ready
2025-03-26 17:11:27 -05:00
JuliDi
436f940d5a
make rustfmt happy 2025-03-19 10:42:34 +01:00
JuliDi
f15c587887
fix wrong funcsel on rp2350 gpout/gpin 2025-03-19 10:32:16 +01:00
9names
3729139915 rp: Update changelog for embassy-rp 0.4.0 release 2025-03-09 11:15:53 +11:00
9names
e1b24a8efd rp: Bump embassy-rp version number for release 2025-03-09 11:15:53 +11:00
9names
f2e14303a6 rp/pio: Use crates.io version of pio in embassy-rp 2025-03-09 11:15:27 +11:00
Ulf Lilleengen
6af79f00e8
Merge pull request #3935 from edenbarby/main
embassy-rp: pio: Add access to DMA engine byte swapping
2025-03-06 07:13:03 +00:00
9names
4f6762ead9 rp: Add unreleased changes to changelog 2025-03-02 15:30:54 +11:00
eden barby
24941212e8 Added access to the byte swap flag for RP2*** chips for the PIO state machine DMA calls. 2025-03-01 17:23:04 +10:00
Ronald Weber
7a2f038800 doc: Fix "the the" 2025-02-19 17:29:21 +01:00
Dario Nieuwenhuis
52dfefb632 rp/pio: update pio-rs crate, reexport it so users don't get version mismatches. 2025-02-18 18:14:57 +01:00