diff --git a/components/mqtt/CMakeLists.txt b/components/mqtt/CMakeLists.txt index 29aa3497d59..7eeb3358f91 100644 --- a/components/mqtt/CMakeLists.txt +++ b/components/mqtt/CMakeLists.txt @@ -8,6 +8,6 @@ idf_component_register(SRCS "${srcs}" INCLUDE_DIRS esp-mqtt/include PRIV_INCLUDE_DIRS "esp-mqtt/lib/include" REQUIRES esp_event tcp_transport - PRIV_REQUIRES esp_timer http_parser esp_hw_support + PRIV_REQUIRES esp_timer http_parser esp_hw_support heap ) target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format") diff --git a/components/mqtt/Kconfig b/components/mqtt/Kconfig index 4db6e156a11..113bac71d9b 100644 --- a/components/mqtt/Kconfig +++ b/components/mqtt/Kconfig @@ -124,6 +124,13 @@ menu "ESP-MQTT Configurations" help MQTT task priority. Higher number denotes higher priority. + config MQTT_EVENT_QUEUE_SIZE + int "Number of queued events." + default 1 + depends on MQTT_USE_CUSTOM_CONFIG + help + A value higher than 1 enables multiple queued events. + config MQTT_TASK_CORE_SELECTION_ENABLED bool "Enable MQTT task core selection" help diff --git a/components/mqtt/esp-mqtt b/components/mqtt/esp-mqtt index ae53d799da2..fde00340f19 160000 --- a/components/mqtt/esp-mqtt +++ b/components/mqtt/esp-mqtt @@ -1 +1 @@ -Subproject commit ae53d799da294f03ef65c33e88fa33648e638134 +Subproject commit fde00340f19b9f5ae81fff02ccfa9926f0e33687 diff --git a/components/mqtt/host_test/CMakeLists.txt b/components/mqtt/host_test/CMakeLists.txt index d1c1ac6ab89..db98733ea62 100644 --- a/components/mqtt/host_test/CMakeLists.txt +++ b/components/mqtt/host_test/CMakeLists.txt @@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(COMPONENTS main) list(APPEND EXTRA_COMPONENT_DIRS + "mocks/heap/" "$ENV{IDF_PATH}/tools/mocks/esp_hw_support/" "$ENV{IDF_PATH}/tools/mocks/freertos/" "$ENV{IDF_PATH}/tools/mocks/esp_timer/" diff --git a/components/mqtt/host_test/mocks/heap/CMakeLists.txt b/components/mqtt/host_test/mocks/heap/CMakeLists.txt new file mode 100644 index 00000000000..0a0c8a6341c --- /dev/null +++ b/components/mqtt/host_test/mocks/heap/CMakeLists.txt @@ -0,0 +1,4 @@ +idf_component_get_property(original_heap_dir heap COMPONENT_OVERRIDEN_DIR) + +idf_component_register(SRCS heap_mock.c + INCLUDE_DIRS "${original_heap_dir}/include") diff --git a/components/mqtt/host_test/mocks/heap/heap_mock.c b/components/mqtt/host_test/mocks/heap/heap_mock.c new file mode 100644 index 00000000000..e0fc666ba0a --- /dev/null +++ b/components/mqtt/host_test/mocks/heap/heap_mock.c @@ -0,0 +1,16 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +#include "esp_heap_caps.h" +#include +#include + + + +void *heap_caps_calloc(size_t n, size_t size, uint32_t caps) { + (void)caps; + return calloc(n, size); + +}