aboutsummaryrefslogtreecommitdiff
path: root/embassy-rp/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #5061 from ericseppanen/pio_dividerHEADmainDario Nieuwenhuis2025-12-191-6/+55
|\ | | | | | | embassy_rp: improve calculate_pio_clock_divider
| * clock_divider: use core::assert in const fnEric Seppanen2025-12-131-3/+3
| | | | | | | | defmt::assert gives a compile error in const context.
| * improve pio clock divider mathEric Seppanen2025-12-131-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that the fractional part of the clock divider is accurately calculated. This does additional u32 division/mod operations, which I think is better than using u64 for its extra precision. Also: - Add additional asserts to catch out-of-bounds results. - Make the version that accepts the system clock as a parameter const and public, so if anyone wants to hardcode the system frequency they can avoid any runtime computation. - Remove the `inline` attributes because the function has grown quite a bit.
| * add unit test for calculate_pio_clock_dividerEric Seppanen2025-12-131-1/+29
| | | | | | | | | | The test will fail, because the current implementation doesn't calculate the fractional part.
* | Update to embedded-io 0.7Dario Nieuwenhuis2025-12-192-0/+12
|/
* Use two AtomicU32 insteadBjorn Beishline2025-11-251-10/+46
|
* Remove atomic-polyfillBjorn Beishline2025-11-253-16/+51
|
* embassy-rp: add support for TX-only, no SCK SPIAlex Strandberg2025-11-241-0/+25
|
* Add docs for embassy-rp::pio::get_x assumption about autopush.Valentin Trophime2025-11-121-0/+16
|
* fix formattingRobert Williams2025-11-031-1/+1
|
* docs: color order methods traits missing docsRobert Williams2025-11-031-0/+12
|
* split into multiple methodsRobert Williams2025-11-031-6/+30
|
* fix: split traits to avoid inference problemsRobert Williams2025-11-031-23/+19
|
* embassy-rp: add color order to ws2812 pio programRobert Williams2025-11-031-15/+78
|
* Disable PIO SM before setting Y registerMichael Turner2025-11-021-3/+15
|
* embassy-rp: doc comment spelling passRob Wells2025-10-2713-24/+24
| | | | | All changes but one are to documentation comments, and one to an ordinary comment.
* rp: fix typo in Input interrupt commentNicolas Mattia2025-10-261-1/+1
|
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-0626-90/+50
|
* Edition 2024.Dario Nieuwenhuis2025-10-066-20/+21
|
* Add reset_to_usb_boot to rp235xBjorn Beishline2025-09-231-0/+32
|
* rp: Use msplim for rp235x core1 stack guard9names2025-09-211-11/+3
|
* Fix race condition in RTC alarm by using AtomicBool flag1-rafael-12025-09-151-6/+14
|
* alarm handling to poll hardware status directly; add ci test1-rafael-12025-09-151-13/+6
|
* Merge branch 'main' into rp2040-rtc-alarm1-rafael-12025-09-1522-137/+1988
|\
| * rp/pio: Add onewire strong pullups, parasite powerMatt Johnston2025-09-141-3/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Merge pull request #4210 from mcaveniathor/pio_i2s_rxDario Nieuwenhuis2025-09-051-4/+92
| |\ | | | | | | | | | Add PioI2sIn, PioI2sInProgram, and example binary
| | * Add PioI2sIn, PioI2sInProgram, and example binaryThor McAvenia2025-09-051-4/+92
| | |
| * | rp: read pio gpiobase in set_pins and set_pin_dirsAdrian Wowk2025-09-051-2/+17
| | |
| * | rp: move pio pin configs after set_configAdrian Wowk2025-09-051-4/+5
| | | | | | | | | | | | | | | This is needed for the program to work correctly on rp235xb when using the higher pin numbers.
| * | rp: add pio spi runtime reconfigurationAdrian Wowk2025-09-051-39/+80
| | |
| * | style: cleanup with rustfmtAdrian Wowk2025-09-051-11/+10
| | |
| * | rp: add new pio spi programAdrian Wowk2025-09-052-0/+434
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new PIO program which implements SPI. This allows you to drive more than 2 SPI buses by using PIO state machines as additional duplex SPI interfaces. The driver supports both blocking and async modes of operation and exclusively uses the DMA for async IO.
| * | rp: add new pio dma apisAdrian Wowk2025-09-051-8/+59
| |/ | | | | | | | | | | This commit adds StateMachineRx::dma_pull_repeated and StateMachineTx::dma_push_repeated which allow you to discard reads or send dummy writes to the state machine using the DMA hardware
| * Merge pull request #4496 from variegated-coffee/psramDario Nieuwenhuis2025-09-053-0/+745
| |\ | | | | | | | | | feat(embassy-rp): RP2350 - Add support for QMI CS1, and for APS6404L PSRAM
| | * Gate ARM-specific assembly using cfgMagnus Nordlander2025-08-051-186/+200
| | |
| | * Apply rustfmtMagnus Nordlander2025-08-052-11/+4
| | |
| | * Interface changes and added exampleMagnus Nordlander2025-08-051-5/+2
| | |
| | * Remove regs since it doesn’t really make sense to return the QMI ↵Magnus Nordlander2025-08-052-15/+7
| | | | | | | | | | | | peripheral from QMI CS1.
| | * Apply rustfmtMagnus Nordlander2025-08-023-121/+122
| | |
| | * Added support for QMI CS1, and for APS6404L PSRAM on the RP2350Magnus Nordlander2025-08-023-0/+748
| | |
| * | executor: return error when creating the spawntoken, not when spawning.Dario Nieuwenhuis2025-08-291-2/+2
| | |
| * | change default internal pullup state to be active to make this change ↵erwin2025-08-192-4/+4
| | | | | | | | | | | | nonbreaking
| * | Add configurable internal pullups for rp i2cerwin2025-08-182-9/+33
| | | | | | | | | | | | | | | - Example updated to demonstrate enabling internal pullups - Add `sda_pullup` and `scl_pullup` fields to I2C Config
| * | removed the rp2040 flag from the dormant functionPhirks2025-08-031-3/+1
| | |
| * | Add IRQ StatusSource for _rp235xElliot Sayes2025-08-021-0/+4
| |/
| * Merge pull request #4296 from adamNewell/fix-rp2350-stack-guard-rlarDario Nieuwenhuis2025-07-241-1/+1
| |\ | | | | | | | | | Embassy RP: RP235x Fix MPU region enablement in stack guard installation
| | * Fix MPU region enablement in stack guard installationAdam Newell2025-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | Updated the MPU region enablement logic in the `install_stack_guard` function to correctly set the region limit by using the stack bottom address plus 256 minus one, ensuring proper memory protection configuration. See Table 235. MPU_RLAR Register in RP2350 documentation See Section 4.5 MPU_RLAR in armv8m MPU documentation
| * | Merge pull request #4449 from rursprung/add-debug-and-defmt-for-rp-gpioDario Nieuwenhuis2025-07-231-0/+15
| |\ \ | | | | | | | | | | | | add missing `Debug` and `defmt::Format` derives for `embassy_rp::gpio`
| | * | add missing `Debug` and `defmt::Format` derives for `embassy_rp::gpio`Ralph Ursprung2025-07-231-0/+15
| | | |
| * | | Use `unsafe` block in IRQ handlersclubby7892025-07-201-4/+6
| |/ /