From 5052c3335d4a82a304e8f199599eee695d7c4449 Mon Sep 17 00:00:00 2001 From: bjoernQ Date: Thu, 11 May 2023 11:17:40 +0200 Subject: [PATCH] Enable `change_bus_frequency` for `SpiDma` --- esp-hal-common/src/spi.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/esp-hal-common/src/spi.rs b/esp-hal-common/src/spi.rs index a97b8b306..853e5b208 100644 --- a/esp-hal-common/src/spi.rs +++ b/esp-hal-common/src/spi.rs @@ -731,6 +731,7 @@ pub mod dma { use core::{marker::PhantomData, mem}; use embedded_dma::{ReadBuffer, WriteBuffer}; + use fugit::HertzU32; #[cfg(any(esp32, esp32s2, esp32s3))] use super::Spi3Instance; @@ -750,6 +751,7 @@ pub mod dma { #[cfg(any(esp32, esp32s2, esp32s3))] use crate::dma::Spi3Peripheral; use crate::{ + clock::Clocks, dma::{Channel, DmaTransfer, DmaTransferRxTx, Rx, Spi2Peripheral, SpiPeripheral, Tx}, peripheral::PeripheralRef, }; @@ -944,6 +946,19 @@ pub mod dma { _mode: PhantomData, } + impl<'d, T, TX, RX, P, M> SpiDma<'d, T, TX, RX, P, M> + where + T: InstanceDma, + TX: Tx, + RX: Rx, + P: SpiPeripheral, + M: DuplexMode, + { + pub fn change_bus_frequency(&mut self, frequency: HertzU32, clocks: &Clocks) { + self.spi.ch_bus_freq(frequency, clocks); + } + } + impl<'d, T, TX, RX, P, M> SpiDma<'d, T, TX, RX, P, M> where T: InstanceDma,