diff --git a/.github/workflows/build_and_run_example_test_mdns.yml b/.github/workflows/build_and_run_example_test_mdns.yml new file mode 100644 index 000000000..de4aac90e --- /dev/null +++ b/.github/workflows/build_and_run_example_test_mdns.yml @@ -0,0 +1,35 @@ +name: Build mDNS + +on: [push, pull_request] + +jobs: + build: + strategy: + matrix: + idf_ver: ["latest"] + idf_target: ["esp32", "esp32s2", "esp32c3"] + + runs-on: ubuntu-20.04 + container: espressif/idf:${{ matrix.idf_ver }} + steps: + - name: Checkout esp-protocols + uses: actions/checkout@master + with: + path: esp-protocols + - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }} + env: + IDF_TARGET: ${{ matrix.idf_target }} + shell: bash + run: | + . ${IDF_PATH}/export.sh + cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/examples/ + cat sdkconfig.ci.eth_def >> sdkconfig.defaults + idf.py build + rm sdkconfig.defaults + cat sdkconfig.ci.eth_custom_netif >> sdkconfig.defaults + idf.py build + rm sdkconfig.defaults + cat sdkconfig.ci.eth_socket >> sdkconfig.defaults + idf.py build + cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/test_apps/ + idf.py build diff --git a/.github/workflows/publish-docs-component.yml b/.github/workflows/publish-docs-component.yml index 08b330994..fbc674a2d 100644 --- a/.github/workflows/publish-docs-component.yml +++ b/.github/workflows/publish-docs-component.yml @@ -21,25 +21,36 @@ jobs: run: | sudo apt-get update sudo apt-get -y install doxygen clang python3-pip - python -m pip install breathe recommonmark esp-docs==0.2.1 + python -m pip install breathe recommonmark esp-docs cd $GITHUB_WORKSPACE/components/esp_modem/docs ./generate_docs mkdir -p $GITHUB_WORKSPACE/docs/esp_modem cp -r html/. $GITHUB_WORKSPACE/docs/esp_modem + cd $GITHUB_WORKSPACE/components/esp_websocket_client/docs ./generate_docs mkdir -p $GITHUB_WORKSPACE/docs/esp_websocket_client cp -r html/. $GITHUB_WORKSPACE/docs/esp_websocket_client + + cd $GITHUB_WORKSPACE/components/mdns/docs + ./generate_docs + mkdir -p $GITHUB_WORKSPACE/docs/mdns/en + mkdir -p $GITHUB_WORKSPACE/docs/mdns/zh_CN + cp -r html_en/. $GITHUB_WORKSPACE/docs/mdns/en + cp -r html_zh_CN/. $GITHUB_WORKSPACE/docs/mdns/zh_CN + cd $GITHUB_WORKSPACE/docs touch .nojekyll - echo 'esp-modem' > index.html - echo 'esp-websocket-client' >> index.html + echo 'esp-modem
' > index.html + echo 'esp-websocket-client
' >> index.html + echo 'mDNS_en
' >> index.html + echo 'mDNS_zh_CN
' >> index.html - name: Upload components to component service uses: espressif/github-actions/upload_components@master with: - directories: "components/esp_modem;components/esp_websocket_client" + directories: "components/esp_modem;components/esp_websocket_client;components/mdns" namespace: "espressif" api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }} diff --git a/.github/workflows/test_afl_fuzzer.yml b/.github/workflows/test_afl_fuzzer.yml new file mode 100644 index 000000000..a82e0096a --- /dev/null +++ b/.github/workflows/test_afl_fuzzer.yml @@ -0,0 +1,30 @@ +name: AFL fuzzer compilation test + +on: [push, pull_request] + +jobs: + build: + strategy: + matrix: + idf_ver: ["latest"] + idf_target: ["esp32"] + + runs-on: ubuntu-20.04 + container: espressif/idf:${{ matrix.idf_ver }} + steps: + - name: Checkout esp-protocols + uses: actions/checkout@master + with: + path: esp-protocols + - name: Install Necessary Libs + run: | + apt-get update -y + apt-get install -y libbsd-dev + - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }} + env: + IDF_TARGET: ${{ matrix.idf_target }} + shell: bash + run: | + . ${IDF_PATH}/export.sh + cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/test_afl_fuzz_host/ + make INSTR=off diff --git a/README.md b/README.md index 366e078c9..f1952a9e6 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,11 @@ * Brief introduction [README](components/esp_modem/README.md) * Full html [documentation](https://espressif.github.io/esp-protocols/esp_modem/index.html) +### mDNS + +* Brief introduction [README](components/mdns/README.md) +* Full html [documentation](https://espressif.github.io/esp-protocols/mdns/index.html) + ### esp_websocket_client * Brief introduction [README](components/esp_websocket_client/README.md) diff --git a/examples/common_components/protocol_examples_common/CMakeLists.txt b/common_components/protocol_examples_common/CMakeLists.txt similarity index 100% rename from examples/common_components/protocol_examples_common/CMakeLists.txt rename to common_components/protocol_examples_common/CMakeLists.txt diff --git a/examples/common_components/protocol_examples_common/Kconfig.projbuild b/common_components/protocol_examples_common/Kconfig.projbuild similarity index 100% rename from examples/common_components/protocol_examples_common/Kconfig.projbuild rename to common_components/protocol_examples_common/Kconfig.projbuild diff --git a/examples/common_components/protocol_examples_common/addr_from_stdin.c b/common_components/protocol_examples_common/addr_from_stdin.c similarity index 100% rename from examples/common_components/protocol_examples_common/addr_from_stdin.c rename to common_components/protocol_examples_common/addr_from_stdin.c diff --git a/examples/common_components/protocol_examples_common/connect.c b/common_components/protocol_examples_common/connect.c similarity index 100% rename from examples/common_components/protocol_examples_common/connect.c rename to common_components/protocol_examples_common/connect.c diff --git a/examples/common_components/protocol_examples_common/include/addr_from_stdin.h b/common_components/protocol_examples_common/include/addr_from_stdin.h similarity index 100% rename from examples/common_components/protocol_examples_common/include/addr_from_stdin.h rename to common_components/protocol_examples_common/include/addr_from_stdin.h diff --git a/examples/common_components/protocol_examples_common/include/protocol_examples_common.h b/common_components/protocol_examples_common/include/protocol_examples_common.h similarity index 100% rename from examples/common_components/protocol_examples_common/include/protocol_examples_common.h rename to common_components/protocol_examples_common/include/protocol_examples_common.h diff --git a/examples/common_components/protocol_examples_common/stdin_out.c b/common_components/protocol_examples_common/stdin_out.c similarity index 100% rename from examples/common_components/protocol_examples_common/stdin_out.c rename to common_components/protocol_examples_common/stdin_out.c diff --git a/components/mdns/README.md b/components/mdns/README.md new file mode 100644 index 000000000..dd8678527 --- /dev/null +++ b/components/mdns/README.md @@ -0,0 +1,11 @@ +# mDNS Service + +mDNS is a multicast UDP service that is used to provide local network service and host discovery. + +## Examples + +Get started with example test [Example](examples/README.md): + +## Documentation + +* View the full [html documentation](https://espressif.github.io/esp-protocols/mdns/index.html) diff --git a/components/mdns/docs/Doxyfile b/components/mdns/docs/Doxyfile new file mode 100755 index 000000000..4c6b12bcc --- /dev/null +++ b/components/mdns/docs/Doxyfile @@ -0,0 +1,75 @@ +# This is Doxygen configuration file +# +# Doxygen provides over 260 configuration statements +# To make this file easier to follow, +# it contains only statements that are non-default +# +# NOTE: +# It is recommended not to change defaults unless specifically required +# Test any changes how they affect generated documentation +# Make sure that correct warnings are generated to flag issues with documented code +# +# For the complete list of configuration statements see: +# http://doxygen.nl/manual/config.html + + +PROJECT_NAME = "ESP Protocols Programming Guide" + +## The 'INPUT' statement below is used as input by script 'gen-df-input.py' +## to automatically generate API reference list files heder_file.inc +## These files are placed in '_inc' directory +## and used to include in API reference documentation + +INPUT = \ + $(PROJECT_PATH)/include/mdns.h + +## Get warnings for functions that have no documentation for their parameters or return value +## +WARN_NO_PARAMDOC = YES + +## Enable preprocessing and remove __attribute__(...) expressions from the INPUT files +## +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +PREDEFINED = \ + $(ENV_DOXYGEN_DEFINES) \ + __DOXYGEN__=1 \ + __attribute__(x)= \ + _Static_assert()= \ + IDF_DEPRECATED(X)= \ + IRAM_ATTR= \ + configSUPPORT_DYNAMIC_ALLOCATION=1 \ + configSUPPORT_STATIC_ALLOCATION=1 \ + configQUEUE_REGISTRY_SIZE=1 \ + configUSE_RECURSIVE_MUTEXES=1 \ + configTHREAD_LOCAL_STORAGE_DELETE_CALLBACKS=1 \ + configNUM_THREAD_LOCAL_STORAGE_POINTERS=1 \ + configUSE_APPLICATION_TASK_TAG=1 \ + configTASKLIST_INCLUDE_COREID=1 \ + "ESP_EVENT_DECLARE_BASE(x)=extern esp_event_base_t x" + +## Do not complain about not having dot +## +HAVE_DOT = NO + +## Generate XML that is required for Breathe +## +GENERATE_XML = YES +XML_OUTPUT = xml + +GENERATE_HTML = NO +HAVE_DOT = NO +GENERATE_LATEX = NO +GENERATE_MAN = YES +GENERATE_RTF = NO + +## Skip distracting progress messages +## +QUIET = YES + +## Enable Section Tags for conditional documentation +## +ENABLED_SECTIONS += \ + DOC_EXCLUDE_HEADER_SECTION \ ## To conditionally remove doc sections from IDF source files without affecting documentation in upstream files. + DOC_SINGLE_GROUP ## To conditionally remove groups from the documentation and create a 'flat' document without affecting documentation in upstream files. diff --git a/components/mdns/docs/conf_common.py b/components/mdns/docs/conf_common.py new file mode 100644 index 000000000..10d1e997e --- /dev/null +++ b/components/mdns/docs/conf_common.py @@ -0,0 +1,21 @@ +from esp_docs.conf_docs import * # noqa: F403,F401 + +extensions += ['sphinx_copybutton', + # Needed as a trigger for running doxygen + 'esp_docs.esp_extensions.dummy_build_system', + 'esp_docs.esp_extensions.run_doxygen', + ] + +# link roles config +github_repo = 'espressif/esp-protocols' + +# context used by sphinx_idf_theme +html_context['github_user'] = 'espressif' +html_context['github_repo'] = 'esp-protocols' + +# Extra options required by sphinx_idf_theme +project_slug = 'esp-idf' # >=5.0 +versions_url = 'https://github.com/espressif/esp-protocols/docs/docs_versions.js' + +idf_targets = ['esp32'] +languages = ['en', 'zh_CN'] diff --git a/components/mdns/docs/en/conf.py b/components/mdns/docs/en/conf.py new file mode 100644 index 000000000..bba642268 --- /dev/null +++ b/components/mdns/docs/en/conf.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# +# English Language RTD & Sphinx config file +# +# Uses ../conf_common.py for most non-language-specific settings. + +# Importing conf_common adds all the non-language-specific +# parts to this conf module + +try: + from conf_common import * # noqa: F403,F401 +except ImportError: + import os + import sys + sys.path.insert(0, os.path.abspath('../')) + from conf_common import * # noqa: F403,F401 + +# General information about the project. +project = u'ESP-Protocols' +copyright = u'2016 - 2022, Espressif Systems (Shanghai) Co., Ltd' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +language = 'en' diff --git a/docs/en/api-reference/protocols/mdns.rst b/components/mdns/docs/en/index.rst similarity index 87% rename from docs/en/api-reference/protocols/mdns.rst rename to components/mdns/docs/en/index.rst index 00c8b37de..007d1bd9d 100644 --- a/docs/en/api-reference/protocols/mdns.rst +++ b/components/mdns/docs/en/index.rst @@ -7,7 +7,7 @@ Overview mDNS is a multicast UDP service that is used to provide local network service and host discovery. -mDNS is installed by default on most operating systems or is available as separate package. On ``Mac OS`` it is installed by default and is called ``Bonjour``. Apple releases an installer for ``Windows`` that can be found `on Apple's support page `_. On ``Linux``, mDNS is provided by `avahi `_ and is usually installed by default. +mDNS is installed by default on most operating systems or is available as separate package. On ``Mac OS`` it is installed by default and is called ``Bonjour``. Apple releases an installer for ``Windows`` that can be found `on Apple's support page `_. On ``Linux``, mDNS is provided by `avahi `_ and is usually installed by default. mDNS Properties ^^^^^^^^^^^^^^^ @@ -176,10 +176,26 @@ Example of using the methods above:: find_mdns_service("_ipp", "_tcp"); } + +Performance Optimization +^^^^^^^^^^^^^^^^^^^^^^^^ + +Execution Speed +^^^^^^^^^^^^^^^ + + - mDNS creates a task with default low priority 1 ``CONFIG_MDNS_TASK_PRIORITY`` (If ``CONFIG_FREERTOS_UNICORE`` enabeled it pinned to CPU0 (``CONFIG_MDNS_TASK_AFFINITY``). + Please check `Maximizing Execution Speed `_ for more details. + +Minimizing RAM Usage +^^^^^^^^^^^^^^^^^^^^ + +- mDNS creates a tasks with stack sizes configured by ``CONFIG_MDNS_TASK_STACK_SIZE``. +Please check `Minimizing RAM Usage `_ for more details. + Application Example ------------------- -mDNS server/scanner example: :example:`protocols/mdns`. +mDNS server/scanner example: :example:`<../examples>`. API Reference ------------- diff --git a/components/mdns/docs/generate_docs b/components/mdns/docs/generate_docs new file mode 100755 index 000000000..d822222b5 --- /dev/null +++ b/components/mdns/docs/generate_docs @@ -0,0 +1,28 @@ +build-docs --target esp32 --language en +build-docs --target esp32 --language zh_CN + +cp -rf _build/en/esp32/html html_en +cp -rf _build/zh_CN/esp32/html html_zh_CN +rm -rf _build __pycache__ tee + +# Modifes some version and target fields of index.html +echo "" | tee -a html_en/index.html html_zh_CN/index.html > /dev/null diff --git a/components/mdns/docs/zh_CN/conf.py b/components/mdns/docs/zh_CN/conf.py new file mode 100644 index 000000000..cc6fbc271 --- /dev/null +++ b/components/mdns/docs/zh_CN/conf.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# +# English Language RTD & Sphinx config file +# +# Uses ../conf_common.py for most non-language-specific settings. + +# Importing conf_common adds all the non-language-specific +# parts to this conf module +try: + from conf_common import * # noqa: F403,F401 +except ImportError: + import os + import sys + sys.path.insert(0, os.path.abspath('..')) + from conf_common import * # noqa: F403,F401 + +import datetime + +current_year = datetime.datetime.now().year + +# General information about the project. +project = u'ESP-IDF 编程指南' +copyright = u'2016 - {} 乐鑫信息科技(上海)股份有限公司'.format(current_year) + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +language = 'zh_CN' diff --git a/docs/zh_CN/api-reference/protocols/mdns.rst b/components/mdns/docs/zh_CN/index.rst similarity index 96% rename from docs/zh_CN/api-reference/protocols/mdns.rst rename to components/mdns/docs/zh_CN/index.rst index 08b3b373d..68befb637 100644 --- a/docs/zh_CN/api-reference/protocols/mdns.rst +++ b/components/mdns/docs/zh_CN/index.rst @@ -7,7 +7,7 @@ mDNS 服务 mDNS 是一种组播 UDP 服务,用来提供本地网络服务和主机发现。 -绝大多数的操作系统默认都会安装 mDNS 服务,或者提供单独的安装包。``Mac OS`` 默认会安装名为 ``Bonjour`` 的服务(该服务基于 mDNS),此外 Apple 还发布了适用于 Windows 系统的安装程序,可以在 `官方支持 `_ 找到。在 ``Linux`` 上,mDNS 服务由 `avahi `_ 提供,通常也会被默认安装。 +绝大多数的操作系统默认都会安装 mDNS 服务,或者提供单独的安装包。``Mac OS`` 默认会安装名为 ``Bonjour`` 的服务(该服务基于 mDNS),此外 Apple 还发布了适用于 Windows 系统的安装程序,可以在 `官方支持 `_ 找到。在 ``Linux`` 上,mDNS 服务由 `avahi `_ 提供,通常也会被默认安装。 mDNS 属性 ^^^^^^^^^ @@ -179,7 +179,7 @@ mDNS 提供查询服务和解析主机 IP/IPv6 地址的方法。 应用示例 -------- -有关 mDNS 服务器和查询器的应用示例请参考 :example:`protocols/mdns`。 +有关 mDNS 服务器和查询器的应用示例请参考 :example:`<../examples>`。 API 参考 -------- diff --git a/examples/protocols/mdns/CMakeLists.txt b/components/mdns/examples/CMakeLists.txt similarity index 72% rename from examples/protocols/mdns/CMakeLists.txt rename to components/mdns/examples/CMakeLists.txt index e624184a2..9461155a1 100644 --- a/examples/protocols/mdns/CMakeLists.txt +++ b/components/mdns/examples/CMakeLists.txt @@ -2,9 +2,9 @@ # in this exact order for cmake to work correctly cmake_minimum_required(VERSION 3.5) -# (Not part of the boilerplate) +set(EXTRA_COMPONENT_DIRS "../..") # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +list(APPEND EXTRA_COMPONENT_DIRS "../../../common_components/protocol_examples_common") include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(mdns_test) diff --git a/examples/protocols/mdns/README.md b/components/mdns/examples/README.md similarity index 95% rename from examples/protocols/mdns/README.md rename to components/mdns/examples/README.md index b66cebc57..04047a6f7 100644 --- a/examples/protocols/mdns/README.md +++ b/components/mdns/examples/README.md @@ -15,7 +15,7 @@ Shows how to use mDNS to advertise lookup services and hosts * Open the project configuration menu (`idf.py menuconfig`) -* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu. See "Establishing Wi-Fi or Ethernet Connection" section in [examples/protocols/README.md](../README.md) for more details. +* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu * Set `mDNS Hostname` as host name prefix for the device and its instance name in `mDNS Instance Name` * Disable `Resolve test services` to prevent the example from querying defined names/services on startup (cause warnings in example logs, as illustrated below) @@ -89,5 +89,3 @@ I (29396) mdns-test: Query PTR: _printer._tcp.local 2: Interface: STA, Type: V4 PTR : HP Color LaserJet MFP M277dw (7C2E10) ``` - -See the README.md file in the upper level 'examples' directory for more information about examples. diff --git a/examples/protocols/mdns/main/CMakeLists.txt b/components/mdns/examples/main/CMakeLists.txt similarity index 100% rename from examples/protocols/mdns/main/CMakeLists.txt rename to components/mdns/examples/main/CMakeLists.txt diff --git a/examples/protocols/mdns/main/Kconfig.projbuild b/components/mdns/examples/main/Kconfig.projbuild similarity index 100% rename from examples/protocols/mdns/main/Kconfig.projbuild rename to components/mdns/examples/main/Kconfig.projbuild diff --git a/examples/protocols/mdns/main/mdns_example_main.c b/components/mdns/examples/main/mdns_example_main.c similarity index 100% rename from examples/protocols/mdns/main/mdns_example_main.c rename to components/mdns/examples/main/mdns_example_main.c diff --git a/examples/protocols/mdns/mdns_example_test.py b/components/mdns/examples/mdns_example_test.py similarity index 100% rename from examples/protocols/mdns/mdns_example_test.py rename to components/mdns/examples/mdns_example_test.py diff --git a/examples/protocols/mdns/sdkconfig.ci.eth_custom_netif b/components/mdns/examples/sdkconfig.ci.eth_custom_netif similarity index 100% rename from examples/protocols/mdns/sdkconfig.ci.eth_custom_netif rename to components/mdns/examples/sdkconfig.ci.eth_custom_netif diff --git a/examples/protocols/mdns/sdkconfig.ci.eth_def b/components/mdns/examples/sdkconfig.ci.eth_def similarity index 100% rename from examples/protocols/mdns/sdkconfig.ci.eth_def rename to components/mdns/examples/sdkconfig.ci.eth_def diff --git a/examples/protocols/mdns/sdkconfig.ci.eth_socket b/components/mdns/examples/sdkconfig.ci.eth_socket similarity index 100% rename from examples/protocols/mdns/sdkconfig.ci.eth_socket rename to components/mdns/examples/sdkconfig.ci.eth_socket diff --git a/components/mdns/host_test/CMakeLists.txt b/components/mdns/tests/host_test/CMakeLists.txt similarity index 100% rename from components/mdns/host_test/CMakeLists.txt rename to components/mdns/tests/host_test/CMakeLists.txt diff --git a/components/mdns/host_test/README.md b/components/mdns/tests/host_test/README.md similarity index 100% rename from components/mdns/host_test/README.md rename to components/mdns/tests/host_test/README.md diff --git a/components/mdns/host_test/components/esp_event_mock/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_event_mock/CMakeLists.txt similarity index 100% rename from components/mdns/host_test/components/esp_event_mock/CMakeLists.txt rename to components/mdns/tests/host_test/components/esp_event_mock/CMakeLists.txt diff --git a/components/mdns/host_test/components/esp_event_mock/esp_event_mock.c b/components/mdns/tests/host_test/components/esp_event_mock/esp_event_mock.c similarity index 100% rename from components/mdns/host_test/components/esp_event_mock/esp_event_mock.c rename to components/mdns/tests/host_test/components/esp_event_mock/esp_event_mock.c diff --git a/components/mdns/host_test/components/esp_event_mock/include/esp_event.h b/components/mdns/tests/host_test/components/esp_event_mock/include/esp_event.h similarity index 100% rename from components/mdns/host_test/components/esp_event_mock/include/esp_event.h rename to components/mdns/tests/host_test/components/esp_event_mock/include/esp_event.h diff --git a/components/mdns/host_test/components/esp_event_mock/include/esp_event_base.h b/components/mdns/tests/host_test/components/esp_event_mock/include/esp_event_base.h similarity index 100% rename from components/mdns/host_test/components/esp_event_mock/include/esp_event_base.h rename to components/mdns/tests/host_test/components/esp_event_mock/include/esp_event_base.h diff --git a/components/mdns/host_test/components/esp_netif_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_netif_linux/CMakeLists.txt similarity index 100% rename from components/mdns/host_test/components/esp_netif_linux/CMakeLists.txt rename to components/mdns/tests/host_test/components/esp_netif_linux/CMakeLists.txt diff --git a/components/mdns/host_test/components/esp_netif_linux/Kconfig b/components/mdns/tests/host_test/components/esp_netif_linux/Kconfig similarity index 100% rename from components/mdns/host_test/components/esp_netif_linux/Kconfig rename to components/mdns/tests/host_test/components/esp_netif_linux/Kconfig diff --git a/components/mdns/host_test/components/esp_netif_linux/esp_netif_linux.c b/components/mdns/tests/host_test/components/esp_netif_linux/esp_netif_linux.c similarity index 100% rename from components/mdns/host_test/components/esp_netif_linux/esp_netif_linux.c rename to components/mdns/tests/host_test/components/esp_netif_linux/esp_netif_linux.c diff --git a/components/mdns/host_test/components/esp_netif_linux/include/esp_wifi_types.h b/components/mdns/tests/host_test/components/esp_netif_linux/include/esp_wifi_types.h similarity index 100% rename from components/mdns/host_test/components/esp_netif_linux/include/esp_wifi_types.h rename to components/mdns/tests/host_test/components/esp_netif_linux/include/esp_wifi_types.h diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_system_protocols_linux/CMakeLists.txt similarity index 100% rename from components/mdns/host_test/components/esp_system_protocols_linux/CMakeLists.txt rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/CMakeLists.txt diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/esp_log_impl.c b/components/mdns/tests/host_test/components/esp_system_protocols_linux/esp_log_impl.c similarity index 100% rename from components/mdns/host_test/components/esp_system_protocols_linux/esp_log_impl.c rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/esp_log_impl.c diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/include/bsd_strings.h b/components/mdns/tests/host_test/components/esp_system_protocols_linux/include/bsd_strings.h similarity index 100% rename from components/mdns/host_test/components/esp_system_protocols_linux/include/bsd_strings.h rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/include/bsd_strings.h diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/include/machine/endian.h b/components/mdns/tests/host_test/components/esp_system_protocols_linux/include/machine/endian.h similarity index 100% rename from components/mdns/host_test/components/esp_system_protocols_linux/include/machine/endian.h rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/include/machine/endian.h diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/strlcat.c b/components/mdns/tests/host_test/components/esp_system_protocols_linux/strlcat.c similarity index 100% rename from components/mdns/host_test/components/esp_system_protocols_linux/strlcat.c rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/strlcat.c diff --git a/components/mdns/host_test/components/esp_timer_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_timer_linux/CMakeLists.txt similarity index 100% rename from components/mdns/host_test/components/esp_timer_linux/CMakeLists.txt rename to components/mdns/tests/host_test/components/esp_timer_linux/CMakeLists.txt diff --git a/components/mdns/host_test/components/esp_timer_linux/esp_timer_linux.c b/components/mdns/tests/host_test/components/esp_timer_linux/esp_timer_linux.c similarity index 100% rename from components/mdns/host_test/components/esp_timer_linux/esp_timer_linux.c rename to components/mdns/tests/host_test/components/esp_timer_linux/esp_timer_linux.c diff --git a/components/mdns/host_test/components/esp_timer_linux/include/esp_timer.h b/components/mdns/tests/host_test/components/esp_timer_linux/include/esp_timer.h similarity index 100% rename from components/mdns/host_test/components/esp_timer_linux/include/esp_timer.h rename to components/mdns/tests/host_test/components/esp_timer_linux/include/esp_timer.h diff --git a/components/mdns/host_test/components/esp_timer_linux/timer_task.cpp b/components/mdns/tests/host_test/components/esp_timer_linux/timer_task.cpp similarity index 100% rename from components/mdns/host_test/components/esp_timer_linux/timer_task.cpp rename to components/mdns/tests/host_test/components/esp_timer_linux/timer_task.cpp diff --git a/components/mdns/host_test/components/esp_timer_linux/timer_task.hpp b/components/mdns/tests/host_test/components/esp_timer_linux/timer_task.hpp similarity index 100% rename from components/mdns/host_test/components/esp_timer_linux/timer_task.hpp rename to components/mdns/tests/host_test/components/esp_timer_linux/timer_task.hpp diff --git a/components/mdns/host_test/components/freertos_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/freertos_linux/CMakeLists.txt similarity index 100% rename from components/mdns/host_test/components/freertos_linux/CMakeLists.txt rename to components/mdns/tests/host_test/components/freertos_linux/CMakeLists.txt diff --git a/components/mdns/host_test/components/freertos_linux/Kconfig b/components/mdns/tests/host_test/components/freertos_linux/Kconfig similarity index 100% rename from components/mdns/host_test/components/freertos_linux/Kconfig rename to components/mdns/tests/host_test/components/freertos_linux/Kconfig diff --git a/components/mdns/host_test/components/freertos_linux/freertos_linux.c b/components/mdns/tests/host_test/components/freertos_linux/freertos_linux.c similarity index 100% rename from components/mdns/host_test/components/freertos_linux/freertos_linux.c rename to components/mdns/tests/host_test/components/freertos_linux/freertos_linux.c diff --git a/components/mdns/host_test/components/freertos_linux/include/esp_task.h b/components/mdns/tests/host_test/components/freertos_linux/include/esp_task.h similarity index 100% rename from components/mdns/host_test/components/freertos_linux/include/esp_task.h rename to components/mdns/tests/host_test/components/freertos_linux/include/esp_task.h diff --git a/components/mdns/host_test/components/freertos_linux/include/freertos/FreeRTOS.h b/components/mdns/tests/host_test/components/freertos_linux/include/freertos/FreeRTOS.h similarity index 100% rename from components/mdns/host_test/components/freertos_linux/include/freertos/FreeRTOS.h rename to components/mdns/tests/host_test/components/freertos_linux/include/freertos/FreeRTOS.h diff --git a/components/mdns/host_test/components/freertos_linux/include/freertos/task.h b/components/mdns/tests/host_test/components/freertos_linux/include/freertos/task.h similarity index 100% rename from components/mdns/host_test/components/freertos_linux/include/freertos/task.h rename to components/mdns/tests/host_test/components/freertos_linux/include/freertos/task.h diff --git a/components/mdns/host_test/components/freertos_linux/queue_unique_ptr.cpp b/components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.cpp similarity index 100% rename from components/mdns/host_test/components/freertos_linux/queue_unique_ptr.cpp rename to components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.cpp diff --git a/components/mdns/host_test/components/freertos_linux/queue_unique_ptr.hpp b/components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.hpp similarity index 100% rename from components/mdns/host_test/components/freertos_linux/queue_unique_ptr.hpp rename to components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.hpp diff --git a/components/mdns/host_test/main/CMakeLists.txt b/components/mdns/tests/host_test/main/CMakeLists.txt similarity index 100% rename from components/mdns/host_test/main/CMakeLists.txt rename to components/mdns/tests/host_test/main/CMakeLists.txt diff --git a/components/mdns/host_test/main/main.c b/components/mdns/tests/host_test/main/main.c similarity index 100% rename from components/mdns/host_test/main/main.c rename to components/mdns/tests/host_test/main/main.c diff --git a/components/mdns/test_afl_fuzz_host/CMakeLists.txt b/components/mdns/tests/test_afl_fuzz_host/CMakeLists.txt similarity index 100% rename from components/mdns/test_afl_fuzz_host/CMakeLists.txt rename to components/mdns/tests/test_afl_fuzz_host/CMakeLists.txt diff --git a/components/mdns/test_afl_fuzz_host/Makefile b/components/mdns/tests/test_afl_fuzz_host/Makefile similarity index 95% rename from components/mdns/test_afl_fuzz_host/Makefile rename to components/mdns/tests/test_afl_fuzz_host/Makefile index af58a3c05..313b21ac5 100644 --- a/components/mdns/test_afl_fuzz_host/Makefile +++ b/components/mdns/tests/test_afl_fuzz_host/Makefile @@ -1,10 +1,10 @@ TEST_NAME=test FUZZ=afl-fuzz -COMPONENTS_DIR=../.. +COMPONENTS_DIR=$(IDF_PATH)/components COMPILER_ICLUDE_DIR=$(shell echo `which xtensa-esp32-elf-gcc | xargs dirname | xargs dirname`/xtensa-esp32-elf) CFLAGS=-g -Wno-unused-value -Wno-missing-declarations -Wno-pointer-bool-conversion -Wno-macro-redefined -Wno-int-to-void-pointer-cast -DHOOK_MALLOC_FAILED -DESP_EVENT_H_ -D__ESP_LOG_H__ \ - -I. -I.. -I../include -I../private_include -I ./build/config \ + -I. -I../.. -I../../include -I../../private_include -I ./build/config \ -I$(COMPONENTS_DIR) \ -I$(COMPONENTS_DIR)/driver/include \ -I$(COMPONENTS_DIR)/esp_common/include \ @@ -68,7 +68,7 @@ all: $(TEST_NAME) @echo "[CC] $<" @$(CC) $(CFLAGS) -c $< -o $@ -mdns.o: ../mdns.c +mdns.o: ../../mdns.c @echo "[CC] $<" @$(CC) $(CFLAGS) -include mdns_mock.h $(MDNS_C_DEPENDENCY_INJECTION) -c $< -o $@ diff --git a/components/mdns/test_afl_fuzz_host/README.md b/components/mdns/tests/test_afl_fuzz_host/README.md similarity index 100% rename from components/mdns/test_afl_fuzz_host/README.md rename to components/mdns/tests/test_afl_fuzz_host/README.md diff --git a/components/mdns/test_afl_fuzz_host/esp32_mock.c b/components/mdns/tests/test_afl_fuzz_host/esp32_mock.c similarity index 100% rename from components/mdns/test_afl_fuzz_host/esp32_mock.c rename to components/mdns/tests/test_afl_fuzz_host/esp32_mock.c diff --git a/components/mdns/test_afl_fuzz_host/esp32_mock.h b/components/mdns/tests/test_afl_fuzz_host/esp32_mock.h similarity index 100% rename from components/mdns/test_afl_fuzz_host/esp32_mock.h rename to components/mdns/tests/test_afl_fuzz_host/esp32_mock.h diff --git a/components/mdns/test_afl_fuzz_host/esp_attr.h b/components/mdns/tests/test_afl_fuzz_host/esp_attr.h similarity index 100% rename from components/mdns/test_afl_fuzz_host/esp_attr.h rename to components/mdns/tests/test_afl_fuzz_host/esp_attr.h diff --git a/components/mdns/test_afl_fuzz_host/esp_netif_mock.c b/components/mdns/tests/test_afl_fuzz_host/esp_netif_mock.c similarity index 100% rename from components/mdns/test_afl_fuzz_host/esp_netif_mock.c rename to components/mdns/tests/test_afl_fuzz_host/esp_netif_mock.c diff --git a/components/mdns/test_afl_fuzz_host/in/file2.bin b/components/mdns/tests/test_afl_fuzz_host/in/file2.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/file2.bin rename to components/mdns/tests/test_afl_fuzz_host/in/file2.bin diff --git a/components/mdns/test_afl_fuzz_host/in/minif_4a_txt.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_4a_txt.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/minif_4a_txt.bin rename to components/mdns/tests/test_afl_fuzz_host/in/minif_4a_txt.bin diff --git a/components/mdns/test_afl_fuzz_host/in/minif_aaaa.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_aaaa.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/minif_aaaa.bin rename to components/mdns/tests/test_afl_fuzz_host/in/minif_aaaa.bin diff --git a/components/mdns/test_afl_fuzz_host/in/minif_any.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_any.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/minif_any.bin rename to components/mdns/tests/test_afl_fuzz_host/in/minif_any.bin diff --git a/components/mdns/test_afl_fuzz_host/in/minif_disc.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_disc.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/minif_disc.bin rename to components/mdns/tests/test_afl_fuzz_host/in/minif_disc.bin diff --git a/components/mdns/test_afl_fuzz_host/in/minif_ptr.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_ptr.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/minif_ptr.bin rename to components/mdns/tests/test_afl_fuzz_host/in/minif_ptr.bin diff --git a/components/mdns/test_afl_fuzz_host/in/minif_query.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_query.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/minif_query.bin rename to components/mdns/tests/test_afl_fuzz_host/in/minif_query.bin diff --git a/components/mdns/test_afl_fuzz_host/in/minif_query2.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_query2.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/minif_query2.bin rename to components/mdns/tests/test_afl_fuzz_host/in/minif_query2.bin diff --git a/components/mdns/test_afl_fuzz_host/in/sub_fritz_m.bin b/components/mdns/tests/test_afl_fuzz_host/in/sub_fritz_m.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/sub_fritz_m.bin rename to components/mdns/tests/test_afl_fuzz_host/in/sub_fritz_m.bin diff --git a/components/mdns/test_afl_fuzz_host/in/telnet_ptr.bin b/components/mdns/tests/test_afl_fuzz_host/in/telnet_ptr.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/telnet_ptr.bin rename to components/mdns/tests/test_afl_fuzz_host/in/telnet_ptr.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-14.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-14.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-14.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-14.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-15.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-15.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-15.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-15.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-16.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-16.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-16.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-16.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-28.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-28.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-28.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-28.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-29.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-29.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-29.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-29.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-31.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-31.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-31.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-31.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-53.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-53.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-53.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-53.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-56.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-56.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-56.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-56.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-63.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-63.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-63.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-63.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-83.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-83.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-83.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-83.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-88.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-88.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-88.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-88.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-89.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-89.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-89.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-89.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-95.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-95.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-95.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-95.bin diff --git a/components/mdns/test_afl_fuzz_host/in/test-96.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-96.bin similarity index 100% rename from components/mdns/test_afl_fuzz_host/in/test-96.bin rename to components/mdns/tests/test_afl_fuzz_host/in/test-96.bin diff --git a/components/mdns/test_afl_fuzz_host/input_packets.txt b/components/mdns/tests/test_afl_fuzz_host/input_packets.txt similarity index 100% rename from components/mdns/test_afl_fuzz_host/input_packets.txt rename to components/mdns/tests/test_afl_fuzz_host/input_packets.txt diff --git a/components/mdns/test_afl_fuzz_host/mdns_di.h b/components/mdns/tests/test_afl_fuzz_host/mdns_di.h similarity index 100% rename from components/mdns/test_afl_fuzz_host/mdns_di.h rename to components/mdns/tests/test_afl_fuzz_host/mdns_di.h diff --git a/components/mdns/test_afl_fuzz_host/mdns_mock.h b/components/mdns/tests/test_afl_fuzz_host/mdns_mock.h similarity index 100% rename from components/mdns/test_afl_fuzz_host/mdns_mock.h rename to components/mdns/tests/test_afl_fuzz_host/mdns_mock.h diff --git a/components/mdns/test_afl_fuzz_host/sdkconfig.h b/components/mdns/tests/test_afl_fuzz_host/sdkconfig.h similarity index 100% rename from components/mdns/test_afl_fuzz_host/sdkconfig.h rename to components/mdns/tests/test_afl_fuzz_host/sdkconfig.h diff --git a/components/mdns/test_afl_fuzz_host/test.c b/components/mdns/tests/test_afl_fuzz_host/test.c similarity index 100% rename from components/mdns/test_afl_fuzz_host/test.c rename to components/mdns/tests/test_afl_fuzz_host/test.c diff --git a/tools/test_apps/protocols/mdns/CMakeLists.txt b/components/mdns/tests/test_apps/CMakeLists.txt similarity index 79% rename from tools/test_apps/protocols/mdns/CMakeLists.txt rename to components/mdns/tests/test_apps/CMakeLists.txt index e756f2b40..466df27ef 100644 --- a/tools/test_apps/protocols/mdns/CMakeLists.txt +++ b/components/mdns/tests/test_apps/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.5) # (Not part of the boilerplate) # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. -set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) +set(EXTRA_COMPONENT_DIRS "../../../../common_components/protocol_examples_common") include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/tools/test_apps/protocols/mdns/README.md b/components/mdns/tests/test_apps/README.md similarity index 95% rename from tools/test_apps/protocols/mdns/README.md rename to components/mdns/tests/test_apps/README.md index 40ae127fe..96b76dcb7 100644 --- a/tools/test_apps/protocols/mdns/README.md +++ b/components/mdns/tests/test_apps/README.md @@ -23,7 +23,8 @@ In order to run both of them just needed to set up the project and run by 'pytho * Open the project configuration menu (`idf.py menuconfig`) -* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu. See "Establishing Wi-Fi or Ethernet Connection" section in [examples/protocols/README.md](README.md) for more details. +* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu. + * Set `mDNS Hostname` as host name prefix for the device and its instance name in `mDNS Instance Name` ### Build and Flash diff --git a/tools/test_apps/protocols/mdns/app_test.py b/components/mdns/tests/test_apps/app_test.py similarity index 100% rename from tools/test_apps/protocols/mdns/app_test.py rename to components/mdns/tests/test_apps/app_test.py diff --git a/tools/test_apps/protocols/mdns/main/CMakeLists.txt b/components/mdns/tests/test_apps/main/CMakeLists.txt similarity index 100% rename from tools/test_apps/protocols/mdns/main/CMakeLists.txt rename to components/mdns/tests/test_apps/main/CMakeLists.txt diff --git a/tools/test_apps/protocols/mdns/main/Kconfig.projbuild b/components/mdns/tests/test_apps/main/Kconfig.projbuild similarity index 100% rename from tools/test_apps/protocols/mdns/main/Kconfig.projbuild rename to components/mdns/tests/test_apps/main/Kconfig.projbuild diff --git a/tools/test_apps/protocols/mdns/main/main.c b/components/mdns/tests/test_apps/main/main.c similarity index 100% rename from tools/test_apps/protocols/mdns/main/main.c rename to components/mdns/tests/test_apps/main/main.c diff --git a/tools/test_apps/protocols/mdns/main/mdns_test.c b/components/mdns/tests/test_apps/main/mdns_test.c similarity index 100% rename from tools/test_apps/protocols/mdns/main/mdns_test.c rename to components/mdns/tests/test_apps/main/mdns_test.c diff --git a/tools/test_apps/protocols/mdns/sdkconfig.defaults b/components/mdns/tests/test_apps/sdkconfig.defaults similarity index 100% rename from tools/test_apps/protocols/mdns/sdkconfig.defaults rename to components/mdns/tests/test_apps/sdkconfig.defaults diff --git a/components/mdns/test/CMakeLists.txt b/components/mdns/tests/unit_test/CMakeLists.txt similarity index 100% rename from components/mdns/test/CMakeLists.txt rename to components/mdns/tests/unit_test/CMakeLists.txt diff --git a/components/mdns/test/test_mdns.c b/components/mdns/tests/unit_test/test_mdns.c similarity index 100% rename from components/mdns/test/test_mdns.c rename to components/mdns/tests/unit_test/test_mdns.c diff --git a/docs/docs_versions.js b/docs/docs_versions.js new file mode 100644 index 000000000..447ce23d1 --- /dev/null +++ b/docs/docs_versions.js @@ -0,0 +1,12 @@ +var DOCUMENTATION_VERSIONS = { + VERSIONS: [ + { name: "latest", has_targets: true, supported_targets: [ "esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3" ] }, + ], + IDF_TARGETS: [ + { text: "ESP32", value: "esp32"}, + { text: "ESP32-S2", value: "esp32s2"}, + { text: "ESP32-S3", value: "esp32s3"}, + { text: "ESP32-C2", value: "esp32c2"}, + { text: "ESP32-C3", value: "esp32c3"} + ], +};