From 4364daf54c1e57f639f78dc32d4e100b94db487e Mon Sep 17 00:00:00 2001 From: LennartF22 <18723691+LennartF22@users.noreply.github.com> Date: Sat, 21 Sep 2024 18:46:29 +0200 Subject: [PATCH] Optimize CMT FIFO access --- lib/CMT2300a/cmt_spi3.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/CMT2300a/cmt_spi3.c b/lib/CMT2300a/cmt_spi3.c index 80d3103..aeae3d4 100644 --- a/lib/CMT2300a/cmt_spi3.c +++ b/lib/CMT2300a/cmt_spi3.c @@ -101,10 +101,12 @@ void cmt_spi3_write_fifo(const uint8_t* buf, const uint16_t len) }; SPI_PARAM_LOCK(); + spi_device_acquire_bus(spi_fifo, portMAX_DELAY); for (uint8_t i = 0; i < len; i++) { t.tx_buffer = buf + i; ESP_ERROR_CHECK(spi_device_polling_transmit(spi_fifo, &t)); } + spi_device_release_bus(spi_fifo); SPI_PARAM_UNLOCK(); } @@ -116,9 +118,11 @@ void cmt_spi3_read_fifo(uint8_t* buf, const uint16_t len) }; SPI_PARAM_LOCK(); + spi_device_acquire_bus(spi_fifo, portMAX_DELAY); for (uint8_t i = 0; i < len; i++) { t.rx_buffer = buf + i; ESP_ERROR_CHECK(spi_device_polling_transmit(spi_fifo, &t)); } + spi_device_release_bus(spi_fifo); SPI_PARAM_UNLOCK(); }