spi bus synchronization moved to user application because needed in case

of shared bus only
This commit is contained in:
Bogdan Pilyugin 2022-10-07 16:34:45 +02:00
parent 0cb80bccd4
commit 88ac20f673

View File

@ -57,11 +57,10 @@
static SYS_CONFIG SysConfig; static SYS_CONFIG SysConfig;
#define SPI_LOCK_TIMEOUT_MS (1000)
#define NETWORK_START_TIMEOUT (60) #define NETWORK_START_TIMEOUT (60)
SemaphoreHandle_t xSemaphoreSPIHandle = NULL;
StaticSemaphore_t xSemaphoreSPIBuf;
static int NetworkStartTimeout = 0; static int NetworkStartTimeout = 0;
static bool isUserAppNeedReset = false; static bool isUserAppNeedReset = false;
@ -181,33 +180,12 @@ static void InitSysIO(void)
} }
void spi_device_init_custom(void)
{
xSemaphoreSPIHandle = xSemaphoreCreateBinaryStatic(&xSemaphoreSPIBuf);
xSemaphoreGive(xSemaphoreSPIHandle);
}
esp_err_t spi_device_polling_transmit_synchronized(spi_device_handle_t handle, spi_transaction_t *trans_desc)
{
esp_err_t res;
if (xSemaphoreTake(xSemaphoreSPIHandle,pdMS_TO_TICKS(SPI_LOCK_TIMEOUT_MS)) == pdTRUE)
{
res = spi_device_polling_transmit(handle, trans_desc);
xSemaphoreGive(xSemaphoreSPIHandle);
}
else
{
res = ESP_ERR_TIMEOUT;
}
return res;
}
static void InitSysSPI(void) static void InitSysSPI(void)
{ {
#ifdef CONFIG_WEBGUIAPP_SPI_ENABLE #ifdef CONFIG_WEBGUIAPP_SPI_ENABLE
spi_device_init_custom(); //spi_device_init_custom();
spi_bus_config_t buscfg = { spi_bus_config_t buscfg = {
.miso_io_num = CONFIG_SPI_MISO_GPIO, .miso_io_num = CONFIG_SPI_MISO_GPIO,
.mosi_io_num = CONFIG_SPI_MOSI_GPIO, .mosi_io_num = CONFIG_SPI_MOSI_GPIO,