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
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
Dario Nieuwenhuis
e3edd671b6
rp/pio: move instructions to methods of the SM.
2025-02-18 18:14:35 +01:00
9names
4cc5ab9474
Add rp235x imagedef features (based on rp2040 boot2 features)
...
rp235x firmwares need an Image Definition if they want to be called
from the rp235x bootrom.
Currently this Image Definition is manually added to each project/example,
but for most users it will always be the default (Secure Exe).
This commit adds crate features to allow users to configure this, with the
default of including a Secure Exe Image Definition in.
Just like the boot2-* features, this includes an opt-out (imagedef-none)
to allow the user to not make use of this included Image Definition.
2025-02-16 15:43:01 +11:00
Sebastian Scholz
787606b991
Expose the watchdog reset reason
2025-02-12 13:22:43 +01:00
Steve Work
3b74732f40
Rename readers with get_, per CBJamo review. Tweak use_program docstring.
...
The tweak arranges that "grep sideset" finds use_program() when grokking source - this spelling is used
elsewhere, as in PinConfig for example, and I managed to miss use_program.
2025-02-07 09:26:34 -08:00
Steve Work
9acbfc9c22
Add PIO functions.
...
Add some (I think) needed functions:
ConfigPins::set_sideset_pins (the other pin types are covered, why not this one?)
Several runtime StateMachine manipulations:
- addr()
- tx_threshold()
- set_tx_threshold
- rx_threshold()
- set_rx_threshold()
- set_thresholds() - both at once, same value
2025-02-06 17:46:04 -08:00
Dario Nieuwenhuis
556cc57c1f
Merge pull request #3851 from embassy-rs/rp23-atomics-fix
...
rp235x: fix atomics, fix SIO spinlock stuck bug, fix missing core1 reset.
2025-02-05 00:06:41 +00:00
Dario Nieuwenhuis
9da04cc38e
rp: make atomics work properly between cores in rp235x.
2025-02-05 00:57:43 +01:00
Dario Nieuwenhuis
bb2d9ec7f8
rp: Workaround "SIO spinlock stuck bug", reset PROC1 at boot.
...
Just like RP2040. The bug was "working as intended" on rp2040, so it is on rp235x.
2025-02-05 00:57:15 +01:00
Dario Nieuwenhuis
fdb9795d6a
Merge pull request #3763 from robot-rover/fix_rp2040_time_driver
...
rp: Fix time driver hang
2025-02-04 23:56:43 +00:00
flippette
9d353d251c
Correct ADC channels for RP2350XB
2025-01-30 00:16:36 +02:00
Tom Dohrmann
3e5514653f
remove checks for reserved I2c addresses
...
There are some non-compliant devices that respond to reserved I2c
addresses. rp2040 behaves sanely for these addresses, so let's just
allow using them.
2025-01-26 17:43:04 +01:00
Adrian Wowk
617f6e7855
fix: enable RP2350 watchdog tick generator
2025-01-15 14:52:49 -06:00
Pedro Ferreira
933e888ed0
RP235x: support new FIFO options, set IE, OD on PIO pins.
2025-01-15 01:56:37 +01:00
Samuel O'Brien
930af8efb7
run rustfmt
2025-01-12 20:56:08 -06:00
Samuel O'Brien
13b205ece2
rp: Fix time driver hang
2025-01-12 20:50:16 -06:00
Dario Nieuwenhuis
7dfb6f7113
Merge pull request #3729 from embassy-rs/update-nrf-rp
...
Prepare nrf and rp hals for release
2025-01-06 12:28:33 +00:00
Dario Nieuwenhuis
209183ebea
Fixes for new PACs.
2025-01-06 13:22:44 +01:00
Georges Palauqui
3c87bb588b
embassy-rp: add set_pullup() for OutputOpenDrain
2025-01-06 12:43:48 +01:00
Dániel Buga
44217aa092
Desugar some async fns
2024-12-30 12:13:13 +01:00
Dániel Buga
ab8ca3f126
Rename ETQD, bump date
2024-12-22 21:00:23 +01:00
Dario Nieuwenhuis
2c3bc75da6
Merge pull request #3593 from bugadani/refactor
...
Rework time-driver contract.
2024-12-16 12:30:30 +00:00
vinsynth
ffbef9316d
i2s frequency relative to sysclk
2024-12-14 11:02:18 -05:00
vinsynth
854d1f3743
add sysclk frequency argument to PioI2Out::new
2024-12-14 00:32:47 -05:00
Dario Nieuwenhuis
b268b1795f
Merge time-driver and time-queue-driver traits, make HALs own and handle the queue.
2024-12-13 21:20:59 +01:00
Dániel Buga
5a5495aac4
Refactor integrated-timers
2024-12-10 21:31:42 +01:00
dstric-aqueduct
dcf228e448
Add set_config method to RP SPI driver
...
Add a `set_config` method to `Spi` to allow reconfiguring SPI mode after creation.
The existing implementation of the `embassy-embedded-hal` trait `SetConfig` is changed to use the new method.
Existing uses of `SetConfig` trait may need to explicitly call the trait method to maintain current return type.
2024-12-03 00:14:24 +01:00
Dario Nieuwenhuis
333284588a
Merge pull request #3543 from ionspin/rp2350_otp_write
...
RP235X Add OTP write functions
2024-12-02 22:50:48 +00:00
Dario Nieuwenhuis
aaad8450e9
Use inline const for initializing arrays. ( #3567 )
2024-11-24 20:58:48 +01:00
Ugljesa Jovanovic
69cb30ebf3
Add OTP write
2024-11-16 22:22:47 +01:00
ibuki2003
19a06d6b8a
fix(rp): use uart dreq number defined in pac
2024-11-14 02:50:04 +09:00
Dario Nieuwenhuis
0de204ccd7
Fix "non-local impl definition" warning from recent nightlies.
2024-11-08 13:20:13 +01:00
flippette
84def1608f
Also implement embedded_io::Write for UartTx<'d, T: Instance, Blocking>
2024-11-01 23:47:25 +02:00
Dario Nieuwenhuis
3225848bd2
rp/pio: ensure PADS IE=1 which is not the default in rp235x.
...
Fixes #3476
2024-10-31 21:26:40 +01:00
flippette
93dd21042c
Implement embedded_io::Write for Uart<'d, T: Instance, Blocking> ( #3483 )
...
* Implement `embedded_io::{Read,Write}` for `Uart<'d, T: Instance, Blocking>`
* Unimplement `embedded_io::Read` for `Uart<'d, T: Instance, Blocking>`
* Revert "Unimplement `embedded_io::Read` for `Uart<'d, T: Instance, Blocking>`"
* Unimplement `embedded_io::Read` for `Uart<'d, T: Instance, Blocking>` (take 2)
2024-10-31 21:14:11 +01:00
Connor
ca8e885dbb
Add tx_dma to async spi
2024-10-27 17:57:59 -05:00
Vincenzo Marturano
9690bed5a6
Fix documentation.
2024-10-25 13:12:24 +02:00
Vincenzo Marturano
71fe8a7b90
Fixed owned split and implemented split_by_ref.
2024-10-25 12:54:06 +02:00
Vincenzo Marturano
874dbec5a4
Fixed mistakes.
2024-10-24 19:52:09 +02:00
Vincenzo Marturano
354ff3bac3
Fix missing lifetime
2024-10-24 19:46:23 +02:00
Vincenzo Marturano
336ef01b05
Implemented owned split.
2024-10-24 19:36:54 +02:00
Vincenzo Marturano
052463212b
Revert "Add new() method to PwmBatch so it can be istantiated."
...
This reverts commit 31662eaeef0762a7c7b9c95aee61a9066d7e447a.
2024-10-24 16:20:28 +02:00
Vincenzo Marturano
31662eaeef
Add new() method to PwmBatch so it can be istantiated.
2024-10-24 16:04:32 +02:00