diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-07 13:45:27 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-07 13:45:27 +1000 |
| commit | 7e96482087632278c3d9e4a5db6bad25374ada8f (patch) | |
| tree | 07e16886c951b212bed84f2ab09c4a4543eb0395 /src/drivers/spi.cpp | |
| parent | 1f903accd95361735c841c87fdc6494ad3331b40 (diff) | |
| download | tangara-fw-7e96482087632278c3d9e4a5db6bad25374ada8f.tar.gz | |
fix shared peripheral interrupts causing hangs
Diffstat (limited to 'src/drivers/spi.cpp')
| -rw-r--r-- | src/drivers/spi.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/drivers/spi.cpp b/src/drivers/spi.cpp index 9c112bb5..1e9323ae 100644 --- a/src/drivers/spi.cpp +++ b/src/drivers/spi.cpp @@ -10,6 +10,7 @@ #include "driver/spi_common.h" #include "driver/spi_master.h" #include "esp_err.h" +#include "esp_intr_alloc.h" #include "hal/spi_types.h" namespace drivers { @@ -37,7 +38,8 @@ esp_err_t init_spi(void) { // manages its down use of DMA-capable memory. .max_transfer_sz = 128 * 16 * 2, // TODO: hmm .flags = SPICOMMON_BUSFLAG_MASTER | SPICOMMON_BUSFLAG_IOMUX_PINS, - .intr_flags = 0, + .intr_flags = + ESP_INTR_FLAG_LOWMED | ESP_INTR_FLAG_SHARED | ESP_INTR_FLAG_IRAM, }; if (esp_err_t err = spi_bus_initialize(kSpiHost, &config, SPI_DMA_CH_AUTO)) { |
