diff --git a/src/drivers/i2c.cpp b/src/drivers/i2c.cpp index 36906a50..7d25717a 100644 --- a/src/drivers/i2c.cpp +++ b/src/drivers/i2c.cpp @@ -27,8 +27,8 @@ esp_err_t init_i2c(void) { .mode = I2C_MODE_MASTER, .sda_io_num = kI2CSdaPin, .scl_io_num = kI2CSclPin, - .sda_pullup_en = GPIO_PULLUP_ENABLE, - .scl_pullup_en = GPIO_PULLUP_ENABLE, + .sda_pullup_en = false, + .scl_pullup_en = false, .master = { .clk_speed = kI2CClkSpeed, diff --git a/src/drivers/i2s_dac.cpp b/src/drivers/i2s_dac.cpp index e206bd7a..aef466c2 100644 --- a/src/drivers/i2s_dac.cpp +++ b/src/drivers/i2s_dac.cpp @@ -44,6 +44,7 @@ auto I2SDac::create(IGpios& expander) -> std::optional { .dma_desc_num = 2, .dma_frame_num = kI2SBufferLengthFrames, .auto_clear = false, + .intr_priority = 0, }; ESP_ERROR_CHECK(i2s_new_channel(&channel_config, &i2s_handle, NULL)); diff --git a/src/drivers/spi.cpp b/src/drivers/spi.cpp index ba461b67..ae6f83a2 100644 --- a/src/drivers/spi.cpp +++ b/src/drivers/spi.cpp @@ -11,6 +11,7 @@ #include "driver/spi_master.h" #include "esp_err.h" #include "esp_intr_alloc.h" +#include "esp_intr_types.h" #include "hal/spi_types.h" namespace drivers { @@ -40,6 +41,7 @@ esp_err_t init_spi(void) { // manages its own use of DMA-capable memory. .max_transfer_sz = 4096, .flags = SPICOMMON_BUSFLAG_MASTER | SPICOMMON_BUSFLAG_IOMUX_PINS, + .isr_cpu_id = ESP_INTR_CPU_AFFINITY_0, .intr_flags = ESP_INTR_FLAG_LOWMED | ESP_INTR_FLAG_IRAM, };