forked from espressif/esp-modbus
Preparations for new IDF
This commit is contained in:
@ -59,7 +59,7 @@ add_prefix(priv_include_dirs "${CMAKE_CURRENT_LIST_DIR}/freemodbus/" ${priv_incl
|
|||||||
|
|
||||||
message(STATUS "DEBUG: Use esp-modbus component folder: ${CMAKE_CURRENT_LIST_DIR}.")
|
message(STATUS "DEBUG: Use esp-modbus component folder: ${CMAKE_CURRENT_LIST_DIR}.")
|
||||||
|
|
||||||
set(requires driver lwip)
|
set(requires driver lwip esp_netif)
|
||||||
|
|
||||||
# esp_timer component was introduced in v4.2
|
# esp_timer component was introduced in v4.2
|
||||||
if("${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}" VERSION_GREATER "4.1")
|
if("${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}" VERSION_GREATER "4.1")
|
||||||
|
@ -252,7 +252,7 @@ static esp_err_t mbc_slave_send_param_info(mb_event_group_t par_type, uint16_t m
|
|||||||
par_info.mb_offset = mb_offset;
|
par_info.mb_offset = mb_offset;
|
||||||
BaseType_t status = xQueueSend(mbs_opts->mbs_notification_queue_handle, &par_info, MB_PAR_INFO_TOUT);
|
BaseType_t status = xQueueSend(mbs_opts->mbs_notification_queue_handle, &par_info, MB_PAR_INFO_TOUT);
|
||||||
if (pdTRUE == status) {
|
if (pdTRUE == status) {
|
||||||
ESP_LOGD(TAG, "Queue send parameter info (type, address, size): %d, 0x%.4x, %d",
|
ESP_LOGD(TAG, "Queue send parameter info (type, address, size): %d, 0x%.4" PRIu32 "x, %d",
|
||||||
par_type, (uint32_t)par_address, par_size);
|
par_type, (uint32_t)par_address, par_size);
|
||||||
error = ESP_OK;
|
error = ESP_OK;
|
||||||
} else if (errQUEUE_FULL == status) {
|
} else if (errQUEUE_FULL == status) {
|
||||||
|
@ -149,7 +149,7 @@ xMBMasterPortEventGet( eMBMasterEventType* eEvent )
|
|||||||
xEventGroupSetBits( xEventGroupMasterConfirmHdl, *eEvent );
|
xEventGroupSetBits( xEventGroupMasterConfirmHdl, *eEvent );
|
||||||
xEventHappened = TRUE;
|
xEventHappened = TRUE;
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGE(MB_PORT_TAG,"%s: Incorrect event triggered = %d.", __func__, uxBits);
|
ESP_LOGE(MB_PORT_TAG,"%s: Incorrect event triggered = %lu.", __func__, uxBits);
|
||||||
*eEvent = (eMBMasterEventType)uxBits;
|
*eEvent = (eMBMasterEventType)uxBits;
|
||||||
xEventHappened = FALSE;
|
xEventHappened = FALSE;
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ BOOL xMBMasterRunResTake( LONG lTimeOut )
|
|||||||
pdFALSE, // Don't wait for both bits, either bit will do.
|
pdFALSE, // Don't wait for both bits, either bit will do.
|
||||||
lTimeOut); // Resource wait timeout.
|
lTimeOut); // Resource wait timeout.
|
||||||
MB_PORT_CHECK((uxBits == MB_EVENT_RESOURCE), FALSE , "Take resource failure.");
|
MB_PORT_CHECK((uxBits == MB_EVENT_RESOURCE), FALSE , "Take resource failure.");
|
||||||
ESP_LOGD(MB_PORT_TAG,"%s:Take resource (%x) (%lu ticks).", __func__, uxBits, lTimeOut);
|
ESP_LOGD(MB_PORT_TAG,"%s:Take resource (%lux) (%lu ticks).", __func__, uxBits, lTimeOut);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,7 +193,7 @@ void vMBMasterRunResRelease( void )
|
|||||||
{
|
{
|
||||||
EventBits_t uxBits = xEventGroupSetBits( xResourceMasterHdl, MB_EVENT_RESOURCE );
|
EventBits_t uxBits = xEventGroupSetBits( xResourceMasterHdl, MB_EVENT_RESOURCE );
|
||||||
MB_PORT_CHECK((uxBits == MB_EVENT_RESOURCE), ; , "Resource release failure.");
|
MB_PORT_CHECK((uxBits == MB_EVENT_RESOURCE), ; , "Resource release failure.");
|
||||||
ESP_LOGD(MB_PORT_TAG,"%s: Release resource (%x).", __func__, uxBits);
|
ESP_LOGD(MB_PORT_TAG,"%s: Release resource (%lux).", __func__, uxBits);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -297,7 +297,7 @@ eMBMasterReqErrCode eMBMasterWaitRequestFinish( void ) {
|
|||||||
eErrStatus = MB_MRE_EXE_FUN;
|
eErrStatus = MB_MRE_EXE_FUN;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGE(MB_PORT_TAG,"%s: Incorrect event or timeout xRecvedEvent = 0x%x", __func__, uxBits);
|
ESP_LOGE(MB_PORT_TAG,"%s: Incorrect event or timeout xRecvedEvent = 0x%lux", __func__, uxBits);
|
||||||
// https://github.com/espressif/esp-idf/issues/5275
|
// https://github.com/espressif/esp-idf/issues/5275
|
||||||
// if a no event is received, that means vMBMasterPortEventClose()
|
// if a no event is received, that means vMBMasterPortEventClose()
|
||||||
// has been closed, so event group has been deleted by FreeRTOS, which
|
// has been closed, so event group has been deleted by FreeRTOS, which
|
||||||
|
@ -96,7 +96,7 @@ static USHORT usMBMasterPortSerialRxPoll(size_t xEventSize)
|
|||||||
|
|
||||||
// The buffer is transferred into Modbus stack and is not needed here any more
|
// The buffer is transferred into Modbus stack and is not needed here any more
|
||||||
uart_flush_input(ucUartNumber);
|
uart_flush_input(ucUartNumber);
|
||||||
ESP_LOGD(TAG, "Received data: %d(bytes in buffer)\n", (uint32_t)usCnt);
|
ESP_LOGD(TAG, "Received data: %lu(bytes in buffer)\n", (uint32_t)usCnt);
|
||||||
#if !CONFIG_FMB_TIMER_PORT_ENABLED
|
#if !CONFIG_FMB_TIMER_PORT_ENABLED
|
||||||
vMBMasterSetCurTimerMode(MB_TMODE_T35);
|
vMBMasterSetCurTimerMode(MB_TMODE_T35);
|
||||||
pxMBMasterPortCBTimerExpired();
|
pxMBMasterPortCBTimerExpired();
|
||||||
|
@ -71,12 +71,12 @@ static esp_err_t mbc_serial_master_setup(void* comm_info)
|
|||||||
const mb_master_comm_info_t* comm_info_ptr = (mb_master_comm_info_t*)comm_info;
|
const mb_master_comm_info_t* comm_info_ptr = (mb_master_comm_info_t*)comm_info;
|
||||||
// Check communication options
|
// Check communication options
|
||||||
MB_MASTER_CHECK(((comm_info_ptr->mode == MB_MODE_RTU) || (comm_info_ptr->mode == MB_MODE_ASCII)),
|
MB_MASTER_CHECK(((comm_info_ptr->mode == MB_MODE_RTU) || (comm_info_ptr->mode == MB_MODE_ASCII)),
|
||||||
ESP_ERR_INVALID_ARG, "mb incorrect mode = (0x%x).",
|
ESP_ERR_INVALID_ARG, "mb incorrect mode = (0x%" PRIu32 "x).",
|
||||||
(uint32_t)comm_info_ptr->mode);
|
(uint32_t)comm_info_ptr->mode);
|
||||||
MB_MASTER_CHECK((comm_info_ptr->port <= UART_NUM_MAX), ESP_ERR_INVALID_ARG,
|
MB_MASTER_CHECK((comm_info_ptr->port <= UART_NUM_MAX), ESP_ERR_INVALID_ARG,
|
||||||
"mb wrong port to set = (0x%x).", (uint32_t)comm_info_ptr->port);
|
"mb wrong port to set = (0x%" PRIu32 "x).", (uint32_t)comm_info_ptr->port);
|
||||||
MB_MASTER_CHECK((comm_info_ptr->parity <= UART_PARITY_ODD), ESP_ERR_INVALID_ARG,
|
MB_MASTER_CHECK((comm_info_ptr->parity <= UART_PARITY_ODD), ESP_ERR_INVALID_ARG,
|
||||||
"mb wrong parity option = (0x%x).", (uint32_t)comm_info_ptr->parity);
|
"mb wrong parity option = (0x%" PRIu32 "x).", (uint32_t)comm_info_ptr->parity);
|
||||||
// Save the communication options
|
// Save the communication options
|
||||||
mbm_opts->mbm_comm = *(mb_communication_info_t*)comm_info_ptr;
|
mbm_opts->mbm_comm = *(mb_communication_info_t*)comm_info_ptr;
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
@ -101,7 +101,7 @@ static esp_err_t mbc_serial_master_start(void)
|
|||||||
"mb stack initialization failure, eMBInit() returns (0x%x).", status);
|
"mb stack initialization failure, eMBInit() returns (0x%x).", status);
|
||||||
status = eMBMasterEnable();
|
status = eMBMasterEnable();
|
||||||
MB_MASTER_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
MB_MASTER_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
||||||
"mb stack set slave ID failure, eMBEnable() returned (0x%x).", (uint32_t)status);
|
"mb stack set slave ID failure, eMBEnable() returned (0x%" PRIu32 "x).", (uint32_t)status);
|
||||||
// Set the mbcontroller start flag
|
// Set the mbcontroller start flag
|
||||||
EventBits_t flag = xEventGroupSetBits(mbm_opts->mbm_event_group,
|
EventBits_t flag = xEventGroupSetBits(mbm_opts->mbm_event_group,
|
||||||
(EventBits_t)MB_EVENT_STACK_STARTED);
|
(EventBits_t)MB_EVENT_STACK_STARTED);
|
||||||
@ -130,7 +130,7 @@ static esp_err_t mbc_serial_master_destroy(void)
|
|||||||
(void)vEventGroupDelete(mbm_opts->mbm_event_group);
|
(void)vEventGroupDelete(mbm_opts->mbm_event_group);
|
||||||
mb_error = eMBMasterClose();
|
mb_error = eMBMasterClose();
|
||||||
MB_MASTER_CHECK((mb_error == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
MB_MASTER_CHECK((mb_error == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
||||||
"mb stack close failure returned (0x%x).", (uint32_t)mb_error);
|
"mb stack close failure returned (0x%" PRIu32 "x).", (uint32_t)mb_error);
|
||||||
free(mbm_interface_ptr); // free the memory allocated for options
|
free(mbm_interface_ptr); // free the memory allocated for options
|
||||||
vMBPortSetMode((UCHAR)MB_PORT_INACTIVE);
|
vMBPortSetMode((UCHAR)MB_PORT_INACTIVE);
|
||||||
mbm_interface_ptr = NULL;
|
mbm_interface_ptr = NULL;
|
||||||
@ -677,7 +677,7 @@ esp_err_t mbc_serial_master_create(void** handler, bool start_controller_task)
|
|||||||
if (status != pdPASS) {
|
if (status != pdPASS) {
|
||||||
vTaskDelete(mbm_opts->mbm_task_handle);
|
vTaskDelete(mbm_opts->mbm_task_handle);
|
||||||
MB_MASTER_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
MB_MASTER_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
||||||
"mb controller task creation error, xTaskCreate() returns (0x%x).",
|
"mb controller task creation error, xTaskCreate() returns (0x%" PRIu32 "x).",
|
||||||
(uint32_t)status);
|
(uint32_t)status);
|
||||||
MB_MASTER_ASSERT(mbm_opts->mbm_task_handle != NULL); // The task is created but handle is incorrect
|
MB_MASTER_ASSERT(mbm_opts->mbm_task_handle != NULL); // The task is created but handle is incorrect
|
||||||
}
|
}
|
||||||
|
@ -59,15 +59,15 @@ static esp_err_t mbc_serial_slave_setup(void* comm_info)
|
|||||||
mb_slave_options_t* mbs_opts = &mbs_interface_ptr->opts;
|
mb_slave_options_t* mbs_opts = &mbs_interface_ptr->opts;
|
||||||
mb_slave_comm_info_t* comm_settings = (mb_slave_comm_info_t*)comm_info;
|
mb_slave_comm_info_t* comm_settings = (mb_slave_comm_info_t*)comm_info;
|
||||||
MB_SLAVE_CHECK(((comm_settings->mode == MB_MODE_RTU) || (comm_settings->mode == MB_MODE_ASCII)),
|
MB_SLAVE_CHECK(((comm_settings->mode == MB_MODE_RTU) || (comm_settings->mode == MB_MODE_ASCII)),
|
||||||
ESP_ERR_INVALID_ARG, "mb incorrect mode = (0x%x).",
|
ESP_ERR_INVALID_ARG, "mb incorrect mode = (0x%" PRIu32 "x).",
|
||||||
(uint32_t)comm_settings->mode);
|
(uint32_t)comm_settings->mode);
|
||||||
MB_SLAVE_CHECK((comm_settings->slave_addr <= MB_ADDRESS_MAX),
|
MB_SLAVE_CHECK((comm_settings->slave_addr <= MB_ADDRESS_MAX),
|
||||||
ESP_ERR_INVALID_ARG, "mb wrong slave address = (0x%x).",
|
ESP_ERR_INVALID_ARG, "mb wrong slave address = (0x%" PRIu32 "x).",
|
||||||
(uint32_t)comm_settings->slave_addr);
|
(uint32_t)comm_settings->slave_addr);
|
||||||
MB_SLAVE_CHECK((comm_settings->port < UART_NUM_MAX), ESP_ERR_INVALID_ARG,
|
MB_SLAVE_CHECK((comm_settings->port < UART_NUM_MAX), ESP_ERR_INVALID_ARG,
|
||||||
"mb wrong port to set = (0x%x).", (uint32_t)comm_settings->port);
|
"mb wrong port to set = (0x%" PRIu32 "x).", (uint32_t)comm_settings->port);
|
||||||
MB_SLAVE_CHECK((comm_settings->parity <= UART_PARITY_ODD), ESP_ERR_INVALID_ARG,
|
MB_SLAVE_CHECK((comm_settings->parity <= UART_PARITY_ODD), ESP_ERR_INVALID_ARG,
|
||||||
"mb wrong parity option = (0x%x).", (uint32_t)comm_settings->parity);
|
"mb wrong parity option = (0x%" PRIu32 "x).", (uint32_t)comm_settings->parity);
|
||||||
|
|
||||||
// Set communication options of the controller
|
// Set communication options of the controller
|
||||||
mbs_opts->mbs_comm = *(mb_communication_info_t*)comm_settings;
|
mbs_opts->mbs_comm = *(mb_communication_info_t*)comm_settings;
|
||||||
@ -95,7 +95,7 @@ static esp_err_t mbc_serial_slave_start(void)
|
|||||||
"mb stack initialization failure, eMBInit() returns (0x%x).", status);
|
"mb stack initialization failure, eMBInit() returns (0x%x).", status);
|
||||||
status = eMBEnable();
|
status = eMBEnable();
|
||||||
MB_SLAVE_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
MB_SLAVE_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
||||||
"mb stack set slave ID failure, eMBEnable() returned (0x%x).", (uint32_t)status);
|
"mb stack set slave ID failure, eMBEnable() returned (0x%" PRIu32 "x).", (uint32_t)status);
|
||||||
// Set the mbcontroller start flag
|
// Set the mbcontroller start flag
|
||||||
EventBits_t flag = xEventGroupSetBits(mbs_opts->mbs_event_group,
|
EventBits_t flag = xEventGroupSetBits(mbs_opts->mbs_event_group,
|
||||||
(EventBits_t)MB_EVENT_STACK_STARTED);
|
(EventBits_t)MB_EVENT_STACK_STARTED);
|
||||||
@ -164,7 +164,7 @@ static esp_err_t mbc_serial_slave_destroy(void)
|
|||||||
(void)vEventGroupDelete(mbs_opts->mbs_event_group);
|
(void)vEventGroupDelete(mbs_opts->mbs_event_group);
|
||||||
mb_error = eMBClose();
|
mb_error = eMBClose();
|
||||||
MB_SLAVE_CHECK((mb_error == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
MB_SLAVE_CHECK((mb_error == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
||||||
"mb stack close failure returned (0x%x).", (uint32_t)mb_error);
|
"mb stack close failure returned (0x%" PRIu32 "x).", (uint32_t)mb_error);
|
||||||
mbs_interface_ptr = NULL;
|
mbs_interface_ptr = NULL;
|
||||||
vMBPortSetMode((UCHAR)MB_PORT_INACTIVE);
|
vMBPortSetMode((UCHAR)MB_PORT_INACTIVE);
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
@ -216,7 +216,7 @@ esp_err_t mbc_serial_slave_create(void** handler, bool start_controller_task)
|
|||||||
if (status != pdPASS) {
|
if (status != pdPASS) {
|
||||||
vTaskDelete(mbs_opts->mbs_task_handle);
|
vTaskDelete(mbs_opts->mbs_task_handle);
|
||||||
MB_SLAVE_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
MB_SLAVE_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
||||||
"mb controller task creation error, xTaskCreate() returns (0x%x).",
|
"mb controller task creation error, xTaskCreate() returns (0x%" PRIu32 "x).",
|
||||||
(uint32_t)status);
|
(uint32_t)status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ static esp_err_t mbc_tcp_master_setup(void* comm_info)
|
|||||||
const mb_communication_info_t* comm_info_ptr = (mb_communication_info_t*)comm_info;
|
const mb_communication_info_t* comm_info_ptr = (mb_communication_info_t*)comm_info;
|
||||||
// Check communication options
|
// Check communication options
|
||||||
MB_MASTER_CHECK((comm_info_ptr->ip_mode == MB_MODE_TCP),
|
MB_MASTER_CHECK((comm_info_ptr->ip_mode == MB_MODE_TCP),
|
||||||
ESP_ERR_INVALID_ARG, "mb incorrect mode = (0x%x).",
|
ESP_ERR_INVALID_ARG, "mb incorrect mode = (0x%" PRIu32 "x).",
|
||||||
(uint32_t)comm_info_ptr->ip_mode);
|
(uint32_t)comm_info_ptr->ip_mode);
|
||||||
MB_MASTER_CHECK((comm_info_ptr->ip_addr != NULL),
|
MB_MASTER_CHECK((comm_info_ptr->ip_addr != NULL),
|
||||||
ESP_ERR_INVALID_ARG, "mb wrong slave ip address table.");
|
ESP_ERR_INVALID_ARG, "mb wrong slave ip address table.");
|
||||||
@ -159,7 +159,7 @@ static esp_err_t mbc_tcp_master_start(void)
|
|||||||
|
|
||||||
status = eMBMasterEnable();
|
status = eMBMasterEnable();
|
||||||
MB_MASTER_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
MB_MASTER_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
||||||
"mb stack set slave ID failure, eMBMasterEnable() returned (0x%x).", (uint32_t)status);
|
"mb stack set slave ID failure, eMBMasterEnable() returned (0x%" PRIu32 "x).", (uint32_t)status);
|
||||||
|
|
||||||
// Add slave IP address for each slave to initialize connection
|
// Add slave IP address for each slave to initialize connection
|
||||||
mb_slave_addr_entry_t *p_slave_info;
|
mb_slave_addr_entry_t *p_slave_info;
|
||||||
@ -200,7 +200,7 @@ static esp_err_t mbc_tcp_master_destroy(void)
|
|||||||
|
|
||||||
mb_error = eMBMasterClose();
|
mb_error = eMBMasterClose();
|
||||||
MB_MASTER_CHECK((mb_error == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
MB_MASTER_CHECK((mb_error == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
||||||
"mb stack close failure returned (0x%x).", (uint32_t)mb_error);
|
"mb stack close failure returned (0x%" PRIu32 "x).", (uint32_t)mb_error);
|
||||||
// Stop polling by clearing correspondent bit in the event group
|
// Stop polling by clearing correspondent bit in the event group
|
||||||
xEventGroupClearBits(mbm_opts->mbm_event_group,
|
xEventGroupClearBits(mbm_opts->mbm_event_group,
|
||||||
(EventBits_t)MB_EVENT_STACK_STARTED);
|
(EventBits_t)MB_EVENT_STACK_STARTED);
|
||||||
@ -792,7 +792,7 @@ esp_err_t mbc_tcp_master_create(void** handler, bool start_controller_task)
|
|||||||
if (status != pdPASS) {
|
if (status != pdPASS) {
|
||||||
vTaskDelete(mbm_opts->mbm_task_handle);
|
vTaskDelete(mbm_opts->mbm_task_handle);
|
||||||
MB_MASTER_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
MB_MASTER_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
||||||
"mb controller task creation error, xTaskCreate() returns (0x%x).",
|
"mb controller task creation error, xTaskCreate() returns (0x%" PRIu32 "x).",
|
||||||
(uint32_t)status);
|
(uint32_t)status);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -82,7 +82,7 @@ static esp_err_t mbc_tcp_slave_start(void)
|
|||||||
|
|
||||||
status = eMBEnable();
|
status = eMBEnable();
|
||||||
MB_SLAVE_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
MB_SLAVE_CHECK((status == MB_ENOERR), ESP_ERR_INVALID_STATE,
|
||||||
"mb TCP stack start failure, eMBEnable() returned (0x%x).", (uint32_t)status);
|
"mb TCP stack start failure, eMBEnable() returned (0x%" PRIu32 "x).", (uint32_t)status);
|
||||||
// Set the mbcontroller start flag
|
// Set the mbcontroller start flag
|
||||||
EventBits_t flag = xEventGroupSetBits(mbs_opts->mbs_event_group,
|
EventBits_t flag = xEventGroupSetBits(mbs_opts->mbs_event_group,
|
||||||
(EventBits_t)MB_EVENT_STACK_STARTED);
|
(EventBits_t)MB_EVENT_STACK_STARTED);
|
||||||
@ -192,7 +192,7 @@ esp_err_t mbc_tcp_slave_create(void** handler, bool start_controller_task)
|
|||||||
if (status != pdPASS) {
|
if (status != pdPASS) {
|
||||||
vTaskDelete(mbs_opts->mbs_task_handle);
|
vTaskDelete(mbs_opts->mbs_task_handle);
|
||||||
MB_SLAVE_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
MB_SLAVE_CHECK((status == pdPASS), ESP_ERR_NO_MEM,
|
||||||
"mb controller task creation error, xTaskCreate() returns (0x%x).",
|
"mb controller task creation error, xTaskCreate() returns (0x%" PRIu32 "x).",
|
||||||
(uint32_t)status);
|
(uint32_t)status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user