diff --git a/components/driver/test/test_spi_master.c b/components/driver/test/test_spi_master.c index 5a7b490109..8887d5cefc 100644 --- a/components/driver/test/test_spi_master.c +++ b/components/driver/test/test_spi_master.c @@ -22,6 +22,7 @@ #include "soc/spi_periph.h" #include "freertos/ringbuf.h" #include "soc/gpio_periph.h" +#include "sdkconfig.h" const static char TAG[] = "test_spi"; @@ -118,7 +119,7 @@ TEST_CASE("SPI Master clockdiv calculation routines", "[spi]") static spi_device_handle_t setup_spi_bus(int clkspeed, bool dma) { spi_bus_config_t buscfg={ - .mosi_io_num=4, + .mosi_io_num=26, .miso_io_num=26, .sclk_io_num=25, .quadwp_io_num=-1, @@ -137,22 +138,24 @@ static spi_device_handle_t setup_spi_bus(int clkspeed, bool dma) { }; esp_err_t ret; spi_device_handle_t handle; - printf("THIS TEST NEEDS A JUMPER BETWEEN IO4 AND IO26\n"); ret=spi_bus_initialize(HSPI_HOST, &buscfg, dma?1:0); TEST_ASSERT(ret==ESP_OK); ret=spi_bus_add_device(HSPI_HOST, &devcfg, &handle); TEST_ASSERT(ret==ESP_OK); + //connect MOSI to two devices breaks the output, fix it. + gpio_output_sel(26, FUNC_GPIO, HSPID_OUT_IDX); printf("Bus/dev inited.\n"); return handle; } -static void spi_test(spi_device_handle_t handle, int num_bytes) { +static int spi_test(spi_device_handle_t handle, int num_bytes) { esp_err_t ret; int x; + bool success = true; srand(num_bytes); - char *sendbuf=heap_caps_malloc(num_bytes, MALLOC_CAP_DMA); - char *recvbuf=heap_caps_malloc(num_bytes, MALLOC_CAP_DMA); + char *sendbuf=heap_caps_malloc((num_bytes+3)&(~3), MALLOC_CAP_DMA); + char *recvbuf=heap_caps_malloc((num_bytes+3)&(~3), MALLOC_CAP_DMA); for (x=0; x