aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf/src/spim.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat: improve nrf54 support using new nrf-pacUlf Lilleengen2025-10-281-10/+153
| | | | | | | | | | | | | * Update nrf-pac to version that modifies nrf52 register layout to match nrf54 to reduce the amount of cfg needed for nrf54 support. * Make the following peripherals available on nrf54: twim, twis, spim, spis, uart, buffered uarte, dppi, gpiote, pwm, saadc * Add examples tested on the nrf54 dk Some code is based on or copied from other pull requests, modified to match the new nrf-pac layout. Co-authored-by: Dmitry Tarnyagin <[email protected]>
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-061-3/+3
|
* feat(nrf/spim): erase Instance type from SpimAbraham Hamidi2025-09-241-28/+36
|
* Remove Peripheral trait, rename PeripheralRef->Peri.Dario Nieuwenhuis2025-03-271-36/+24
|
* nrf: add nrf54l base: gpio and time driver.Dario Nieuwenhuis2024-11-171-2/+2
|
* nrf: port to chiptool-based `nrf-pac`.Dario Nieuwenhuis2024-11-041-70/+62
|
* Use raw slices .len() method instead of unsafe hacks.Dario Nieuwenhuis2024-06-131-7/+5
| | | | Stabilized in 1.79.
* nrf: remove mod sealed.Dario Nieuwenhuis2024-04-051-33/+27
|
* nrf: spim: Hide the "Copying SPIM tx buffer into RAM for DMA" tracesPriit Laes2024-02-271-2/+2
| | | | | Now that SPIM driver seems to be properly working, hide the trace logs which occur whenever tx buffer needs to be copied into RAM.
* Merge pull request #2596 from NBonaparte/nrf-spi-driveDario Nieuwenhuis2024-02-201-4/+19
|\ | | | | | | feat(nrf/spim): allow specifying drive of SPI pins
| * fix(nrf/spim): use `OutputDrive` to set pin drivesNBonaparte2024-02-191-37/+16
| |
| * feat(nrf/spim): allow specifying drive of SPI pinsNBonaparte2024-02-181-3/+39
| |
* | nrf: Implement chunked DMA transfers for SPIM peripheralPriit Laes2024-02-151-44/+68
|/ | | | | | On some chips (notably nrf52832), the maximum DMA transfer is 255 bytes, which has caused subtle issues while interfacing with various devices over SPI bus.
* nrf: spim/spis: Add size checks for EasyDMA bufferPriit Laes2024-02-081-3/+11
| | | | | On most nRF chips, maximum buffer size for EasyDMA is 255, thus we never got any data when attempting to use 256 bytes as RX/TX buffer.
* nrf/spi: add bit order configMatthew Tran2024-01-261-4/+9
|
* fix: check if sck is some before setting high or lowswanandx2024-01-031-2/+6
|
* feat: new_txonly_nosck in spimswanandx2024-01-031-5/+18
|
* Remove nightly and unstable-traits features in preparation for 1.75.Dario Nieuwenhuis2023-11-291-51/+40
|
* nrf, rp: update set_configxoviat2023-10-011-2/+5
|
* Add separate work-around specific flag for DMA errata on NRF52832Priit Laes2023-09-221-11/+10
|
* spim: Fix SPIM with polling executorsNils Fitinghoff2023-09-221-22/+45
| | | | Co-authored-by: Priit Laes <[email protected]>
* nrf: spim: Use SetConfig trait internally to reduce duplicationPriit Laes2023-09-101-36/+4
|
* nrf: spim: Anomaly 109 workaround for SPIM peripheral (#460)Priit Laes2023-09-071-4/+56
| | | | | | | | | | This implements SPIM TX workaround suggested from section 3.8.1 from Anomaly 109 addendum. In workaround case we first keep track of original maxcnt values, then initiate "fake" transfer with zero-length maxcnt values. Once the "fake" transfer is triggered, we handle it, fill in the original maxcnt values and restart the transmission.
* fix: ensure spi irq is disabled when droppedUlf Lilleengen2023-08-101-0/+3
|
* Rename embassy-hal-common to embassy-hal-internal, document it's for ↵Dario Nieuwenhuis2023-07-281-1/+1
| | | | internal use only. (#1700)
* update embedded-hal crates.Dario Nieuwenhuis2023-07-041-16/+4
|
* Add lifetimes to the functionsDion Dokter2023-07-041-2/+2
|
* Make interrupt module more standard.Dario Nieuwenhuis2023-06-081-8/+8
| | | | | | | | | | | | - Move typelevel interrupts to a special-purpose mod: `embassy_xx::interrupt::typelevel`. - Reexport the PAC interrupt enum in `embassy_xx::interrupt`. This has a few advantages: - The `embassy_xx::interrupt` module is now more "standard". - It works with `cortex-m` functions for manipulating interrupts, for example. - It works with RTIC. - the interrupt enum allows holding value that can be "any interrupt at runtime", this can't be done with typelevel irqs. - When "const-generics on enums" is stable, we can remove the typelevel interrupts without disruptive changes to `embassy_xx::interrupt`.
* cortex-m: remove owned interrupts.Dario Nieuwenhuis2023-06-011-3/+3
|
* nrf/spim: switch to new interrupt binding.Dario Nieuwenhuis2023-03-061-27/+32
|
* nrf: docs.Dario Nieuwenhuis2023-02-011-8/+25
|
* Switch to async-fn-in-traitDario Nieuwenhuis2022-11-251-21/+10
|
* Update embedded-hal versions and explicitly pinUlf Lilleengen2022-09-291-4/+4
|
* Replace futures::future::poll_fn -> core::future::poll_fn.Dario Nieuwenhuis2022-09-221-1/+1
|
* Do not use cfg_if for embedded-hal-async feature gates.Dario Nieuwenhuis2022-08-311-30/+28
| | | | Old code used `cfg_if!` because rustc still parses code inside disabled cfg's, and Rust stable at that time couldn't parse the new GAT where-clause location. This is not the case anymore.
* split `embassy-util` into `embassy-futures`, `embassy-sync`.Dario Nieuwenhuis2022-08-221-1/+1
|
* Split embassy crate into embassy-executor, embassy-util.Dario Nieuwenhuis2022-07-291-1/+1
|
* nrf: replace PhantomData usages with PeripheralRef.Dario Nieuwenhuis2022-07-231-5/+4
|
* Remove PeripheralRef::into_inner()Dario Nieuwenhuis2022-07-231-6/+13
|
* Rename Unborrowed -> PeripheralRef, Unborrow -> PeripheralDario Nieuwenhuis2022-07-231-25/+25
|
* WIP: Make unborrow safe to useGrant Miller2022-07-231-17/+10
|
* Associated typeHenrik Alsér2022-07-091-2/+3
|
* Shared buses with SetConfigHenrik Alsér2022-07-081-0/+43
|
* Run rustfmt.Dario Nieuwenhuis2022-06-121-18/+9
|
* Add embassy-cortex-m crate.Dario Nieuwenhuis2022-06-121-2/+2
| | | | | | - Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`. - Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore) - Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
* Update rust nightly, embedded-hal 1.0, embedded-hal-async.Dario Nieuwenhuis2022-03-111-132/+37
|
* Move EasyDMA documentation to module levelTil Blechschmidt2022-03-081-36/+5
|
* Refactor _from_ram methods to use more readable copy operationTil Blechschmidt2022-03-021-6/+6
|
* Fix EasyDMA slice copying not actually copying dataTil Blechschmidt2022-02-231-4/+7
|
* Add defmt log outputs for SPIM memcpyTil Blechschmidt2022-02-231-0/+2
|