├── .github ├── ISSUE_TEMPLATE │ ├── 01_build_install_bug.yml │ ├── 02_runtime_bug.yml │ ├── 03_feature_request.yml │ ├── 04_other_issue.yml │ └── config.yml └── workflows │ ├── build_template_esp32.yml │ ├── build_template_esp32c2.yml │ ├── build_template_esp32c3.yml │ ├── build_template_esp32c5.yml │ ├── build_template_esp32c6.yml │ ├── build_template_esp32s2.yml │ └── main.yml ├── .gitignore ├── .gitlab-ci.yml ├── .gitlab └── ci │ ├── build_docs.yml │ ├── build_esp32.yml │ ├── build_esp32c2.yml │ ├── build_esp32c3.yml │ ├── build_esp32c5.yml │ ├── build_esp32c6.yml │ ├── build_esp32s2.yml │ ├── build_template.yml │ ├── deploy.yml │ ├── post_deploy.yml │ ├── pre_check.yml │ ├── rules.yml │ └── utils.sh ├── .glab-ci.yml ├── .pre-commit-config.yaml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── README_CN.md ├── bootloader_components ├── README.md └── main │ ├── CMakeLists.txt │ ├── bootloader_start.c │ └── idf_component.yml ├── build.py ├── components ├── at │ ├── CMakeLists.txt │ ├── at_linker.lf │ ├── force_symbol_ref.cmake │ ├── idf_component.yml │ ├── include │ │ ├── at_compress_ota.h │ │ ├── esp_at.h │ │ ├── esp_at_check_config.h │ │ ├── esp_at_cmd_register.h │ │ ├── esp_at_core.h │ │ ├── esp_at_init.h │ │ └── esp_at_self_cmd.h │ ├── lib │ │ ├── VERSION │ │ ├── libesp32_at_core.a │ │ ├── libesp32_at_core_silence.a │ │ ├── libesp32c2_at_core.a │ │ ├── libesp32c2_at_core_silence.a │ │ ├── libesp32c3_at_core.a │ │ ├── libesp32c3_at_core_silence.a │ │ ├── libesp32c5_at_core.a │ │ ├── libesp32c5_at_core_silence.a │ │ ├── libesp32c6_at_core.a │ │ ├── libesp32c6_at_core_silence.a │ │ ├── libesp32s2_at_core.a │ │ └── libesp32s2_at_core_silence.a │ ├── private_include │ │ ├── at_i2s.h │ │ ├── at_ota.h │ │ ├── at_ota_token.h │ │ └── at_web_dns_server.h │ └── src │ │ ├── at_cmd_register.c │ │ ├── at_compress_ota.c │ │ ├── at_default_config.c │ │ ├── at_eth_init.c │ │ ├── at_fact_cmd.c │ │ ├── at_i2s.c │ │ ├── at_init.c │ │ ├── at_ota_cmd.c │ │ ├── at_self_cmd.c │ │ ├── at_uart_cmd.c │ │ ├── at_user_cmd.c │ │ ├── at_web_dns_server.c │ │ ├── at_web_server_cmd.c │ │ └── at_workaround.c ├── customized_partitions │ ├── CMakeLists.txt │ ├── Kconfig.projbuild │ ├── README.md │ ├── at_customized_config_dependency.txt │ ├── at_customized_target_bin_generate.py │ ├── at_customized_target_generate.py │ ├── generation_tools │ │ ├── fatfs.py │ │ └── mfg_nvs.py │ └── raw_data │ │ ├── ble_data │ │ └── gatts_data.csv │ │ ├── client_ca │ │ ├── client_ca_00.crt │ │ └── client_ca_01.crt │ │ ├── client_cert │ │ ├── client_cert_00.crt │ │ └── client_cert_01.crt │ │ ├── client_key │ │ ├── client_key_00.key │ │ └── client_key_01.key │ │ ├── factory_param │ │ ├── factory_param_data.csv │ │ └── factory_param_type.csv │ │ ├── https_ca │ │ ├── https_ca_00.crt │ │ └── https_ca_01.crt │ │ ├── https_cert │ │ ├── https_client_00.crt │ │ └── https_client_01.crt │ │ ├── https_key │ │ ├── https_client_00.key │ │ └── https_client_01.key │ │ ├── mqtt_ca │ │ └── mqtt_ca.crt │ │ ├── mqtt_cert │ │ └── mqtt_client.crt │ │ ├── mqtt_key │ │ └── mqtt_client.key │ │ ├── server_ca │ │ └── server_ca.crt │ │ ├── server_cert │ │ └── server_cert.crt │ │ ├── server_key │ │ └── server.key │ │ ├── wpa2_ca │ │ └── wpa2_ca.pem │ │ ├── wpa2_cert │ │ └── wpa2_client.crt │ │ ├── wpa2_key │ │ └── wpa2_client.key │ │ ├── wss_ca │ │ ├── wss_ca_00.crt │ │ └── wss_ca_01.crt │ │ ├── wss_cert │ │ ├── wss_client_00.crt │ │ └── wss_client_01.crt │ │ └── wss_key │ │ ├── wss_client_00.key │ │ └── wss_client_01.key ├── decoder │ ├── CMakeLists.txt │ └── lib │ │ └── libesp32_mp3.a ├── fs_image │ ├── index.html │ └── test.txt └── rainmaker │ ├── CMakeLists.txt │ └── at_rainmaker.c ├── docs ├── Doxyfile ├── README.md ├── TEMPLATE_EXAMPLE_README.md ├── _static │ ├── 404-page__cn.svg │ ├── 404-page__en.svg │ ├── ESP-AT-overview.jpg │ ├── RainMaker │ │ ├── nova_add_device.png │ │ ├── nova_change_light_status.png │ │ ├── nova_device.png │ │ ├── nova_found_devices.png │ │ ├── nova_provisioning_starts.png │ │ ├── rest_api_get_request_id.png │ │ ├── rest_api_get_user_details.png │ │ ├── rest_api_login.png │ │ ├── rest_api_login_accesstoken.png │ │ └── rest_api_login_authorize.png │ ├── Web_server │ │ ├── captive_portal_auth_pages.png │ │ ├── captive_portal_auth_pages_en.png │ │ ├── web_brower_failed_to_send_firmware.png │ │ ├── web_brower_failed_to_send_firmware_en.png │ │ ├── web_brower_get_ap_record.png │ │ ├── web_brower_get_ap_record_en.png │ │ ├── web_brower_obtain_partitions.png │ │ ├── web_brower_obtain_partitions_en.png │ │ ├── web_brower_open_html.png │ │ ├── web_brower_open_html_en.png │ │ ├── web_brower_ota_chose_firmware.png │ │ ├── web_brower_ota_chose_firmware_en.png │ │ ├── web_brower_ota_config_page.png │ │ ├── web_brower_ota_config_page_en.png │ │ ├── web_brower_send_firmware_successfully.png │ │ ├── web_brower_send_firmware_successfully_en.png │ │ ├── web_brower_wifi_ap.png │ │ ├── web_brower_wifi_ap_en.png │ │ ├── web_brower_wifi_connect_fail.png │ │ ├── web_brower_wifi_connect_fail_en.png │ │ ├── web_brower_wifi_connect_success.png │ │ ├── web_brower_wifi_connect_success_en.png │ │ ├── web_wechat_applet_qr.png │ │ ├── web_wechat_connect_router.png │ │ ├── web_wechat_enter_local_password.png │ │ ├── web_wechat_get_router_info.png │ │ ├── web_wechat_open_applet.png │ │ ├── web_wechat_router_connect_fail.png │ │ ├── web_wechat_router_connect_success.png │ │ ├── web_wechat_router_connecting.png │ │ ├── web_wechat_start_connect.png │ │ └── web_wechat_update_router_info.png │ ├── about-esp-at-commands.png │ ├── about-esp-at-solution.png │ ├── at-sub-release-apply.png │ ├── at-sub-release-custom.png │ ├── at_command_examples │ │ └── esp-power-consumption-hardware-connection.png │ ├── compile_and_develop │ │ ├── at-py-download.png │ │ ├── ble_customize_service.png │ │ ├── ble_default_service.png │ │ └── ota │ │ │ ├── OTA-1.png │ │ │ ├── OTA-2.png │ │ │ ├── OTA-3.png │ │ │ ├── OTA-4.png │ │ │ ├── OTA-5.png │ │ │ ├── OTA-6.png │ │ │ ├── OTA-7.png │ │ │ ├── OTA-8.png │ │ │ └── OTA-9.png │ ├── customized_ota_process.png │ ├── document_referrer.html │ ├── download_temp_version │ │ ├── download-temp-version-actions-page.png │ │ ├── download-temp-version-artifacts.png │ │ ├── download-temp-version-click-actions.png │ │ ├── download-temp-version-click-branch-workflow.png │ │ ├── download-temp-version-click-workflow.png │ │ ├── download-temp-version-github.png │ │ └── download-temp-version-workflow.png │ ├── espressif-logo.svg │ ├── get_started │ │ ├── download_guide │ │ │ ├── download_multi_bin_esp32.png │ │ │ ├── download_multi_bin_esp32c2.png │ │ │ ├── download_multi_bin_esp32c3.png │ │ │ ├── download_multi_bin_esp32c6.png │ │ │ ├── download_multi_bin_esp32s2.png │ │ │ ├── download_one_bin_esp32.png │ │ │ ├── download_one_bin_esp32c2.png │ │ │ ├── download_one_bin_esp32c3.png │ │ │ ├── download_one_bin_esp32c6.png │ │ │ ├── download_one_bin_esp32s2.png │ │ │ ├── download_tool_esp32.png │ │ │ ├── download_tool_esp32c2.png │ │ │ ├── download_tool_esp32c3.png │ │ │ ├── download_tool_esp32c6.png │ │ │ └── download_tool_esp32s2.png │ │ └── hw_connection │ │ │ ├── esp32-c2-2mb-hw-connection.png │ │ │ ├── esp32-c2-4mb-hw-connection.png │ │ │ ├── esp32-c3-hw-connection.png │ │ │ ├── esp32-c6-4mb-hw-connection.jpg │ │ │ ├── esp32-mini-hw-connection.jpg │ │ │ ├── esp32-pico-d4.png │ │ │ ├── esp32-pico-hw-connection.png │ │ │ ├── esp32-s2-hw-connection.jpg │ │ │ ├── esp32-solo-devkitc.png │ │ │ ├── esp32-solo-hw-connection.png │ │ │ ├── esp32-wroom-devkitc.png │ │ │ ├── esp32-wroom-hw-connection.png │ │ │ ├── esp32-wrover-devkitc.png │ │ │ ├── esp32-wrover-hw-connection.png │ │ │ └── hw-connection-what-you-need.png │ ├── hp-at-binary-lists.png │ ├── hp-at-command-examples.png │ ├── hp-at-command-set.png │ ├── hp-compile-and-develop.png │ ├── hp-customized-at-commands-and-firmware.png │ ├── hp-get-started.png │ ├── hp-index-of-abbreviations-and-acronyms.png │ ├── hp-q&a.png │ ├── icon-green-check.png │ ├── icon-orange-check.png │ ├── icon-red-cross.png │ ├── intro-tt-mode.png │ ├── js │ │ ├── at_versions.js │ │ ├── chatbot_widget.css │ │ ├── chatbot_widget_cn.js │ │ ├── chatbot_widget_en.js │ │ └── document_referrer.js │ ├── linux-logo.png │ ├── macos-logo.png │ ├── optimize-throughput.png │ ├── project-configuration.png │ ├── theme_overrides.css │ ├── web_compile │ │ ├── cfg-ota-token-s1.png │ │ ├── cfg-ota-token-s2.png │ │ ├── cfg-ota-token-s3.png │ │ ├── cfg-ota-token-s4.png │ │ ├── cfg-ota-token-s5.png │ │ ├── commit-change-s1.png │ │ ├── commit-change-s2.png │ │ ├── commit-change-s3.png │ │ ├── commit-change-s4.png │ │ ├── commit-change-s5.png │ │ ├── commit-change-s6.png │ │ ├── commit-change-s7.png │ │ ├── commit-change-s8.png │ │ ├── fork-s1.png │ │ ├── fork-s2.png │ │ ├── github-action-enable-s1.png │ │ ├── github-action-enable-s2.png │ │ └── github-action-enable-s3.png │ └── windows-logo.png ├── check_doc_chars.py ├── check_lang_folder_sync.sh ├── conf_common.py ├── doxygen-known-warnings.txt ├── en │ ├── 404.rst │ ├── AT_Binary_Lists │ │ ├── esp_at_binaries.rst │ │ └── index.rst │ ├── AT_Command_Examples │ │ ├── Ethernet_AT_Examples.rst │ │ ├── MQTT_AT_Examples.rst │ │ ├── TCP-IP_AT_Examples.rst │ │ ├── Web_server_AT_Examples.rst │ │ ├── at_msg_resp_fmt_ctrl_examples.rst │ │ ├── bluetooth_le_at_examples.rst │ │ ├── classic_bluetooth_at_examples.rst │ │ ├── http_at_examples.rst │ │ ├── index.rst │ │ ├── mqtt-at-examples-for-cloud.rst │ │ ├── network_provisioning_examples.rst │ │ ├── sleep_at_examples.rst │ │ └── websocket_at_examples.rst │ ├── AT_Command_Set │ │ ├── BLE_AT_Commands.rst │ │ ├── BT_AT_Commands.rst │ │ ├── Basic_AT_Commands.rst │ │ ├── Driver_AT_Commands.rst │ │ ├── Ethernet_AT_Commands.rst │ │ ├── FS_AT_Commands.rst │ │ ├── HTTP_AT_Commands.rst │ │ ├── MQTT_AT_Commands.rst │ │ ├── Signaling_Test_AT_Commands.rst │ │ ├── TCP-IP_AT_Commands.rst │ │ ├── Web_server_AT_Commands.rst │ │ ├── Wi-Fi_AT_Commands.rst │ │ ├── index.rst │ │ ├── user_at_commands.rst │ │ └── websocket_at_commands.rst │ ├── Compile_and_Develop │ │ ├── AT_API_Reference.rst │ │ ├── How_to_add_support_for_a_module.rst │ │ ├── How_to_add_user-defined_AT_commands.rst │ │ ├── How_to_build_project_with_web_page.rst │ │ ├── How_to_clone_project_and_compile_it.rst │ │ ├── How_to_configure_silence_mode.rst │ │ ├── How_to_customize_BLE_services.rst │ │ ├── How_to_customize_partitions.rst │ │ ├── How_to_download_the_latest_temporary_version_of_AT_from_github.rst │ │ ├── How_to_enable_ESP_AT_Ethernet.rst │ │ ├── How_to_implement_OTA_update.rst │ │ ├── How_to_implement_SDIO_AT.rst │ │ ├── How_to_implement_SPI_AT.rst │ │ ├── How_to_optimize_throughput.rst │ │ ├── How_to_set_AT_port_pin.rst │ │ ├── How_to_update_IDF.rst │ │ ├── How_to_update_factory_parameters.rst │ │ ├── How_to_update_mfg_nvs.rst │ │ ├── How_to_update_pki_config.rst │ │ ├── esp-at_firmware_differences.rst │ │ ├── index.rst │ │ └── tools_at_py.rst │ ├── Customized_AT_Commands_and_Firmware │ │ ├── RainMaker_AT │ │ │ ├── RainMaker_AT_Command_Set.rst │ │ │ ├── RainMaker_AT_Examples.rst │ │ │ ├── RainMaker_AT_OTA_Guide.rst │ │ │ ├── index.rst │ │ │ └── index_of_abbreviations.rst │ │ └── index.rst │ ├── Get_Started │ │ ├── Downloading_guide.rst │ │ ├── Hardware_connection.rst │ │ ├── Technology_selection.rst │ │ ├── What_is_ESP-AT.rst │ │ └── index.rst │ ├── _templates │ │ └── layout.html │ ├── about.rst │ ├── conf.py │ ├── disclaimer.rst │ ├── faq.rst │ ├── index.rst │ ├── index_of_abbreviations.rst │ └── versions.rst ├── generate_chart.py ├── img │ ├── .gitkeep │ ├── Connect-SoftAP.png │ ├── aws-log.png │ └── esp32at-log.png ├── inline_substitutions ├── page_redirects.txt ├── requirements.txt ├── sphinx-known-warnings.txt └── zh_CN │ ├── 404.rst │ ├── AT_Binary_Lists │ ├── esp_at_binaries.rst │ └── index.rst │ ├── AT_Command_Examples │ ├── Ethernet_AT_Examples.rst │ ├── MQTT_AT_Examples.rst │ ├── TCP-IP_AT_Examples.rst │ ├── Web_server_AT_Examples.rst │ ├── at_msg_resp_fmt_ctrl_examples.rst │ ├── bluetooth_le_at_examples.rst │ ├── classic_bluetooth_at_examples.rst │ ├── http_at_examples.rst │ ├── index.rst │ ├── mqtt-at-examples-for-cloud.rst │ ├── network_provisioning_examples.rst │ ├── sleep_at_examples.rst │ └── websocket_at_examples.rst │ ├── AT_Command_Set │ ├── BLE_AT_Commands.rst │ ├── BT_AT_Commands.rst │ ├── Basic_AT_Commands.rst │ ├── Driver_AT_Commands.rst │ ├── Ethernet_AT_Commands.rst │ ├── FS_AT_Commands.rst │ ├── HTTP_AT_Commands.rst │ ├── MQTT_AT_Commands.rst │ ├── Signaling_Test_AT_Commands.rst │ ├── TCP-IP_AT_Commands.rst │ ├── Web_server_AT_Commands.rst │ ├── Wi-Fi_AT_Commands.rst │ ├── index.rst │ ├── user_at_commands.rst │ └── websocket_at_commands.rst │ ├── Compile_and_Develop │ ├── AT_API_Reference.rst │ ├── How_to_add_support_for_a_module.rst │ ├── How_to_add_user-defined_AT_commands.rst │ ├── How_to_build_project_with_web_page.rst │ ├── How_to_clone_project_and_compile_it.rst │ ├── How_to_configure_silence_mode.rst │ ├── How_to_customize_BLE_services.rst │ ├── How_to_customize_partitions.rst │ ├── How_to_download_the_latest_temporary_version_of_AT_from_github.rst │ ├── How_to_enable_ESP_AT_Ethernet.rst │ ├── How_to_implement_OTA_update.rst │ ├── How_to_implement_SDIO_AT.rst │ ├── How_to_implement_SPI_AT.rst │ ├── How_to_optimize_throughput.rst │ ├── How_to_set_AT_port_pin.rst │ ├── How_to_update_IDF.rst │ ├── How_to_update_factory_parameters.rst │ ├── How_to_update_mfg_nvs.rst │ ├── How_to_update_pki_config.rst │ ├── esp-at_firmware_differences.rst │ ├── index.rst │ └── tools_at_py.rst │ ├── Customized_AT_Commands_and_Firmware │ ├── RainMaker_AT │ │ ├── RainMaker_AT_Command_Set.rst │ │ ├── RainMaker_AT_Examples.rst │ │ ├── RainMaker_AT_OTA_Guide.rst │ │ ├── index.rst │ │ └── index_of_abbreviations.rst │ └── index.rst │ ├── Get_Started │ ├── Downloading_guide.rst │ ├── Hardware_connection.rst │ ├── Technology_selection.rst │ ├── What_is_ESP-AT.rst │ └── index.rst │ ├── _templates │ └── layout.html │ ├── about.rst │ ├── conf.py │ ├── disclaimer.rst │ ├── faq.rst │ ├── index.rst │ ├── index_of_abbreviations.rst │ └── versions.rst ├── examples ├── at_custom_cmd │ ├── CMakeLists.txt │ ├── README.md │ ├── custom │ │ └── at_custom_cmd.c │ └── include │ │ └── at_custom_cmd.h ├── at_fatfs_to_http_server │ ├── CMakeLists.txt │ ├── README.md │ ├── custom │ │ └── at_custom_cmd.c │ └── include │ │ └── at_custom_cmd.h ├── at_http_get_to_fatfs │ ├── CMakeLists.txt │ ├── README.md │ ├── custom │ │ └── at_custom_cmd.c │ └── include │ │ └── at_custom_cmd.h ├── at_interface_security │ ├── CMakeLists.txt │ ├── Kconfig │ ├── README.md │ ├── at_intf_security_host.py │ ├── custom │ │ └── at_custom_cmd.c │ ├── include │ │ └── at_custom_cmd.h │ └── sdkconfig.defaults ├── at_override_module_config │ ├── IDF_VERSION │ ├── README.md │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── patch │ │ ├── at_example.patch │ │ ├── patch_list.ini │ │ └── support_ext_partition.patch │ └── sdkconfig.defaults ├── at_sdio_host │ ├── ESP32 │ │ ├── CMakeLists.txt │ │ ├── Makefile │ │ ├── components │ │ │ ├── platform │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── component.mk │ │ │ │ └── esp32 │ │ │ │ │ ├── include │ │ │ │ │ ├── platform_os.h │ │ │ │ │ └── sdio_driver_port.h │ │ │ │ │ ├── platform_os.c │ │ │ │ │ └── sdio_driver_port.c │ │ │ └── sdio_host │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── component.mk │ │ │ │ ├── include │ │ │ │ ├── sdio_config.h │ │ │ │ ├── sdio_host_error.h │ │ │ │ ├── sdio_host_log.h │ │ │ │ ├── sdio_host_reg.h │ │ │ │ └── sdio_host_transport.h │ │ │ │ └── sdio_host_transport.c │ │ └── main │ │ │ ├── CMakeLists.txt │ │ │ ├── Kconfig.projbuild │ │ │ ├── app_main.c │ │ │ └── component.mk │ ├── README.md │ ├── STM32 │ │ ├── .mxproject │ │ ├── Drivers │ │ │ ├── CMSIS │ │ │ │ ├── Device │ │ │ │ │ └── ST │ │ │ │ │ │ └── STM32F1xx │ │ │ │ │ │ └── Include │ │ │ │ │ │ ├── stm32f103xe.h │ │ │ │ │ │ ├── stm32f1xx.h │ │ │ │ │ │ └── system_stm32f1xx.h │ │ │ │ └── Include │ │ │ │ │ ├── cmsis_armcc.h │ │ │ │ │ ├── cmsis_armclang.h │ │ │ │ │ ├── cmsis_compiler.h │ │ │ │ │ ├── cmsis_gcc.h │ │ │ │ │ ├── cmsis_iccarm.h │ │ │ │ │ ├── cmsis_version.h │ │ │ │ │ ├── core_armv8mbl.h │ │ │ │ │ ├── core_armv8mml.h │ │ │ │ │ ├── core_cm0.h │ │ │ │ │ ├── core_cm0plus.h │ │ │ │ │ ├── core_cm1.h │ │ │ │ │ ├── core_cm23.h │ │ │ │ │ ├── core_cm3.h │ │ │ │ │ ├── core_cm33.h │ │ │ │ │ ├── core_cm4.h │ │ │ │ │ ├── core_cm7.h │ │ │ │ │ ├── core_sc000.h │ │ │ │ │ ├── core_sc300.h │ │ │ │ │ ├── mpu_armv7.h │ │ │ │ │ ├── mpu_armv8.h │ │ │ │ │ └── tz_context.h │ │ │ └── STM32F1xx_HAL_Driver │ │ │ │ ├── Inc │ │ │ │ ├── Legacy │ │ │ │ │ └── stm32_hal_legacy.h │ │ │ │ ├── stm32f1xx_hal.h │ │ │ │ ├── stm32f1xx_hal_cortex.h │ │ │ │ ├── stm32f1xx_hal_def.h │ │ │ │ ├── stm32f1xx_hal_dma.h │ │ │ │ ├── stm32f1xx_hal_dma_ex.h │ │ │ │ ├── stm32f1xx_hal_exti.h │ │ │ │ ├── stm32f1xx_hal_flash.h │ │ │ │ ├── stm32f1xx_hal_flash_ex.h │ │ │ │ ├── stm32f1xx_hal_gpio.h │ │ │ │ ├── stm32f1xx_hal_gpio_ex.h │ │ │ │ ├── stm32f1xx_hal_pwr.h │ │ │ │ ├── stm32f1xx_hal_rcc.h │ │ │ │ ├── stm32f1xx_hal_rcc_ex.h │ │ │ │ ├── stm32f1xx_hal_sd.h │ │ │ │ ├── stm32f1xx_hal_tim.h │ │ │ │ ├── stm32f1xx_hal_tim_ex.h │ │ │ │ ├── stm32f1xx_hal_uart.h │ │ │ │ ├── stm32f1xx_ll_bus.h │ │ │ │ ├── stm32f1xx_ll_dma.h │ │ │ │ └── stm32f1xx_ll_sdmmc.h │ │ │ │ └── Src │ │ │ │ ├── stm32f1xx_hal.c │ │ │ │ ├── stm32f1xx_hal_cortex.c │ │ │ │ ├── stm32f1xx_hal_dma.c │ │ │ │ ├── stm32f1xx_hal_exti.c │ │ │ │ ├── stm32f1xx_hal_flash.c │ │ │ │ ├── stm32f1xx_hal_flash_ex.c │ │ │ │ ├── stm32f1xx_hal_gpio.c │ │ │ │ ├── stm32f1xx_hal_gpio_ex.c │ │ │ │ ├── stm32f1xx_hal_pwr.c │ │ │ │ ├── stm32f1xx_hal_rcc.c │ │ │ │ ├── stm32f1xx_hal_rcc_ex.c │ │ │ │ ├── stm32f1xx_hal_sd.c │ │ │ │ ├── stm32f1xx_hal_tim.c │ │ │ │ ├── stm32f1xx_hal_tim_ex.c │ │ │ │ ├── stm32f1xx_hal_uart.c │ │ │ │ ├── stm32f1xx_ll_dma.c │ │ │ │ └── stm32f1xx_ll_sdmmc.c │ │ ├── Inc │ │ │ ├── FreeRTOSConfig.h │ │ │ ├── dma.h │ │ │ ├── gpio.h │ │ │ ├── main.h │ │ │ ├── stm32f1xx_hal_conf.h │ │ │ ├── stm32f1xx_it.h │ │ │ └── usart.h │ │ ├── MDK-ARM │ │ │ ├── JLinkLog.txt │ │ │ ├── JLinkSettings.ini │ │ │ ├── RTE │ │ │ │ └── RTE_Components.h │ │ │ ├── sdio_at.uvguix.Administrator │ │ │ ├── sdio_at.uvoptx │ │ │ ├── sdio_at.uvprojx │ │ │ ├── startup_stm32f103xe.lst │ │ │ └── startup_stm32f103xe.s │ │ ├── Middlewares │ │ │ └── Third_Party │ │ │ │ └── FreeRTOS │ │ │ │ └── Source │ │ │ │ ├── CMSIS_RTOS │ │ │ │ ├── cmsis_os.c │ │ │ │ └── cmsis_os.h │ │ │ │ ├── croutine.c │ │ │ │ ├── event_groups.c │ │ │ │ ├── include │ │ │ │ ├── FreeRTOS.h │ │ │ │ ├── StackMacros.h │ │ │ │ ├── croutine.h │ │ │ │ ├── deprecated_definitions.h │ │ │ │ ├── event_groups.h │ │ │ │ ├── list.h │ │ │ │ ├── message_buffer.h │ │ │ │ ├── mpu_prototypes.h │ │ │ │ ├── mpu_wrappers.h │ │ │ │ ├── portable.h │ │ │ │ ├── projdefs.h │ │ │ │ ├── queue.h │ │ │ │ ├── semphr.h │ │ │ │ ├── stack_macros.h │ │ │ │ ├── stream_buffer.h │ │ │ │ ├── task.h │ │ │ │ └── timers.h │ │ │ │ ├── list.c │ │ │ │ ├── portable │ │ │ │ ├── MemMang │ │ │ │ │ └── heap_4.c │ │ │ │ └── RVDS │ │ │ │ │ └── ARM_CM3 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── queue.c │ │ │ │ ├── stream_buffer.c │ │ │ │ ├── tasks.c │ │ │ │ └── timers.c │ │ ├── Src │ │ │ ├── components │ │ │ │ ├── platform │ │ │ │ │ ├── include │ │ │ │ │ │ ├── platform_os.h │ │ │ │ │ │ ├── sdio.h │ │ │ │ │ │ └── sdio_driver_port.h │ │ │ │ │ ├── platform_os.c │ │ │ │ │ ├── sdio.c │ │ │ │ │ └── sdio_driver_port.c │ │ │ │ └── sdio_host │ │ │ │ │ ├── component.mk │ │ │ │ │ ├── include │ │ │ │ │ ├── sdio_config.h │ │ │ │ │ ├── sdio_host_error.h │ │ │ │ │ ├── sdio_host_log.h │ │ │ │ │ ├── sdio_host_reg.h │ │ │ │ │ └── sdio_host_transport.h │ │ │ │ │ └── sdio_host_transport.c │ │ │ ├── dma.c │ │ │ ├── freertos.c │ │ │ ├── gpio.c │ │ │ ├── main.c │ │ │ ├── stm32f1xx_hal_msp.c │ │ │ ├── stm32f1xx_hal_timebase_tim.c │ │ │ ├── stm32f1xx_it.c │ │ │ ├── system_stm32f1xx.c │ │ │ └── usart.c │ │ └── sdio_at.ioc │ └── res │ │ └── sdio_dataflow.jpg └── at_spi_master │ ├── README.md │ ├── sdspi │ ├── ESP32 │ │ ├── CMakeLists.txt │ │ ├── Makefile │ │ ├── components │ │ │ ├── platform │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── component.mk │ │ │ │ └── esp32 │ │ │ │ │ ├── include │ │ │ │ │ └── port.h │ │ │ │ │ └── port.c │ │ │ └── sdspi_host │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── component.mk │ │ │ │ ├── include │ │ │ │ └── sdspi_host.h │ │ │ │ └── sdspi_host.c │ │ ├── main │ │ │ ├── CMakeLists.txt │ │ │ ├── app_main.c │ │ │ └── component.mk │ │ └── sdkconfig.defaults │ ├── README.md │ ├── STM32 │ │ ├── Drivers │ │ │ ├── CMSIS │ │ │ │ ├── Device │ │ │ │ │ └── ST │ │ │ │ │ │ └── STM32F1xx │ │ │ │ │ │ └── Include │ │ │ │ │ │ ├── stm32f103xe.h │ │ │ │ │ │ ├── stm32f1xx.h │ │ │ │ │ │ └── system_stm32f1xx.h │ │ │ │ └── Include │ │ │ │ │ ├── cmsis_armcc.h │ │ │ │ │ ├── cmsis_armclang.h │ │ │ │ │ ├── cmsis_compiler.h │ │ │ │ │ ├── cmsis_gcc.h │ │ │ │ │ ├── cmsis_iccarm.h │ │ │ │ │ ├── cmsis_version.h │ │ │ │ │ ├── core_armv8mbl.h │ │ │ │ │ ├── core_armv8mml.h │ │ │ │ │ ├── core_cm0.h │ │ │ │ │ ├── core_cm0plus.h │ │ │ │ │ ├── core_cm1.h │ │ │ │ │ ├── core_cm23.h │ │ │ │ │ ├── core_cm3.h │ │ │ │ │ ├── core_cm33.h │ │ │ │ │ ├── core_cm4.h │ │ │ │ │ ├── core_cm7.h │ │ │ │ │ ├── core_sc000.h │ │ │ │ │ ├── core_sc300.h │ │ │ │ │ ├── mpu_armv7.h │ │ │ │ │ ├── mpu_armv8.h │ │ │ │ │ └── tz_context.h │ │ │ └── STM32F1xx_HAL_Driver │ │ │ │ ├── Inc │ │ │ │ ├── Legacy │ │ │ │ │ └── stm32_hal_legacy.h │ │ │ │ ├── stm32f1xx_hal.h │ │ │ │ ├── stm32f1xx_hal_cortex.h │ │ │ │ ├── stm32f1xx_hal_def.h │ │ │ │ ├── stm32f1xx_hal_dma.h │ │ │ │ ├── stm32f1xx_hal_dma_ex.h │ │ │ │ ├── stm32f1xx_hal_exti.h │ │ │ │ ├── stm32f1xx_hal_flash.h │ │ │ │ ├── stm32f1xx_hal_flash_ex.h │ │ │ │ ├── stm32f1xx_hal_gpio.h │ │ │ │ ├── stm32f1xx_hal_gpio_ex.h │ │ │ │ ├── stm32f1xx_hal_pwr.h │ │ │ │ ├── stm32f1xx_hal_rcc.h │ │ │ │ ├── stm32f1xx_hal_rcc_ex.h │ │ │ │ ├── stm32f1xx_hal_spi.h │ │ │ │ ├── stm32f1xx_hal_tim.h │ │ │ │ ├── stm32f1xx_hal_tim_ex.h │ │ │ │ └── stm32f1xx_hal_uart.h │ │ │ │ └── Src │ │ │ │ ├── stm32f1xx_hal.c │ │ │ │ ├── stm32f1xx_hal_cortex.c │ │ │ │ ├── stm32f1xx_hal_dma.c │ │ │ │ ├── stm32f1xx_hal_exti.c │ │ │ │ ├── stm32f1xx_hal_flash.c │ │ │ │ ├── stm32f1xx_hal_flash_ex.c │ │ │ │ ├── stm32f1xx_hal_gpio.c │ │ │ │ ├── stm32f1xx_hal_gpio_ex.c │ │ │ │ ├── stm32f1xx_hal_pwr.c │ │ │ │ ├── stm32f1xx_hal_rcc.c │ │ │ │ ├── stm32f1xx_hal_rcc_ex.c │ │ │ │ ├── stm32f1xx_hal_spi.c │ │ │ │ ├── stm32f1xx_hal_tim.c │ │ │ │ ├── stm32f1xx_hal_tim_ex.c │ │ │ │ └── stm32f1xx_hal_uart.c │ │ ├── Inc │ │ │ ├── FreeRTOSConfig.h │ │ │ ├── dma.h │ │ │ ├── gpio.h │ │ │ ├── main.h │ │ │ ├── port.h │ │ │ ├── sdspi_host.h │ │ │ ├── spi.h │ │ │ ├── stm32f1xx_hal_conf.h │ │ │ ├── stm32f1xx_it.h │ │ │ └── usart.h │ │ ├── MDK-ARM │ │ │ ├── JLinkLog.txt │ │ │ ├── JLinkSettings.ini │ │ │ ├── RTE │ │ │ │ └── RTE_Components.h │ │ │ ├── STM32_SPI_AT.uvguix.Administrator │ │ │ ├── STM32_SPI_AT.uvoptx │ │ │ ├── STM32_SPI_AT.uvprojx │ │ │ ├── startup_stm32f103xe.lst │ │ │ └── startup_stm32f103xe.s │ │ ├── Middlewares │ │ │ └── Third_Party │ │ │ │ └── FreeRTOS │ │ │ │ └── Source │ │ │ │ ├── CMSIS_RTOS │ │ │ │ ├── cmsis_os.c │ │ │ │ └── cmsis_os.h │ │ │ │ ├── croutine.c │ │ │ │ ├── event_groups.c │ │ │ │ ├── include │ │ │ │ ├── FreeRTOS.h │ │ │ │ ├── StackMacros.h │ │ │ │ ├── croutine.h │ │ │ │ ├── deprecated_definitions.h │ │ │ │ ├── event_groups.h │ │ │ │ ├── list.h │ │ │ │ ├── message_buffer.h │ │ │ │ ├── mpu_prototypes.h │ │ │ │ ├── mpu_wrappers.h │ │ │ │ ├── portable.h │ │ │ │ ├── projdefs.h │ │ │ │ ├── queue.h │ │ │ │ ├── semphr.h │ │ │ │ ├── stack_macros.h │ │ │ │ ├── stream_buffer.h │ │ │ │ ├── task.h │ │ │ │ └── timers.h │ │ │ │ ├── list.c │ │ │ │ ├── portable │ │ │ │ ├── MemMang │ │ │ │ │ └── heap_4.c │ │ │ │ └── RVDS │ │ │ │ │ └── ARM_CM3 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── queue.c │ │ │ │ ├── stream_buffer.c │ │ │ │ ├── tasks.c │ │ │ │ └── timers.c │ │ ├── STM32_SPI_AT.ioc │ │ └── Src │ │ │ ├── dma.c │ │ │ ├── freertos.c │ │ │ ├── gpio.c │ │ │ ├── main.c │ │ │ ├── port.c │ │ │ ├── sdspi_host.c │ │ │ ├── spi.c │ │ │ ├── stm32f1xx_hal_msp.c │ │ │ ├── stm32f1xx_hal_timebase_tim.c │ │ │ ├── stm32f1xx_it.c │ │ │ ├── system_stm32f1xx.c │ │ │ └── usart.c │ └── res │ │ └── data_flow.png │ └── spi │ └── esp32_c_series │ ├── CMakeLists.txt │ ├── Makefile │ ├── README.md │ ├── main │ ├── CMakeLists.txt │ ├── Kconfig.projbuild │ ├── app_main.c │ └── component.mk │ ├── res │ ├── mcu_read_data.png │ ├── read_status.png │ ├── send_at_command.dsl │ ├── send_at_command.png │ ├── slave_send_status.png │ ├── write_data.png │ └── write_status.png │ └── sdkconfig.defaults ├── main ├── CMakeLists.txt ├── Kconfig ├── app_main.c ├── idf_component.yml ├── interface │ ├── at_interface_api.c │ ├── include │ │ ├── at_uart.h │ │ └── esp_at_interface.h │ ├── sdio │ │ ├── Kconfig │ │ ├── README.md │ │ └── at_sdio_task.c │ ├── socket │ │ ├── Kconfig │ │ ├── README.md │ │ └── at_socket_task.c │ ├── spi │ │ ├── Kconfig │ │ ├── README.md │ │ └── at_spi_task.c │ └── uart │ │ ├── Kconfig │ │ ├── at_uart_api.c │ │ └── at_uart_task.c └── sdkconfig.rename ├── module_config ├── module_esp32-d2wd │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32-sdio │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32_default │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c2-2mb-ble-g2 │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c2-2mb-ble │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c2-2mb-g2 │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c2-2mb-no-ota-g2 │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c2-2mb │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c2-4mb-g2 │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c2_default │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c3-spi │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c3_default │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c3_rainmaker │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ ├── sdkconfig_silence.defaults │ └── submodules ├── module_esp32c5_default │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32c6_default │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── module_esp32s2_default │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults └── module_wrover-32 │ ├── IDF_VERSION │ ├── at_customize.csv │ ├── partitions_at.csv │ ├── sdkconfig.defaults │ └── sdkconfig_silence.defaults ├── patches ├── ble_attr_len.patch ├── blufi-adv.patch ├── modify_bluedroid_conn_timeout.patch ├── mqtt.patch ├── patch_list.ini ├── rmaker-esp_rainmaker.patch ├── rmaker-rmaker_common.patch └── support_ext_partition.patch ├── requirements.txt └── tools ├── at.py ├── at_net_debug.py ├── ci ├── astyle-rules.yml ├── check_copyright_config.yaml ├── check_copyright_ignore.txt ├── check_executables.py ├── check_module_config.py ├── executable-list.txt └── idf_ci_utils.py ├── factory_param_generate.py ├── patch.py └── relink ├── README.md ├── configuration.py ├── function.csv ├── library.csv ├── object.csv ├── relink.cmake └── relink.py /.github/ISSUE_TEMPLATE/03_feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Suggest an idea for this project. 3 | labels: ['Type: Feature Request'] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | * We welcome any ideas or feature requests! It's helpful if you can explain exactly why the feature would be useful. 9 | * There are usually some outstanding feature requests in the [existing issues list](https://github.com/espressif/esp-at/issues/513), feel free to add comments to them. 10 | - type: textarea 11 | id: problem-related 12 | attributes: 13 | label: Is your feature request related to a problem? 14 | description: Please provide a clear and concise description of what the problem is. 15 | placeholder: ex. I'm always frustrated when ... 16 | - type: textarea 17 | id: solution 18 | attributes: 19 | label: Describe the solution you'd like. 20 | description: Please provide a clear and concise description of what you want to happen. 21 | placeholder: ex. When connecting to an Espressif chip ... 22 | - type: textarea 23 | id: alternatives 24 | attributes: 25 | label: Describe alternatives you've considered. 26 | description: Please provide a clear and concise description of any alternative solutions or features you've considered. 27 | placeholder: ex. Choosing other approach wouldn't work, because ... 28 | - type: textarea 29 | id: context 30 | attributes: 31 | label: Additional context. 32 | description: Please add any other context or screenshots about the feature request here. 33 | placeholder: ex. This would work only when ... 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/04_other_issue.yml: -------------------------------------------------------------------------------- 1 | name: General issue report 2 | description: File an issue report 3 | body: 4 | - type: checkboxes 5 | id: checklist 6 | attributes: 7 | label: Answers checklist. 8 | description: Before submitting a new issue, please follow the checklist and try to find the answer. 9 | options: 10 | - label: I have read the documentation [ESP-AT Programming Guide](https://docs.espressif.com/projects/esp-at/en/latest/) and the issue is not addressed there. 11 | required: true 12 | - label: I have used the latest released firmware or have updated my ESP-AT branch (master or release) to the latest version and checked that the issue is present there. 13 | required: true 14 | - label: I have searched the issue tracker for a similar issue and not found a similar issue. 15 | required: true 16 | - type: textarea 17 | id: issue 18 | attributes: 19 | label: General issue report 20 | description: Your issue report goes here. 21 | placeholder: ex. How do I run... 22 | validations: 23 | required: true 24 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: ESP-AT Programming Guide 4 | url: https://docs.espressif.com/projects/esp-at/en/latest/ 5 | about: Documentation for configuring and using ESP-AT 6 | - name: ESP-AT Forum 7 | url: https://www.esp32.com/viewforum.php?f=42 8 | about: For questions about using ESP-AT and/or ESP series chips. Please submit all questions starting "How do I..." here. 9 | - name: ESP-AT Support Policy 10 | url: https://github.com/espressif/esp-at#esp-at-support-policy-for-esp-chip-series 11 | about: ESP-AT Support Policy for ESP Chip Series 12 | - name: Documentation Page 13 | url: https://www.espressif.com/en/support/download/documents 14 | about: Hardware documentation (datasheets, Technical Reference Manual, etc) 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # VS Code Settings 2 | .vscode/ 3 | 4 | include/config 5 | include/sdkconfig.h 6 | build/ 7 | sdkconfig.old 8 | sdkconfig 9 | .DS_Store 10 | 11 | *.pyc 12 | 13 | # IDF Component Manager 14 | dependencies.lock 15 | managed_components/ 16 | 17 | # Doc build artifacts 18 | docs/_build/ 19 | docs/*/_build/ 20 | docs/*/doxygen-warning-log.txt 21 | docs/*/sphinx-warning-log.txt 22 | docs/*/sphinx-warning-log-sanitized.txt 23 | docs/*/xml/ 24 | docs/*/xml_in/ 25 | docs/*/man/ 26 | docs/doxygen_sqlite3.db 27 | 28 | # Downloaded font files 29 | docs/_static/DejaVuSans.ttf 30 | docs/_static/NotoSansSC-Regular.otf 31 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | stages: 2 | - pre_check 3 | - build 4 | - deploy 5 | - deploy_docs 6 | - post_deploy 7 | 8 | workflow: 9 | rules: 10 | # Disable those non-protected push triggered pipelines 11 | - if: '$CI_COMMIT_REF_NAME != "master" && $CI_COMMIT_BRANCH !~ /^release\/v/ && $CI_COMMIT_TAG !~ /^v\d+\.\d+(\.\d+)?($|-)/ && $CI_PIPELINE_SOURCE == "push"' 12 | when: never 13 | # when running merged result pipelines, it would create a temp commit id. use $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA instead of $CI_COMMIT_SHA. 14 | # Please use PIPELINE_COMMIT_SHA at all places that require a commit sha 15 | - if: $CI_OPEN_MERGE_REQUESTS != null 16 | variables: 17 | PIPELINE_COMMIT_SHA: $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA 18 | IS_MR_PIPELINE: 1 19 | - if: $CI_OPEN_MERGE_REQUESTS == null 20 | variables: 21 | PIPELINE_COMMIT_SHA: $CI_COMMIT_SHA 22 | IS_MR_PIPELINE: 0 23 | - when: always 24 | 25 | # global variables 26 | variables: 27 | GIT_STRATEGY: clone 28 | AT_FIRMWARE_FROM: gitlab 29 | 30 | default: 31 | retry: 32 | max: 2 33 | when: always 34 | 35 | include: 36 | - '.gitlab/ci/rules.yml' 37 | - '.gitlab/ci/pre_check.yml' 38 | - '.gitlab/ci/build_template.yml' 39 | - '.gitlab/ci/build_docs.yml' 40 | - '.gitlab/ci/build_esp32.yml' 41 | - '.gitlab/ci/build_esp32c2.yml' 42 | - '.gitlab/ci/build_esp32c3.yml' 43 | - '.gitlab/ci/build_esp32c5.yml' 44 | - '.gitlab/ci/build_esp32c6.yml' 45 | - '.gitlab/ci/build_esp32s2.yml' 46 | - '.gitlab/ci/deploy.yml' 47 | - '.gitlab/ci/post_deploy.yml' 48 | -------------------------------------------------------------------------------- /.gitlab/ci/build_docs.yml: -------------------------------------------------------------------------------- 1 | .build_docs_template: 2 | extends: 3 | - .rules:build:build_doc 4 | stage: build 5 | image: $CI_DOCKER_REGISTRY/esp-idf-doc-env-v5.4:1-1 6 | needs: [] 7 | tags: 8 | - build_docs 9 | artifacts: 10 | when: always 11 | paths: 12 | - docs/_build/*/*/*.txt 13 | - docs/_build/*/*/latex/* 14 | - docs/_build/*/*/html/* 15 | expire_in: 6 mos 16 | script: 17 | - cd docs 18 | - ./check_lang_folder_sync.sh 19 | - ./check_doc_chars.py 20 | - pip install -r requirements.txt 21 | - build-docs -t $DOCTGT -bs $DOC_BUILDERS -l $DOCLANG build 22 | parallel: 23 | matrix: 24 | - DOCLANG: ["en", "zh_CN"] 25 | DOCTGT: ["esp32", "esp32c2", "esp32c3", "esp32c6", "esp32s2"] 26 | 27 | build_docs_html: 28 | extends: 29 | - .build_docs_template 30 | variables: 31 | DOC_BUILDERS: "html" 32 | 33 | build_docs_pdf: 34 | extends: 35 | - .build_docs_template 36 | variables: 37 | DOC_BUILDERS: "latex" 38 | -------------------------------------------------------------------------------- /.gitlab/ci/build_esp32c3.yml: -------------------------------------------------------------------------------- 1 | # Build ESP32-C3 AT Firmwares 2 | 3 | esp32c3_mini_1_at: 4 | extends: 5 | - .build_template_esp32c3 6 | - .rules:build:build_project 7 | variables: 8 | MODULE_NAME: "MINI-1" 9 | 10 | esp32c3_mini_1_at_tat_debug: 11 | extends: 12 | - .build_template_esp32c3 13 | - .before_script_enable_at_debugs 14 | - .rules:build:build_project_on_protected 15 | variables: 16 | MODULE_NAME: "MINI-1" 17 | 18 | esp32c3_spi_at: 19 | extends: 20 | - .build_template_esp32c3 21 | - .rules:build:build_project 22 | variables: 23 | MODULE_NAME: "ESP32C3-SPI" 24 | 25 | esp32c3_rainmaker: 26 | extends: 27 | - .build_template_esp32c3 28 | - .rules:build:build_project 29 | variables: 30 | MODULE_NAME: "ESP32C3_RAINMAKER" 31 | 32 | esp32c3_at_wifi_function_test: 33 | extends: 34 | - .build_template_esp32c3 35 | - .before_script_enable_all_wifi_cmds 36 | - .rules:build:build_project_on_protected 37 | variables: 38 | MODULE_NAME: "MINI-1" 39 | -------------------------------------------------------------------------------- /.gitlab/ci/build_esp32c5.yml: -------------------------------------------------------------------------------- 1 | # Build ESP32-C5 AT Firmwares 2 | 3 | esp32c5_4mb_at: 4 | extends: 5 | - .build_template_esp32c5 6 | - .rules:build:build_project 7 | variables: 8 | MODULE_NAME: "ESP32C5-4MB" 9 | 10 | esp32c5_4mb_at_tat_debug: 11 | extends: 12 | - .build_template_esp32c5 13 | - .before_script_enable_at_debugs 14 | - .rules:build:build_project_on_protected 15 | variables: 16 | MODULE_NAME: "ESP32C5-4MB" 17 | 18 | esp32c5_at_wifi_function_test: 19 | extends: 20 | - .build_template_esp32c5 21 | - .before_script_enable_all_wifi_cmds 22 | - .rules:build:build_project_on_protected 23 | variables: 24 | MODULE_NAME: "ESP32C5-4MB" 25 | -------------------------------------------------------------------------------- /.gitlab/ci/build_esp32c6.yml: -------------------------------------------------------------------------------- 1 | # Build ESP32-C6 AT Firmwares 2 | 3 | esp32c6_4mb_at: 4 | extends: 5 | - .build_template_esp32c6 6 | - .rules:build:build_project 7 | variables: 8 | MODULE_NAME: "ESP32C6-4MB" 9 | 10 | esp32c6_4mb_at_tat_debug: 11 | extends: 12 | - .build_template_esp32c6 13 | - .before_script_enable_at_debugs 14 | - .rules:build:build_project_on_protected 15 | variables: 16 | MODULE_NAME: "ESP32C6-4MB" 17 | 18 | esp32c6_at_wifi_function_test: 19 | extends: 20 | - .build_template_esp32c6 21 | - .before_script_enable_all_wifi_cmds 22 | - .rules:build:build_project_on_protected 23 | variables: 24 | MODULE_NAME: "ESP32C6-4MB" 25 | -------------------------------------------------------------------------------- /.gitlab/ci/build_esp32s2.yml: -------------------------------------------------------------------------------- 1 | # Build ESP32-S2 AT Firmwares 2 | 3 | esp32s2_mini_at: 4 | extends: 5 | - .build_template_esp32s2 6 | - .rules:build:build_project 7 | variables: 8 | MODULE_NAME: "MINI" 9 | 10 | esp32s2_mini_at_tat_debug: 11 | extends: 12 | - .build_template_esp32s2 13 | - .before_script_enable_at_debugs 14 | - .rules:build:build_project_on_protected 15 | variables: 16 | MODULE_NAME: "MINI" 17 | 18 | esp32s2_at_wifi_function_test: 19 | extends: 20 | - .build_template_esp32s2 21 | - .before_script_enable_all_wifi_cmds 22 | - .rules:build:build_project_on_protected 23 | variables: 24 | MODULE_NAME: "MINI" 25 | -------------------------------------------------------------------------------- /.gitlab/ci/post_deploy.yml: -------------------------------------------------------------------------------- 1 | check_doc_links: 2 | extends: 3 | - .build_docs_template 4 | stage: post_deploy 5 | tags: ["build", "amd64", "internet"] 6 | artifacts: 7 | when: always 8 | paths: 9 | - docs/_build/*/*/*.txt 10 | - docs/_build/*/*/linkcheck/*.txt 11 | expire_in: 1 week 12 | allow_failure: true 13 | when: manual 14 | script: 15 | - cd docs 16 | - pip install -r requirements.txt 17 | - build-docs -t $DOCTGT -l $DOCLANG linkcheck 18 | -------------------------------------------------------------------------------- /.gitlab/ci/pre_check.yml: -------------------------------------------------------------------------------- 1 | .pre_check_template: 2 | stage: pre_check 3 | image: python:3.9 4 | tags: ["build", "amd64", "internet"] 5 | needs: [] 6 | 7 | check_pre_commit: 8 | extends: 9 | - .pre_check_template 10 | before_script: 11 | - pip install pre-commit 12 | script: 13 | # MODIFIED_FILES is newline separated list of modified files in the MR only. 14 | # For non MR pipeline, it is an empty list. 15 | - | 16 | if [ $IS_MR_PIPELINE == "0" ]; then 17 | MODIFIED_FILES="" 18 | else 19 | MODIFIED_FILES=$(git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA) 20 | fi 21 | 22 | # print the MODIFIED_FILES 23 | echo "MODIFIED_FILES: $MODIFIED_FILES" 24 | 25 | - pre-commit install --allow-missing-config -t pre-commit -t commit-msg 26 | - pre-commit run --files $MODIFIED_FILES 27 | -------------------------------------------------------------------------------- /bootloader_components/README.md: -------------------------------------------------------------------------------- 1 | ### Description 2 | A project can define custom bootloader components by creating them within a directory called `bootloader_components`. 3 | Please refer to `esp-idf/examples/custom_bootloader/bootloader_override` for more details. 4 | -------------------------------------------------------------------------------- /bootloader_components/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "bootloader_start.c" 2 | REQUIRES bootloader bootloader_support) 3 | 4 | idf_build_get_property(target IDF_TARGET) 5 | # Use the linker script files from the actual bootloader 6 | set(scripts "${IDF_PATH}/components/bootloader/subproject/main/ld/${target}/bootloader.ld" 7 | "${IDF_PATH}/components/bootloader/subproject/main/ld/${target}/bootloader.rom.ld") 8 | 9 | target_linker_script(${COMPONENT_LIB} INTERFACE "${scripts}") 10 | -------------------------------------------------------------------------------- /bootloader_components/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | espressif/bootloader_support_plus: 3 | version: "~0.2.7" 4 | rules: 5 | - if: "target in [esp32c2, esp32c3]" 6 | -------------------------------------------------------------------------------- /components/at/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | dependencies: 3 | espressif/mdns: 4 | version: "~1.4.2" 5 | espressif/esp_websocket_client: 6 | version: "~1.2.0" 7 | espressif/bootloader_support_plus: 8 | version: "~0.2.7" 9 | rules: 10 | - if: "target in [esp32c2, esp32c3]" 11 | -------------------------------------------------------------------------------- /components/at/include/esp_at_check_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | #include "sdkconfig.h" 8 | 9 | #ifdef CONFIG_LWIP_ENABLE 10 | #include 11 | #include "lwipopts.h" 12 | #endif 13 | 14 | #ifdef CONFIG_LWIP_ENABLE 15 | #if (CONFIG_LWIP_MAX_SOCKETS + 6 > FD_SETSIZE) 16 | // 6 fds for stdin, stdout, stderr, /dev/uart/, /dev/secondary, /dev/null 17 | #error "CONFIG_LWIP_MAX_SOCKETS + 6 > FD_SETSIZE! Please reduce the value of CONFIG_LWIP_MAX_SOCKETS in (Top) > Component config > LWIP > Max number of open sockets." 18 | #endif 19 | 20 | #ifdef CONFIG_AT_SOCKET_MAX_CONN_NUM 21 | #define AT_LINK_NUM CONFIG_AT_SOCKET_MAX_CONN_NUM 22 | #else 23 | #define AT_LINK_NUM 0 24 | #endif 25 | 26 | #ifdef CONFIG_AT_HTTP_COMMAND_SUPPORT 27 | #define AT_HTTP_NUM 1 28 | #else 29 | #define AT_HTTP_NUM 0 30 | #endif 31 | 32 | #ifdef CONFIG_AT_MQTT_COMMAND_SUPPORT 33 | #define AT_MQTT_NUM 1 34 | #else 35 | #define AT_MQTT_NUM 0 36 | #endif 37 | 38 | #ifdef CONFIG_AT_WS_COMMAND_SUPPORT 39 | #define AT_WS_NUM 3 40 | #else 41 | #define AT_WS_NUM 0 42 | #endif 43 | 44 | #ifdef CONFIG_AT_WEB_SERVER_SUPPORT 45 | #define AT_WEB_NUM 2 46 | #else 47 | #define AT_WEB_NUM 0 48 | #endif 49 | 50 | #if (CONFIG_LWIP_MAX_SOCKETS < (AT_LINK_NUM + AT_HTTP_NUM + AT_MQTT_NUM + AT_WS_NUM + AT_WEB_NUM + 4)) 51 | // 4 fds for internal communication 52 | #error "CONFIG_LWIP_MAX_SOCKETS < (AT_LINK_NUM + AT_HTTP_NUM + AT_MQTT_NUM + AT_WS_NUM + AT_WEB_NUM + 4)! Please enlarge the value of CONFIG_LWIP_MAX_SOCKETS in (Top) > Component config > LWIP > Max number of open sockets." 53 | #endif 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /components/at/include/esp_at_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | #include "esp_err.h" 8 | #include "esp_at_check_config.h" 9 | 10 | /** 11 | * @brief Main AT initialization function, called in app_main() 12 | */ 13 | void esp_at_init(void); 14 | 15 | /** 16 | * @brief The netif initialization function, called in esp_at_init() 17 | */ 18 | esp_err_t esp_at_netif_init(void); 19 | 20 | /** 21 | * @brief This function is used to register all the at command sets. 22 | */ 23 | void esp_at_cmd_set_register(void); 24 | -------------------------------------------------------------------------------- /components/at/lib/VERSION: -------------------------------------------------------------------------------- 1 | ESP32: 795b9ae 2 | ESP32C3: 795b9ae 3 | ESP32C2: 795b9ae 4 | ESP32C5: 795b9ae 5 | ESP32C6: 795b9ae 6 | ESP32S2: 795b9ae 7 | -------------------------------------------------------------------------------- /components/at/lib/libesp32_at_core.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32_at_core.a -------------------------------------------------------------------------------- /components/at/lib/libesp32_at_core_silence.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32_at_core_silence.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c2_at_core.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c2_at_core.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c2_at_core_silence.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c2_at_core_silence.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c3_at_core.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c3_at_core.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c3_at_core_silence.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c3_at_core_silence.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c5_at_core.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c5_at_core.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c5_at_core_silence.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c5_at_core_silence.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c6_at_core.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c6_at_core.a -------------------------------------------------------------------------------- /components/at/lib/libesp32c6_at_core_silence.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32c6_at_core_silence.a -------------------------------------------------------------------------------- /components/at/lib/libesp32s2_at_core.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32s2_at_core.a -------------------------------------------------------------------------------- /components/at/lib/libesp32s2_at_core_silence.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/at/lib/libesp32s2_at_core_silence.a -------------------------------------------------------------------------------- /components/at/private_include/at_i2s.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #if defined(CONFIG_AT_BT_COMMAND_SUPPORT) 9 | #if defined(CONFIG_AT_BT_A2DP_COMMAND_SUPPORT) 10 | void esp_at_i2s_init(void); 11 | #endif 12 | #endif 13 | -------------------------------------------------------------------------------- /components/at/private_include/at_ota.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #include "at_ota_token.h" 9 | 10 | typedef enum { 11 | ESP_AT_OTA_MODE_NORMAL = 0, /**< upgrade mode is TCP */ 12 | ESP_AT_OTA_MODE_SSL, /**< upgrade mode is TLS */ 13 | ESP_AT_OTA_MODE_MAX, 14 | } at_ota_mode_t; 15 | 16 | const char *esp_at_get_ota_token_by_id(uint32_t id, at_ota_mode_t mode); 17 | -------------------------------------------------------------------------------- /components/at/private_include/at_web_dns_server.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | void at_dns_server_start(void); 9 | void at_dns_server_stop(void); 10 | -------------------------------------------------------------------------------- /components/at/src/at_eth_init.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #include "esp_netif.h" 7 | 8 | #ifdef CONFIG_AT_ETHERNET_SUPPORT 9 | #include "string.h" 10 | #include "esp_eth.h" 11 | 12 | #define CONFIG_AT_ETH_MDC_GPIO 23 13 | #define CONFIG_AT_ETH_MDIO_GPIO 18 14 | #define CONFIG_AT_ETH_PHY_RST_GPIO 5 15 | #define CONFIG_AT_ETH_PHY_ADDR 1 16 | 17 | bool esp_at_get_eth_default_config(esp_eth_config_t* config) 18 | { 19 | eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG(); 20 | eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); 21 | 22 | phy_config.phy_addr = CONFIG_AT_ETH_PHY_ADDR; 23 | phy_config.reset_gpio_num = CONFIG_AT_ETH_PHY_RST_GPIO; 24 | eth_esp32_emac_config_t esp32_emac_config = ETH_ESP32_EMAC_DEFAULT_CONFIG(); 25 | esp32_emac_config.smi_gpio.mdc_num = CONFIG_AT_ETH_MDC_GPIO; 26 | esp32_emac_config.smi_gpio.mdio_num = CONFIG_AT_ETH_MDIO_GPIO; 27 | esp_eth_mac_t *mac = esp_eth_mac_new_esp32(&esp32_emac_config, &mac_config); 28 | 29 | #if CONFIG_PHY_IP101 30 | esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config); 31 | #elif CONFIG_PHY_RTL8201 32 | esp_eth_phy_t *phy = esp_eth_phy_new_rtl8201(&phy_config); 33 | #elif CONFIG_PHY_LAN8720 34 | esp_eth_phy_t *phy = esp_eth_phy_new_lan87xx(&phy_config); 35 | #elif CONFIG_PHY_DP83848 36 | esp_eth_phy_t *phy = esp_eth_phy_new_dp83848(&phy_config); 37 | #endif 38 | 39 | esp_eth_config_t eth_config = ETH_DEFAULT_CONFIG(mac, phy); 40 | memcpy(config, ð_config, sizeof(esp_eth_config_t)); 41 | 42 | return true; 43 | } 44 | #endif 45 | -------------------------------------------------------------------------------- /components/at/src/at_fact_cmd.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #include "sdkconfig.h" 7 | #include "esp_at.h" 8 | 9 | #ifdef CONFIG_AT_SIGNALING_COMMAND_SUPPORT 10 | 11 | static uint8_t at_setupCmdFactPlcp(uint8_t para_num) 12 | { 13 | int32_t enable = 0; 14 | int32_t tx_with_long = 0; 15 | int32_t cnt = 0; 16 | 17 | if (esp_at_get_para_as_digit(cnt++, &enable) != ESP_AT_PARA_PARSE_RESULT_OK) { 18 | return ESP_AT_RESULT_CODE_ERROR; 19 | } 20 | 21 | if ((enable != 0) && (enable != 1)) { 22 | return ESP_AT_RESULT_CODE_ERROR; 23 | } 24 | 25 | if (esp_at_get_para_as_digit(cnt++, &tx_with_long) != ESP_AT_PARA_PARSE_RESULT_OK) { 26 | return ESP_AT_RESULT_CODE_ERROR; 27 | } 28 | 29 | if ((tx_with_long != 0) && (tx_with_long != 1)) { 30 | return ESP_AT_RESULT_CODE_ERROR; 31 | } 32 | 33 | if (cnt != para_num) { 34 | return ESP_AT_RESULT_CODE_ERROR; 35 | } 36 | 37 | /** 38 | * TODO: 39 | * Explicit include corresponding header file and call esp_wifi_set_11b_tx_plcp() API, 40 | * However the SDK has not exposed this API so far. 41 | */ 42 | void esp_wifi_set_11b_tx_plcp(bool enable, bool tx_with_long); 43 | esp_wifi_set_11b_tx_plcp(enable, tx_with_long); 44 | 45 | return ESP_AT_RESULT_CODE_OK; 46 | } 47 | 48 | static const esp_at_cmd_struct at_fact_cmd[] = { 49 | {"+FACTPLCP", NULL, NULL, at_setupCmdFactPlcp, NULL}, 50 | }; 51 | 52 | bool esp_at_fact_cmd_regist(void) 53 | { 54 | return esp_at_custom_cmd_array_regist(at_fact_cmd, sizeof(at_fact_cmd) / sizeof(at_fact_cmd[0])); 55 | } 56 | 57 | ESP_AT_CMD_SET_FIRST_INIT_FN(esp_at_fact_cmd_regist, 21); 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /components/at/src/at_i2s.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include "freertos/FreeRTOS.h" 11 | #include "freertos/task.h" 12 | #include "esp_system.h" 13 | #include "driver/i2s.h" 14 | 15 | #if defined(CONFIG_AT_BT_COMMAND_SUPPORT) 16 | #if defined(CONFIG_AT_BT_A2DP_COMMAND_SUPPORT) 17 | void esp_at_i2s_init(void) 18 | { 19 | i2s_config_t i2s_config = { 20 | .mode = I2S_MODE_MASTER | I2S_MODE_TX, // Only TX 21 | .sample_rate = 44100, 22 | .bits_per_sample = 16, 23 | .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, //2-channels 24 | .communication_format = I2S_COMM_FORMAT_I2S_MSB, 25 | .dma_buf_count = 6, 26 | .dma_buf_len = 60, 27 | .intr_alloc_flags = 0, //Default interrupt priority 28 | .tx_desc_auto_clear = true //Auto clear tx descriptor on underflow 29 | }; 30 | 31 | i2s_driver_install(0, &i2s_config, 0, NULL); 32 | 33 | i2s_pin_config_t pin_config = { 34 | .bck_io_num = CONFIG_AT_I2S_BCK_PIN, 35 | .ws_io_num = CONFIG_AT_I2S_LRCK_PIN, 36 | .data_out_num = CONFIG_AT_I2S_DATA_PIN, 37 | .data_in_num = -1 //Not used 38 | }; 39 | 40 | i2s_set_pin(0, &pin_config); 41 | 42 | } 43 | #endif 44 | #endif 45 | -------------------------------------------------------------------------------- /components/customized_partitions/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "AT Customized Partitions" 2 | 3 | choice 4 | prompt "AT Customized Partition Table" 5 | default AT_CUSTOMIZED_PARTITION_TABLE_SUPPORT 6 | help 7 | enable AT customized partition table 8 | refer to README.md in components/customized_partitions 9 | 10 | config AT_CUSTOMIZED_PARTITION_TABLE_SUPPORT 11 | bool "enable AT customized partition table" 12 | 13 | config DISABLE_AT_CUSTOMIZED_PARTITIOTN_TABLE 14 | bool "disable AT customized partition table" 15 | endchoice 16 | 17 | config AT_CUSTOMIZED_PARTITION_TABLE_FILE 18 | string "AT Customized partition file" 19 | depends on AT_CUSTOMIZED_PARTITION_TABLE_SUPPORT 20 | default "at_customize.csv" 21 | help 22 | partition table path 23 | 24 | config AT_CUSTOMIZED_PARTITION_TABLE_OFFSET 25 | hex "offset of AT customized partition table" 26 | depends on AT_CUSTOMIZED_PARTITION_TABLE_SUPPORT 27 | default 0x20000 28 | help 29 | MUST set the same value as customized bin offset defined in AT partition table 30 | 31 | endmenu 32 | -------------------------------------------------------------------------------- /components/customized_partitions/at_customized_config_dependency.txt: -------------------------------------------------------------------------------- 1 | AT_BLE_COMMAND_SUPPORT=y ble_data 2 | AT_FS_COMMAND_SUPPORT=y fatfs 3 | AT_SSL_SERVER_CLIENT_AUTH_SERVER=y server_cert 4 | AT_SSL_SERVER_CLIENT_AUTH_SERVER=y server_key 5 | AT_SSL_SERVER_SERVER_AUTH_CLIENT=y server_ca 6 | AT_SSL_CLIENT_SERVER_AUTH_CLIENT=y client_cert 7 | AT_SSL_CLIENT_SERVER_AUTH_CLIENT=y client_key 8 | AT_SSL_CLIENT_CLIENT_AUTH_SERVER=y client_ca 9 | AT_EAP_COMMAND_SUPPORT=y wpa2_cert 10 | AT_EAP_COMMAND_SUPPORT=y wpa2_key 11 | AT_EAP_COMMAND_SUPPORT=y wpa2_ca 12 | AT_MQTT_BROKER_AUTH_CLIENT=y mqtt_cert 13 | AT_MQTT_BROKER_AUTH_CLIENT=y mqtt_key 14 | AT_MQTT_CLIENT_AUTH_BROKER=y mqtt_ca 15 | AT_HTTPS_SERVER_AUTH_CLIENT=y https_cert 16 | AT_HTTPS_SERVER_AUTH_CLIENT=y https_key 17 | AT_HTTPS_CLIENT_AUTH_SERVER=y https_ca 18 | AT_WSS_SERVER_AUTH_CLIENT=y wss_cert 19 | AT_WSS_SERVER_AUTH_CLIENT=y wss_key 20 | AT_WSS_CLIENT_AUTH_SERVER=y wss_ca 21 | AT_CUSTOMIZED_PARTITION_TABLE_SUPPORT=y factory_param 22 | AT_CUSTOMIZED_PARTITION_TABLE_SUPPORT=y mfg_nvs 23 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/ble_data/gatts_data.csv: -------------------------------------------------------------------------------- 1 | # index,uuid_len,uuid,perm,max_len,cur_len,value 2 | 0,16,0x2800,0x01,2,2,A002 3 | 1,16,0x2803,0x01,1,1,02 4 | 2,16,0xC300,0x01,1,1,30 5 | 3,16,0x2901,0x11,1,1,30 6 | 4,16,0x2803,0x01,1,1,02 7 | 5,16,0xC301,0x01,512,512, 8 | 6,16,0x2901,0x11,512,512, 9 | 7,16,0x2803,0x01,1,1,08 10 | 8,16,0xC302,0x10,1,1,30 11 | 9,16,0x2901,0x01,1,1,01 12 | 10,16,0x2803,0x01,1,1,04 13 | 11,16,0xC303,0x10,1,1,30 14 | 12,16,0x2901,0x10,1,1,30 15 | 13,16,0x2803,0x01,1,1,08 16 | 14,16,0xC304,0x10,512,512, 17 | 15,16,0x2803,0x01,1,1,10 18 | 16,16,0xC305,0x01,1,1,00 19 | 17,16,0x2902,0x11,2,2,0000 20 | 18,16,0x2803,0x01,1,1,20 21 | 19,16,0xC306,0x01,1,1,00 22 | 20,16,0x2902,0x11,2,2,0000 23 | 21,16,0x2803,0x01,1,1,02 24 | 22,16,0xC307,0x01,1,1,30 25 | 23,16,0x2901,0x11,256,1,30 26 | 24,16,0x2800,0x01,2,2,A003 27 | 25,16,0x2803,0x01,1,1,02 28 | 26,16,0xC400,0x01,1,1,30 29 | 27,16,0x2901,0x11,1,1,30 30 | 28,16,0x2803,0x01,1,1,02 31 | 29,16,0xC401,0x01,1,1,30 32 | 30,16,0x2901,0x11,256,1,30 33 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/client_ca/client_ca_00.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDLTCCAhWgAwIBAgIJAMQZBKBLTB95MA0GCSqGSIb3DQEBBQUAMDcxCzAJBgNV 3 | BAYTAlMxMQ8wDQYDVQQKDAZFU1AgUzExFzAVBgNVBAMMDkVTUCBSb290IENBIFMx 4 | MB4XDTE5MDYyMTA4MDAyMloXDTI5MDYxODA4MDAyMlowNzELMAkGA1UEBhMCUzEx 5 | DzANBgNVBAoMBkVTUCBTMTEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgUzEwggEiMA0G 6 | CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt/chHLK76uZwnGywrmWDFt8ixoH2G 7 | KJi3QzEW0MT0GUX1/6bCRKEkvDY6Neze26+a6sJCwbhOLcCGIxiPi2L2QHeCrO2n 8 | PxTfl2pGm+Vhe0TzTJhHpBSrdbnk2DQBjg6CzK+3f6ZBSuKACpMfHg5Xovgq/2Uz 9 | N3Dz1nZ5N90OlNSNBjFW4i9vIk5LtSh62cEFtdGjwGlXtfm4k30ZxfZF8P9z9FXI 10 | m9t6L8+B0UqE2Bysg/pHadmw/D0IOqnyji/gzJ56dLQES/Of1R0LQ9EG7ZZLG3eM 11 | 1IsSww+0/Iarm1LqAFfTE3NbYkSajAEXIFEsbHpIw4A36y6A80orIq8bAgMBAAGj 12 | PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBQE1Ucuke3Z 13 | PAiqLlJFyBWR3nV0ujANBgkqhkiG9w0BAQUFAAOCAQEAMgH0OyIh2kgw4s7Gv1Uo 14 | vDKhCCO0GqRYBAzEkXbHSJdl1pYFyp2yNCnPWztF6aDAmM9EzWNOJQlig4xwB1SZ 15 | Tgk3ov6tkRicfbwhvIfAvvb/XWfVo1XsL20Bp4euE/tI9JmPGOUzuiQWaxVrlkuc 16 | qAg4U3gcHY6nBkanpbY9idPF4lDLYZNkxe3+0mp50NxHmiuM/ShoR8xs0ee4fydV 17 | wI52uuiEGtjcivHPr0t8J8N+dXJPKqddszsrelwuCDsYMhpJLR2obTMxJx1aP5Zx 18 | jw5BTh1TrdGUDe2JumZ7YDUpkQHnfdR7XTF6XubbeJBjHwWr1A7AzFwmbZDO266s 19 | Rw== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/client_ca/client_ca_01.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDLTCCAhWgAwIBAgIJANPlC/VxYt9YMA0GCSqGSIb3DQEBBQUAMDcxCzAJBgNV 3 | BAYTAlMxMQ8wDQYDVQQKDAZFU1AgUzExFzAVBgNVBAMMDkVTUCBSb290IENBIFMx 4 | MB4XDTE5MDYyMTA4MDAyM1oXDTI5MDYxODA4MDAyM1owNzELMAkGA1UEBhMCUzEx 5 | DzANBgNVBAoMBkVTUCBTMTEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgUzEwggEiMA0G 6 | CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC59qk+ffINTVzMgw7WqP2nQfyh6rhg 7 | pDR5HXq6HB4wcN44ISjqPoyNd/6NAK/wucW3KRl4hOpKyjhWzuvmy1PdaiIlbW7m 8 | cDgq2lTOScwtFq4WEuifeemG4OXfhBRpuKVQaeeUDOVNYIoLCtt4ttsUwTcjeTGb 9 | DpoT5l9zXnv1EgQYv/0Jxw+pqW6feDI77WJzpj26i5iTjCGI+sA8U15QJL05cQF6 10 | +kgMVTMGqskjSG0CRkTFSJSIgZB21o1xwTNOsakv2pCNYhH3ejd2sNIsnPoX4xtJ 11 | EpW3Jsov9wgLWGpE03ywww2JQjxtKjdi5/2CRvQjVt0T6emAkckzWoR3AgMBAAGj 12 | PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBQBLXFaWj2N 13 | 1zPcaOsbVtjQlyThMzANBgkqhkiG9w0BAQUFAAOCAQEAbe68ZYIbX0voqF9P+gFz 14 | mMvWPpqnpSbJoYvz8BJ9N++n9594C5kVcVd5Mi16gdUtkcUiDhomjS//rnAZVbmU 15 | ku2zgqrHSEGvITRy9hQEpcV6JzGuq3Wpjn/MpYvahitC7aAw310ePdAIuZniQBBF 16 | 9Tah12iF5z8aTE7vHvBEP8xyooWq/KsWuTKcohUwHf5De8RaAOMU4m4cyEMqSHSF 17 | I7gqx02S/mDV/r0SdE+hv2MfBS3sXh3Ia7YIHQUIa2bWuSAo7mnWgpNtJsyheus0 18 | GANTwxtDdu1FK8h27E2kO+ZTHwpxLPFE8wR6fvUFEOYEK+VmN3XwUp7HelVYxecE 19 | NQ== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/client_cert/client_cert_00.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDLTCCAhWgAwIBAgIJAN6LrsW0Qt2FMA0GCSqGSIb3DQEBCwUAMDcxCzAJBgNV 3 | BAYTAkMxMQ8wDQYDVQQKDAZFU1AgQzExFzAVBgNVBAMMDkVTUCBSb290IENBIEMx 4 | MB4XDTE5MDYyMTA4MDAyM1oXDTI5MDYxODA4MDAyM1owNzELMAkGA1UEBhMCQzIx 5 | DzANBgNVBAoMBkVTUCBDMjEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgQzIwggEiMA0G 6 | CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC02DXgCw0gSDShaHLDlanRppKjIoJ0 7 | JW/+gDkg8j1PCNm5WxkAx3BItBN6hnJwwlQ4DMWCZXe+EDDYz8cKLC5g2TetrpxJ 8 | aSQ4JyPqxU5uiym26C+nTL9/d40Nom//3+fDjA0+7bdUkffcKdhZV7MsxKF2dBb9 9 | eKFJeIjc8q0Q0LqKr3xnKOeGN2Xt80oJTv8XIEfko/mfkINr83AhH/WPkSg2kJS/ 10 | C2Xyl6Q22ew01vZv0Am5ocl3+ju2Dyv/nbQl2Vru1K9TD+b8fDacmqZco4oeQBvf 11 | EhyW7FOhUf2yLgpUdEEGyAMZ9JgoTJih1dnr9CLHkt/XMCn03HOcfpPlAgMBAAGj 12 | PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBR+kprR64Cl 13 | lQZk6w6hJGlsrerCTTANBgkqhkiG9w0BAQsFAAOCAQEAYfcgIyQsA+lvlIMIz+1z 14 | cyhnGuwywEEa0h5pGvWizxfx/EARam5sCXC49i3S788wAqbdg3d8iQp662ybT3O0 15 | WimqJDgr7LFIMq8UIxJHIMdcf7mUmleUJUmbAiFAo1XWb6MoVIUW7aR1+0aKKCIK 16 | OcvYlvkenM3P+lLQe/nEvnvyhsc78V4V56FKz/S+ePsgSIurEaDnFe8LSZ5aHESB 17 | p9muQdGJYMuR1GnZbINix/4j8Q0S5z2MI+6bWqU9cfk1rFuHqd4tZ6BmLCAFC7fH 18 | w6s/PGhr0UHx+NmTmdOvp9Ny2qLO9vvfl5h7wDG/pzcGvbYWHPZSvPeNVQRE13DH 19 | Dg== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/client_cert/client_cert_01.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDLTCCAhWgAwIBAgIJAN6LrsW0Qt2GMA0GCSqGSIb3DQEBCwUAMDcxCzAJBgNV 3 | BAYTAkMxMQ8wDQYDVQQKDAZFU1AgQzExFzAVBgNVBAMMDkVTUCBSb290IENBIEMx 4 | MB4XDTE5MDYyMTA4MDAyM1oXDTI5MDYxODA4MDAyM1owNzELMAkGA1UEBhMCQzIx 5 | DzANBgNVBAoMBkVTUCBDMjEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgQzIwggEiMA0G 6 | CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDbK2flMiWCkvWdXJmVo23frgDtrB0e 7 | HlslB1LK0aH8jGpEVqLWDMFDFapxC/FyqBjPW4c+8ruKPxnUjTygYT2BvnqzTvKP 8 | fk6x1/XJfDGlOqF3ao/kWLBjcuJvIJNIl0K7HgDxXrU0JP7mE/OSJuX4Wne7Qwjg 9 | in+93AZelOp852lNcZkjuGbJiPP6r6WZ8XA7ocByD5aIsvmNsu/9nVi+eCB43cLi 10 | 1jNrb8m3FY0Cje58ZkMIHADe91bHepMC3NObwTCjSOASJBay/3ffn9Hh8RukB8Sa 11 | +CBRkw28OLsvy9pe68gzQB/ByzYn9YA9CbPhAcPIFzZGGcYzYpJ4+iaBAgMBAAGj 12 | PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBT+jizf84cm 13 | xiP9JWrdTMqu/s1fhjANBgkqhkiG9w0BAQsFAAOCAQEAUaJYorLzwlU++noeCbn7 14 | dDEgHO/F4bqbIaxQBZt//tUxdk5PWaaS9KwqYckAC63PWX4+4z1yJjS7uHMgpVJ3 15 | 4zVeWWAR6I4vKxYNDWRLSqsnmiIp+9SUxCZhdvgPwaoFT3W8ytOLhpyvtujW21uk 16 | InB4oF94ADGzZeW1rKNammUYxENtW5ail+ZopNGEw8DjRfrWwi+VT/TgxWWBShlO 17 | IZoo+Ob+lq/hF+9xEAhAxeP9qcO8FXnzhKkvhxJK5ek0ZCMeCcZ8p0sSmj4RYaOf 18 | 9CApVRkOYcysI2Cwe3H2d5+RMx4iIgEbOrzlW2Rssmw7wgbyka/8co2cM7Nn4+84 19 | HA== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/client_key/client_key_00.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAtNg14AsNIEg0oWhyw5Wp0aaSoyKCdCVv/oA5IPI9TwjZuVsZ 3 | AMdwSLQTeoZycMJUOAzFgmV3vhAw2M/HCiwuYNk3ra6cSWkkOCcj6sVObosptugv 4 | p0y/f3eNDaJv/9/nw4wNPu23VJH33CnYWVezLMShdnQW/XihSXiI3PKtENC6iq98 5 | Zyjnhjdl7fNKCU7/FyBH5KP5n5CDa/NwIR/1j5EoNpCUvwtl8pekNtnsNNb2b9AJ 6 | uaHJd/o7tg8r/520Jdla7tSvUw/m/Hw2nJqmXKOKHkAb3xIcluxToVH9si4KVHRB 7 | BsgDGfSYKEyYodXZ6/Qix5Lf1zAp9NxznH6T5QIDAQABAoIBAHPyyCAclc7j3LK8 8 | SBC0jYv40726q4+STUsMpRRFnB9nWkkoalCAjrJemrqNJyS6w8qoDZ58NhjrQpZQ 9 | KZqRFy9LNhKqiFPdELbcCYBF/vKLUTSPi7YlVAaC/TIHuu2AfpV23ytAuLGFYTiM 10 | r8UgoKWMcMWEyxS62hZELOQUx/el9xjTv3+HWS9804qcrdyqztJRw2M1fton8C3w 11 | GPVZ7uwr2aqyuFDLAS17tanTl1E66iczHef+cTK4TjGLIMcNkNHPerAqJ7Le6o1R 12 | VQaRJX7pVq5uc3jty84PndWhX/Uyo0t3bsI1x+62L6JA37ML4WSDZtBzWyQPJw0l 13 | YJ8U1SUCgYEA7dO84bV51seNO+vqejCGpk69LQj5wCh06iROcjb3knbODQbRQKOM 14 | 6g21e++Z4WEfoQWaLZVdPn71cXR+EbOvfacG5tGpDus0ZhxH4IM3HmYb5vfcJ0mU 15 | byiPfZQSVxjCsdV2vWsbZbHKl5p0UaAyiyT2pMkl4ngySL1OE2dlm2sCgYEAwqnO 16 | oE22l2O/HCBpAmG/7IyOLjhbTuUHlshe8O3KH18/WFbp4Nvf2qv+FZoCRp0W7B+4 17 | 2P9Ncusq3M10TsUh3A/5QOineCPsKe22UTzs2WOAP+YT0MORFWmQttnEETn2+3zS 18 | sdu6M0K7K/XYtEHcgFM3TT4iP+keYemsYGlpMe8CgYAU0pcVA/iY73vUJUGwVRNU 19 | +Evj54dGZcRmw6sCoQFoF3LO/SvRBwDNdUnQghfs/b3xMTZgi1VQpXkD5/kpv5u7 20 | 2qXmC7FLlxhNYGiCpbprtPD4dfcWkYCngtudWRuJ+KcDPvdYeko5yyk7wNAyXV5P 21 | hHr7zoi8nV15tOljFYh15QKBgQC/sKegg+aCPd87u06s4cU1E1QPf7+qeS539OhJ 22 | KGAZdJnUTAITQ3G0zBlw/C+xiY/BBZvpU77Yo2uZ81fNGaK2KaSxnmkLjZRJ1aPr 23 | a6twhuMMCW0J7ws3orS22sqQjBwCmnCAZHd/cv8N0xKKrzCLzWZv0fe4J7+be5gb 24 | eLH2UQKBgA6DmumbC+aqdSFaYphFFiCEXzrr6o6Iy1d694Ll+Umsx8JnI3TaRuAy 25 | cDLbLZ41vKeRqkm0ylLEBwsVa7/ycL29eG5vzI4mSg8XABDZaCbOfpyrJzruGTKg 26 | G4NFJpOVnlhhl5qcKsWhkBwvTGao4+j7FFI1SmbvwxtzmhpvDp/e 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/client_key/client_key_01.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA2ytn5TIlgpL1nVyZlaNt364A7awdHh5bJQdSytGh/IxqRFai 3 | 1gzBQxWqcQvxcqgYz1uHPvK7ij8Z1I08oGE9gb56s07yj35Osdf1yXwxpTqhd2qP 4 | 5FiwY3LibyCTSJdCux4A8V61NCT+5hPzkibl+Fp3u0MI4Ip/vdwGXpTqfOdpTXGZ 5 | I7hmyYjz+q+lmfFwO6HAcg+WiLL5jbLv/Z1YvnggeN3C4tYza2/JtxWNAo3ufGZD 6 | CBwA3vdWx3qTAtzTm8Ewo0jgEiQWsv9335/R4fEbpAfEmvggUZMNvDi7L8vaXuvI 7 | M0Afwcs2J/WAPQmz4QHDyBc2RhnGM2KSePomgQIDAQABAoIBAFZRQwrmdBV38Zn3 8 | RVnE0toceqsgdRtOk1EDEF1msKh5WMTvZhRtU5QrLUR2krI4eAT6pEpraOcqsO6g 9 | bXcwtPurXEHQXwGamj26s0eWTSso6zzP0Dn7oASa04k2yCr3v8VYLMDjLvSJeYZ9 10 | 5xjxjvMAFlW/MfjVMzhANpX7ilqEQpTbeDnig5CWZIVlEQa3/7eqPnaA7Q7vcMAq 11 | neaSzLSaF1X1MAow53OPackPhar7RQsqUuX3+PjrNUWgKG6aeMe4ej0FNFX2vsa9 12 | DWVROoE/9dklfh6KawP9wIPTErOlqP3ZZ2WRQySvh3EHPGeDVMWw7attL1uYdDHJ 13 | e3gKpAECgYEA98hgLo8pPzV3PlKvraMEcyTU3v4AcIwcb7UgHzRHkFzkj7tPJe5m 14 | 0TfxOXnyyLz3v3QaQbC40ruaY9bU6va8/fpbGmrfR/1OJA8v/gmquGPQJlmJOV41 15 | 9Wy0h2CtUV/dG4ZH9NUKyCCt7FgR2t8GQxdcZ0hm025mSO2Ko+GzUCECgYEA4nAc 16 | OfUgOXM4aNdsUkMv2miEZZY5RAAsapFWQ5QTuXNAtXyySgE12fMToZ7tPZY+FGM+ 17 | XfSA9JVmvw8uXnnj/m6nianzxYj6R+wRDdeZAB33eBoM2Sy0lX3H/ta7vWBULtuh 18 | nxHAf40Da5aOFjrBtaFKoq/Ny719MuxYKZv3imECgYEAutjzDqkOJYgf33Ni3sEr 19 | PdjsXSuVEUnWt7YR/vXhcU9bW7eXu7bG+cYBtaHsHsvA1zKqChdFiEPH7Lm33Wcq 20 | pSsBQC6PKS4umqqJOjv37Qv3jrO98vDEJ8pNaDjS+aYcigD8ifeNJdTe0nanIDFF 21 | +5nGKGxEffOmViAqh+JO4YECgYAIWdwgoxKyK7ar3y4GhqXQJ0SivnyULnF06LFG 22 | wsJLd52uU8/7fLnwtM9HiaX0PINDmzlkm6zZ2Fy2tSefol0vOAODxznPUjLwzhr+ 23 | 6LGi2HgU/Nj2dXiffskOc/rujAvuwnjedfgkfB3hLOdGmJomSbGH+HXdirqAU0kZ 24 | F8B0YQKBgC/dY2kMEcqHMxGdgwI4t61B/V6lnUTq6KCHjoHUI9dxcGErnrkhR1oX 25 | rRO3dCjOq/W/R6ht9V9GlAocJ3QILgfTm4RDUUUzAoFVDe6uL/U8hQHj0pybIQ6/ 26 | WJjlnUcywxJPEb4V1RnMgrvMgJBwtDb2n2xKcoxeeOYhtw8r3MBL 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/factory_param/factory_param_type.csv: -------------------------------------------------------------------------------- 1 | # version information 2 | version,data,i8 3 | 4 | # module information 5 | module_name,data,string 6 | 7 | # Wi-Fi configurations 8 | max_tx_power,data,i8 9 | country_code,data,string 10 | start_channel,data,u8 11 | channel_num,data,u8 12 | 13 | # UART configurations 14 | uart_port,data,i8 15 | uart_baudrate,data,i32 16 | uart_tx_pin,data,i32 17 | uart_rx_pin,data,i32 18 | uart_cts_pin,data,i32 19 | uart_rts_pin,data,i32 20 | 21 | # configure the default system store mode for AT+SYSSTORE command 22 | sys_store,data,u8 23 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/https_ca/https_ca_00.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDNjCCAh6gAwIBAgIUP3d8a/RUnlEPQsRa4UBAWEYaBJgwDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MjQxMjA3MzZaFw0zNDA5MjIxMjA3MzZaMDYxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxEDAOBgNVBAMMB1Jvb3Qg 6 | Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTo5+2kfKAm25YdMtw 7 | KH+pXmzZXEez8Dj6dySvKNlgL0lEdu6p9Da1d3LztWHXAQ/Ak38bZku6yYve2Mxe 8 | Y+cO5i6ELoAeLdXofuDt8/q6GvyhSGKkfW8xc0V8VRYwpyqX6I3fkeJUWQmxNyE+ 9 | AyZtpF8NmtcKTWAFOvw6prLmLclpVWC8OerTYMPO8P77A0HETzjvbU42ycOgsHW1 10 | TmDCpLr7eL/HP5sneKsMtbf+Xz4dy6y+ozKTcDJVY0JwNte/caP2rcUwI0hcxSga 11 | SgEQPnIo5vGXVUJ8uet4L729ZGosce/rAUmaMr6p+awZ+3xdWfSCS1PTV94qGzhV 12 | CgWRAgMBAAGjPDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQW 13 | BBT2hVSzOZoFCAbPW5wEjLSyzSLMmDANBgkqhkiG9w0BAQsFAAOCAQEAgWVnQprQ 14 | lJnxYydhmVSiU9+Lr7CjBKxS+/VXBloA3j2GlkYeGobAUnsbAGrH+ZO5Oi5D5rWD 15 | XyOm0DdNZow2Omw+pL5DHvfsSix1fVQELc6EAhmnrNXiAmMV/PUs3ddue85yO7XF 16 | m8+3r3NheMTJyCs4/iXYWwXznBwZmJqB77KCNs6Ma57vIHofkXGYvMtd5sxydO6u 17 | 1ZrGTwcRVp8ld6RhGiNTNCUkSQBZqKcGBkQYOvloaEmZ7GrTK52s+w0glP0P+qsD 18 | 4A+yCbGHf3YjsmTHIh5eczOlaSERUDg8l+WGWdAAvodJudEdRNNahwVHXYpWNZsC 19 | hhMx8RPaKHt4yg== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/https_ca/https_ca_01.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDNjCCAh6gAwIBAgIUW/in5kl9y7osAQ9N9/s5atyBXOMwDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MjQxMjExMDlaFw0zNDA5MjIxMjExMDlaMDYxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxEDAOBgNVBAMMB1Jvb3Qg 6 | Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGxU5Te1SyfzYRZ+QP 7 | KBEnQ8TxZSwQMCDHFGX8bvmGbCbaJVG4mOZb7XIh4cANQ8zrBIcCQqucQJcVDNgw 8 | vYyAJ3C+54RzOKkOnd9gctZP0+rqmsrg9k7Yvl9loHU5lLfyTmr3GGW7a6sxUC/b 9 | 5jw6uNf0SIEfHHglAtMeuW3bEWaAUek+q7krPlAV2bArP2Bb3N1l/hMPCMyPgLVb 10 | tGxH21IVwhToKiBkOjj6hl8FxeJuM+MQGwBVNSORWcHwNH3PXO03M371dnZZvVBA 11 | qDnowEP4ktHRN0+dgiRGsk9L2wMrnBcUeVySHCrzLg60dJpvPmOPL87D9Dz5OEP3 12 | ShZnAgMBAAGjPDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQW 13 | BBR9IrXOKLhXrF7rBFCtok0y1JzlSDANBgkqhkiG9w0BAQsFAAOCAQEApy+xmdsE 14 | U+NiwdwwObSj8Nbb1IOTExx3zSb2UGxb55nvNQLZW/ioVS7o0uqgxrcYzrCc9fqq 15 | SaBW5a584v0nV6hBNCzPymwQb4A2cwZOVPoyYZz/j8C3oefQzyLr12gRz8mvmnoa 16 | t/YMjkzzXPiqiFC7ELm2JKC2N1CsQHJX61dDTc/l3DDhLcqAvvRkA8ENwmLlwuiM 17 | gjV6WA+jbhoT+/i9HFbrHWpFRySxqNF9S2W6NixeZAdeF3twpEe+zQX3nXGz0Zbu 18 | McZWTxae3siLfjt/x1Oy10w7LA0iJKjvyt4gElL+rNaoXPWjOmtZTQTmhMjab9D2 19 | AkKPsIJ/kSJG0A== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/https_cert/https_client_00.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDVTCCAj2gAwIBAgIUf/pY5zhMp9T2qU/EGfRRepUZeD0wDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MjQxMjA3MzdaFw0zNDA5MjIxMjA3MzdaMDQxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxDjAMBgNVBAMMBUwxIENB 6 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzWQyPDO0etdELkkPa19U 7 | OsLSyWNS2Z0xMRnT4/6Cj26jcFRR311B8gfANxfBhahW4lnmUAYWd/p79e/O0tK1 8 | TWmWF4JF1sZv4bfVnGWfXwg66KKfsQrJ+wNG8FPkVeBN7yKxmW61qhnoqGX2MJCq 9 | kPncbAYn6OXAhIR0igX4PLDuvKB1i0uZHJ5rv3QL5oRBc5qCXf3X0AX8CX8TUFR9 10 | zT2cXhDcVqBFzaawJ/QNm8/gSJCGlrl38b2n51n5ziV9A3WXh/o9NOjN7DcNj6OW 11 | +nhBYH0UIoSJ+pOKM1uGzqMnD041/KROptOMFoW8kfU3INpFeKveQ4aWnh5WpKaI 12 | CwIDAQABo10wWzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAdBgNVHQ4EFgQU 13 | FWzPZZ18gHJTqmeY5r34nl2xbiAwHwYDVR0jBBgwFoAUW7RtJO/DdBMMTOw7g9Ba 14 | DI5BWBswDQYJKoZIhvcNAQELBQADggEBADeWIkd5EnFRVKaWZx9hajlJjm3K0G4r 15 | 2YZtvB1kCZJM3uaL4bv0lmEpkR2DcTC+5qzijuuYsy+EI7Lx6T2NyRc66q842IjE 16 | eDP/AisQVCA2SsrQ+TOlDtzYwX14n4aQRlbtiZ2TClwRo/F/OIQTnAgm5zL+aQ/i 17 | EVC7cC7ZsBwU4mKOBWUadI0I+ynZSPGmkR09LlQNdb+xiWngPcXSVsOjG6X7s7/C 18 | 9IPwjDVubOMzur8NZwcqS4JBovA+A3z2+ELLx1MOZ+nWAi3Y/4HkZLnZYJI4RZmg 19 | daBlk68qvaMX0mBn7egIy5XAToKiTSDE58SofN4+ZLrEIDfg+WNSpvo= 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/https_cert/https_client_01.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDVTCCAj2gAwIBAgIUQWolfho6u3Kv+/EQEyh4HRZSGEcwDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MjQxMjExMTBaFw0zNDA5MjIxMjExMTBaMDQxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxDjAMBgNVBAMMBUwxIENB 6 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA62U8UelsM+2U8VkDqGTJ 7 | Ce4oN8Y3VNjLDTq/x/9cOSYqdkBbv5YQw2amlDvOHoIEi+o3PJwIZe2IFop5C5Vs 8 | IuK+GzJ81WkYdWjp6ramekshGcX4ubT3KU6KfArR+QlNxfAzpkpKfeEVJ2oDh47+ 9 | ClWjlZPUELCKEc0a8Zl52+UilRXxETPwvKeP9CxGCAmyFfUDVYWCNrng6EPoGxw2 10 | o5FWGDDLF92eNJlwalZCdRHGrk4BGTnO2RvH5CCmfvdIkUSuEC4pXDHl8vQKGMkL 11 | cR9oXFncqbEv85V6P4aEGf0THUf//60q2ec/cxam/7stcgswXT/dZ6U4wMN+QfNW 12 | qwIDAQABo10wWzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAdBgNVHQ4EFgQU 13 | DY+h4s+6OWzL0H+DRsXuZBN50eQwHwYDVR0jBBgwFoAU0rzrkZehqtlfnSZTjhbt 14 | i899QzwwDQYJKoZIhvcNAQELBQADggEBAHKV8S7Gv4uzSyEtttOSoI0TAAPky/Pm 15 | EBGGR40BYBespaXU2jKrBNgd/bd4RoGXYjqkk0qkoD7Xh4oRdMAOzQkiFxBE2aSw 16 | oi37FmFJzcjURMS7OR39+JN2KlJ8Pdd1suRcM5LVbg1AqHZ28iRSKB9lhx2HoXLF 17 | Uh8SsHnuv+1Xs60tT4AgCUUSkESVLUOECLK22HE51/C1o6axeWHRcl3SH9YIcr7m 18 | QMZr3QoVocn23rlnOtqnk5FqAusoXwJq2QMl3J1ErmAFUui58ayj/MJ9LTm5Cc9j 19 | x6S6QYiOn1JswqqgK7sGNmKqjEQOa931HfoFQEIa3qBE6eBb8F43fXo= 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/mqtt_ca/mqtt_ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDKzCCAhOgAwIBAgIJALucdhOxiHu6MA0GCSqGSIb3DQEBCwUAMDYxCzAJBgNV 3 | BAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxEDAOBgNVBAMMB1Jvb3QgQ0Ew 4 | HhcNMTkwOTAzMTEzNDM3WhcNMjkwODMxMTEzNDM3WjA2MQswCQYDVQQGEwJDTjEV 5 | MBMGA1UECgwMRVNQUkVTU0lGIEFUMRAwDgYDVQQDDAdSb290IENBMIIBIjANBgkq 6 | hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu76UqoHKemn8BeUqgxeNEdllMY2pe+/i 7 | DxcS80dLhxTfr6pmSQtP8gDNgrjLLiBAHxSMXfCPcI4piyHJoya0dxhREWLHImjN 8 | m6t+wQ+FgN1i17j1qiOSKhx983UynK2HYL01vjI5fcDicLe4bZA7T5Hxt8Lrqw0q 9 | 1WJDg9AiHEb0aJpVeE9Rf2DgqZE1iosHpLKZKJkSnnlkp8I+8jF0Rz+vXDfdVAjF 10 | A8MrjeL6vTqEsUotc5L9X/yJsHwCvk/hCCH0JZANT6MXPc1WRx5Fh21WGdB7kooe 11 | CoBjAKFrcRTME0cvThNNgYbZYEkJsFqxFhMQF9HLiGQh9BfHCHBnBQIDAQABozww 12 | OjAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAdBgNVHQ4EFgQUBcQw0O6/xef5 13 | UMcfLMONZRAQQXUwDQYJKoZIhvcNAQELBQADggEBAHlpmib/BlzY8LPveCxZJJa0 14 | B7CzEvXUkihxmW0vSJsuPHz6NWm+5vByX0QPyvJ/b1iensg2bP9fJ6JApy0zSUgd 15 | h31Iok7ghdMkmFlOFDEORQCvF8LKMsHdsV4M+qAEZBxACLhJiOXL8aQx10Ntr02d 16 | kUUdxxVZZPDscW9rYSqPkXotlQ0dl5HIvU2aU7A2g14Gl6osry1qct+RDMz+wx1j 17 | Gxqzf2SOFNZhkhVCuKahjIf/mDFAcahwmcLkczplYKYohDgKExd5pmLjfSXD4R54 18 | 1klitPr6k6XGrNpdnYPnyvDfq+n9WTaEhkbSF1yTUDakpgnmmflyc3jJrn+QFO0= 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/mqtt_cert/mqtt_client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDKTCCAhGgAwIBAgIJAMTR3qEc0i8+MA0GCSqGSIb3DQEBCwUAMDYxCzAJBgNV 3 | BAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxEDAOBgNVBAMMB1Jvb3QgQ0Ew 4 | HhcNMTkwOTAzMTEzNDM3WhcNMjkwODMxMTEzNDM3WjA0MQswCQYDVQQGEwJDTjEV 5 | MBMGA1UECgwMRVNQUkVTU0lGIEFUMQ4wDAYDVQQDDAVMMSBDQTCCASIwDQYJKoZI 6 | hvcNAQEBBQADggEPADCCAQoCggEBAPWC3o/rT1M1G90J1glD2vIAv8HoYUAuE+Ph 7 | X+0nv7s5p6XRMWHNR3xG3L/R+gVGRW9uJyU6omqANy6/kM+bvh4CgZAdwqbL+ILk 8 | FlkP6Pe49RvEtfeb3N/X+q8MkMLy9x5k7YgPmmueU9jQZmd24DPaKdB0KYTMiTVs 9 | 9rorHY1hFgTnL1VRNUTTKwqxWiqa1ZAID0U2PC9SOTduzuxkt3LlpnclI2/FUFZb 10 | +8vxfoFknr37DMzep4qlBbUYxZYtxGwNbiWBVArsSO7QiltItzD9PejJ1m2bVlfH 11 | clUqh8OArTPDhbA7im2J3BvhVgqCD8uUU0B0mugWFUVP+LFXS+kCAwEAAaM8MDow 12 | DAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAaYwHQYDVR0OBBYEFMFIjlX1D3gXnlj3 13 | YGf4LIDcUrheMA0GCSqGSIb3DQEBCwUAA4IBAQB0gSF6VwuyspNDzRUuNY9rFTql 14 | biPSmwgEgZEbF1s4fOM5tNjivza50qS1BpBrSmE0OBP+QAPAz0+YV5WaXOSGOX1Q 15 | YTeYgrr0TgPFwkAUZ5KNR4Apetyv10oP5v5TOg4jOtEMLrcKbafFMz5Jfw+EBBcd 16 | 4yR0B4xpGGhu3XPp2O3xMmV/1jx4D3631NjSGgbX+ciBt3nmjrNsl3lf/5X0O0Sp 17 | 0VPG5YrzdR1F/SIF8b47lJBBTzCBzcPsvTd2PxmogHL9xo9+VRopoYry41CRMFuu 18 | QhiD+XVVB4nDtn09KRnUcMDbmpd6d8J2VwcwX+rtTnsRou5JY/RPXtUebhAe 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/mqtt_key/mqtt_client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA9YLej+tPUzUb3QnWCUPa8gC/wehhQC4T4+Ff7Se/uzmnpdEx 3 | Yc1HfEbcv9H6BUZFb24nJTqiaoA3Lr+Qz5u+HgKBkB3Cpsv4guQWWQ/o97j1G8S1 4 | 95vc39f6rwyQwvL3HmTtiA+aa55T2NBmZ3bgM9op0HQphMyJNWz2uisdjWEWBOcv 5 | VVE1RNMrCrFaKprVkAgPRTY8L1I5N27O7GS3cuWmdyUjb8VQVlv7y/F+gWSevfsM 6 | zN6niqUFtRjFli3EbA1uJYFUCuxI7tCKW0i3MP096MnWbZtWV8dyVSqHw4CtM8OF 7 | sDuKbYncG+FWCoIPy5RTQHSa6BYVRU/4sVdL6QIDAQABAoIBAQCDfGpsE68xNgFN 8 | OUZbQe8RqtsII8dp0wOuCPcSETa7M96YjNfwtDsz0NPLG87WYlMvoYPviV6QwUhM 9 | jiYlOhjxA5CWOYoVQKpAl51sZ3vyqCkFjS2ThfMeIxLMC2PANNWqfo1EUG74chwf 10 | w0UE5oKe4pmAXaYazFwzs77T5+F05FyU7C7pfNNT3E3i7AuQizgq5sO2OhOCKiFb 11 | Y/1Jj4S/GlTzUt2l3Zc29ReCRezkGR0m4A0tF1cvODtb000UPbTewAavSB7ovXPv 12 | j6O6PABHn0D/0tll5uVc7coHAnOZZ7vGiTZvDF3YOWc/iX3oaBXNfloCJGkxMkQD 13 | 2Mxc9XhxAoGBAP1XSep2OZmMD43Gl8ID5JGff3QrMQKLUdzUojBdwmLzaldAUKrl 14 | EvXAXBrnP4bAEmQL+iPAWoZg0sOKTiX7I3DH4hHUEC1dx7NC9LWcxKPRPh7cbLbI 15 | jPTYCnC9lMbrKcKympfDTBqWUJPyELAjHLNTOsIecNj3iaQxbh7PZfs1AoGBAPgW 16 | iuXDvFJ+5/81+t6yzYMq2qtq6Jl4X5cgD1Cc97FZVdWQ2X8UMAmbl24REQ3Re+Gr 17 | Rv6k9QEPVcQh42/qbu9BYKjTilPPfHBobpWl0HVYWq0C7Uf1ZqOyjVXQPRR0CsL8 18 | THqYqnYo9kHNv8ZLtoJGtUfuHgUD1GY9DIoR5HBlAoGARz5K3RKONC39GcOlXbw2 19 | hPUzpHmY+LwxM0bgrXVQev81AoBlrwlogY+s1yv842oUQepUV8V6L5v+6Vp1i5zK 20 | ZKbxXk4iln9u72x+4KvLaL4pGAio0eYoLZqrpPTLZ/0t60DK1K7pMfjfhBtosf/N 21 | zGg1d+2TkpBaNsBn1WZBqZkCgYBVbi3WgVjQb7MkR0pkdd4fVRqH/QCsGK+SMxAT 22 | CnqhL8pHCOJcyG7iYBn9ZRMiVwj55SlFdziHbOhz6deQKoKZEUJf4Li5s7F+Y/fw 23 | wHDQd+SBv4hGR1NY+5t/+X2PFYa/LnKHpRrOJbznXBq2BkyLAB5c7rqXr4Hs0wkG 24 | YrLvoQKBgQC+oYFKw76JjP/S9EAx0lW+iik4MLxKdJsb+tb4X60oW7W8ZM1QnepD 25 | 6Au/4lU/w+dfvE4UjGqAB+fVJrwxjopY94jq69CRc0xjGAw+Il9QfucqlA4D3nyU 26 | rIqApJy9cskUZ7jXUc+rFjpbINOsjYSLrNsJ2Yojd59pbUPqzVQ5ug== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/server_ca/server_ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDLTCCAhWgAwIBAgIJAIkH5/W9RO2GMA0GCSqGSIb3DQEBBQUAMDcxCzAJBgNV 3 | BAYTAkMxMQ8wDQYDVQQKDAZFU1AgQzExFzAVBgNVBAMMDkVTUCBSb290IENBIEMx 4 | MB4XDTE5MDYyMTA4MDAyM1oXDTI5MDYxODA4MDAyM1owNzELMAkGA1UEBhMCQzEx 5 | DzANBgNVBAoMBkVTUCBDMTEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgQzEwggEiMA0G 6 | CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDExt+jvbY8ZZlwgJ7BrNPuwG7FrM4H 7 | FSfbWAYRwrXUFYQre8x2ugNpm7pyLXWW8s4nX04++IzkJYDSmpxeNXZkrxPF0MrV 8 | 56FrPBhvcBvTyjFi34B54llS+NI3fLx9/tCogFx7r+d/XlQlpE71r8n4HSZLpAtD 9 | WvUKqCwD71RDa3wmzqpr4RUiGLwer44AY7/wo5FM9adB1HOFt8y8izbsjmOTiEmK 10 | 2/54fL0tfEvXGohfar/cKdKIhciqjvoj8Vv51l7cidIjipNVBfszsYEsw6+H8fcC 11 | ZsRXiRCGJERP/ElPlFuQewUQRT3wepGfFEEyZHrpXw2xkkV7aiIJV43xAgMBAAGj 12 | PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBRIEHTyskPy 13 | GTAGN0mAOypCgqQd3DANBgkqhkiG9w0BAQUFAAOCAQEAgk0T8iRB6EfCxRKFCm2p 14 | TedDEqkf74QrOWBJWwkOixV4cH+5UseLFPtQYY75zK9tIEcQdVzwZyY2NMuF+uC+ 15 | lOH72dqy0F46GMp3vnZmq5/ZFnqdcGd7S589cPMTc1ZzxuX5q1Af2CXiFIQIMcYh 16 | D2EfiRZCZvCmjVmXYKEau9l0zNSQ+drHRIq5bJhqEKRZ8fhd55okqlZ0YeBFfEx7 17 | 6gZv71LQqIjEU44b0KGFsgGwabjXPefiVjG+FuXuuM8c/2n77uQo6BdhJeFaVy4+ 18 | SlaqSAycNF0EiPzX2C0dl7z+BOR+XKhDTyRZ6MHg8nBtuW/lrZl4C+f4iVaVP0Wx 19 | Vw== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/server_cert/server_cert.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDLTCCAhWgAwIBAgIJAPgqhiqX1DNNMA0GCSqGSIb3DQEBCwUAMDcxCzAJBgNV 3 | BAYTAlMxMQ8wDQYDVQQKDAZFU1AgUzExFzAVBgNVBAMMDkVTUCBSb290IENBIFMx 4 | MB4XDTE5MDYyMTA4MDAyMloXDTI5MDYxODA4MDAyMlowNzELMAkGA1UEBhMCUzIx 5 | DzANBgNVBAoMBkVTUCBTMjEXMBUGA1UEAwwORVNQIFJvb3QgQ0EgUzIwggEiMA0G 6 | CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJQ79YocJlOmZRPAYLSmzDRjl0wypl 7 | IlTUEP7zo1XhOx1DPC5vbTLMmMNEsUF8J3VG8WroYkKfwe26HBz4EfGMnDip+YOZ 8 | UqpOSJWDw39dbYtkB3qsSa6ZLCpA1up7GbZpmgriWwQqMo5gpRL0uZjT5l5GUMNb 9 | 5ljiLkmiq230cTUsBfozOxScUBsNIQk0NsZiXRTAQZp8+dMaarX1ZmN55V3NGiiV 10 | U6RYkN6kBdrI0pZYUhOd3rPnx7C7B8n3oYUbppG2CNEP219jwY47SUnLIFPIE+ot 11 | 2/itnIhQUcdVBBktaEkgER+WnveemEGSagOYwRyvHqogBUT/hzQvcI+/AgMBAAGj 12 | PDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQWBBRFiQ1STxIw 13 | 6gxMzTLdYdlDQW3uMDANBgkqhkiG9w0BAQsFAAOCAQEAG5BFCC7D3IrLvPCulVX3 14 | jkWq5OZIjxSWaYyOritPY/1oC4LY5WM4QornFt7GEt1d9wADYsmh39y/UPLuK0Cm 15 | +msEhxSJ0D7Wx05rbuIfpmpsZD/GBJEZlrykjZz77i1Y/jEVc7fGnA49KCWFx7Ix 16 | SSKpdoF5MT0PZeZUijVF28xR2GBRUlbQ6RtCMawsAO/Spq0WfUJHCxbi1C3khNKc 17 | H0ltyOHkox8HGQkJv6G610ig3cxKdbxD0JwR5uh7fOG41DwC4sN2y2FTvi+xurZB 18 | 6ozGuZlMeFS7mFLqU5uQfi730FBJMA05DCpDhAvbFk8mzJdwBMWbqKHsGW0DlNXN 19 | zA== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/server_key/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAyUO/WKHCZTpmUTwGC0psw0Y5dMMqZSJU1BD+86NV4TsdQzwu 3 | b20yzJjDRLFBfCd1RvFq6GJCn8Htuhwc+BHxjJw4qfmDmVKqTkiVg8N/XW2LZAd6 4 | rEmumSwqQNbqexm2aZoK4lsEKjKOYKUS9LmY0+ZeRlDDW+ZY4i5Joqtt9HE1LAX6 5 | MzsUnFAbDSEJNDbGYl0UwEGafPnTGmq19WZjeeVdzRoolVOkWJDepAXayNKWWFIT 6 | nd6z58ewuwfJ96GFG6aRtgjRD9tfY8GOO0lJyyBTyBPqLdv4rZyIUFHHVQQZLWhJ 7 | IBEflp73nphBkmoDmMEcrx6qIAVE/4c0L3CPvwIDAQABAoIBADeOvwRNauccrt/f 8 | zN9TBSEGgpfLxCk0x+veYTKKNQu+kL5dn4fcwfged1DACY6nKcWSoOtTLIcDNod4 9 | eTq1YVNqUG4DVaN+YUrI2JUN41u8AI11TxS+JjdcLLHHYeTnXSZbgoOnkke/uvPM 10 | vaXWkex0nDOW2cbFmGWfV25TGkAufj/ZWjA6PTdCI+MaiE0ghKUNLo0eRuYs5+Jg 11 | jTNsqewHbEVi8WdMwoF3UTXTk0Vn0CL98FdBNMwfjCHphoGSCNJJEMKaCJkltPq4 12 | 0t+2ptMusrc8ONZtVXsmjjUvoD27tX7IQrLCO5y6PEuLUKFHHFVXLtSGxYh5vi3r 13 | EIFSOnkCgYEA9hJ+xPXUYI79oaDVmv7up5Cm7z3aJZSDLWPDlF2xkf56xjZu0zb1 14 | +qFuYVy+cHEqMOwvK48IADFZRmg2ZHfFZ79mA8gXXeoYCdmyHSnrjgb20pw+rhKM 15 | tUAP/4cAwuWdFU1LJ+KumI2PPBVv9L0ifJlwErVc8TWuEVZ67TathfUCgYEA0WJ3 16 | ZrAzGonUOEizIpd50iDqU2G0Twxv8GWT0k6Burtt3vBhrqCwFEuMsd/eanvz/uAL 17 | JIylCEld+5aBaTEBK3bM6hVbEVI/moguWjw0/GxOqmvhO8lC9B7igkCfjC11/1q7 18 | n/V42h1XbwpQ89wBMJY9jRJXk8QvvYyk4ugjemMCgYAVJ23ifMevLVu8g1kZpATc 19 | PuE6+/Q++s90HXl4zb0wMdJYK+HHIphu3WXh1NlCTVg1MHi1o+wqKBPmq5rRdEJy 20 | MtAQTylDF5bNcfuP6kSnxw18+ZWh3VJfWoyFiROVraudYzGs0h30W2cO4UDop0HJ 21 | uF8cHJ9K1TSLpQWYUvUD6QKBgH8OGRYe5WO9LyHYO5tJ/4oanxZpu1gcW/CsMr7z 22 | FJWTFmCpzRyCNVabYYyuI/DJto16tkg/cAVPP9Biy7RhICyXslB5FQG1vxKugDIR 23 | RrXFoxaWz93PiulHtHsFa8tL6sZA8IloEyWHmH6w696OKcqp4D+yWaI48h87MPLf 24 | mmexAoGBAJLAgFuuJuYvTfDV6J4s3Hcl6BfXuK/a7pCm/hu45AChxE3LOcA0wfFZ 25 | 41gBOZFp/qt9ZA3t46ENY7HdyiAukOskJ0ysz6g994qtX1mYyauEjYClXHd51JYW 26 | rla3cPUYj9A2XvViLfxe3NpgK9LcWkuVuVvjtK+DBHGLFxwjMvf3 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/wpa2_ca/wpa2_ca.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIID3DCCA0WgAwIBAgIJAMnlgL1czsmjMA0GCSqGSIb3DQEBCwUAMIGTMQswCQYD 3 | VQQGEwJGUjEPMA0GA1UECAwGUmFkaXVzMRIwEAYDVQQHDAlTb21ld2hlcmUxFTAT 4 | BgNVBAoMDEV4YW1wbGUgSW5jLjEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBs 5 | ZS5jb20xJjAkBgNVBAMMHUV4YW1wbGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4X 6 | DTE3MDYwNzA4MDY0OVoXDTI3MDYwNTA4MDY0OVowgZMxCzAJBgNVBAYTAkZSMQ8w 7 | DQYDVQQIDAZSYWRpdXMxEjAQBgNVBAcMCVNvbWV3aGVyZTEVMBMGA1UECgwMRXhh 8 | bXBsZSBJbmMuMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTEmMCQG 9 | A1UEAwwdRXhhbXBsZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwgZ8wDQYJKoZIhvcN 10 | AQEBBQADgY0AMIGJAoGBALpWR23fn/TmHxsXsHdrydzPSd17fZkc71WsaicgQR66 11 | 1tIVYb22UWGfj9KPM8THMsV74ew4ZkaQ39qvU0iuQIRrKARFHFok+vbaecgWMeWe 12 | vGIqdnmyB9gJYaFOKgtSkfXsu2ddsqdvLYwcDbczrq8X9yEXpN6mnxXeCcPG4F0p 13 | AgMBAAGjggE0MIIBMDAdBgNVHQ4EFgQUgigpdAUpONoDq0pQ3yfxrslCSpcwgcgG 14 | A1UdIwSBwDCBvYAUgigpdAUpONoDq0pQ3yfxrslCSpehgZmkgZYwgZMxCzAJBgNV 15 | BAYTAkZSMQ8wDQYDVQQIDAZSYWRpdXMxEjAQBgNVBAcMCVNvbWV3aGVyZTEVMBMG 16 | A1UECgwMRXhhbXBsZSBJbmMuMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxl 17 | LmNvbTEmMCQGA1UEAwwdRXhhbXBsZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCCQDJ 18 | 5YC9XM7JozAMBgNVHRMEBTADAQH/MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly93 19 | d3cuZXhhbXBsZS5jb20vZXhhbXBsZV9jYS5jcmwwDQYJKoZIhvcNAQELBQADgYEA 20 | euxOBPInSJRKAIseMxPmAabtAqKNslZSmpG4He3lkKt+HM3jfznUt3psmD7j1hFW 21 | S4l7KXzzajvaGYybDq5N9MqrDjhGn3VXZqOLMUNDL7OQq96TzgqsTBT1dmVSbNlt 22 | PQgiAeKAk3tmH4lRRi9MTBSyJ6I92JYcS5H6Bs4ZwCc= 23 | -----END CERTIFICATE----- 24 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/wss_ca/wss_ca_00.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDNjCCAh6gAwIBAgIUelwnPikNHqHVs6nvMRcxr6f3494wDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MTkwOTMzMzlaFw0zNDA5MTcwOTMzMzlaMDYxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxEDAOBgNVBAMMB1Jvb3Qg 6 | Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9bAAe6bIhDWusc4Zl 7 | t3lzHPcqy9TtLKk9fpKVLsNg3ttqbxBE6LLSIyxDqlBXr2k2tzXCqflAXxne4/vU 8 | h2A/f4PaV0S6qA/hX0/KN+Vzmx7ACd9s7Y997VKILq1PIeztkgHLgm8xanJEoCwY 9 | e4tBYm0AMbtTJrvEHMiycf63siBg3Ql7fhLCLK1c/yPhbpDCItgN8gJ4MkO5fbl8 10 | Pbgs8ublE5V9AFUenubJBklY2Y9XPnXsBO2LyxWs/HU3jUE67eEH52Fa+UUP9c1c 11 | aOdvd9p7jdVh3UCNoi6Zhoiq4/j/QVK/VYR9pTYDepUuUDP/lyUkp4udORAW9/l6 12 | CDd9AgMBAAGjPDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQW 13 | BBQ2tC03EPS1qlRzNzwzCWeE9kTzhjANBgkqhkiG9w0BAQsFAAOCAQEABjrs/LHM 14 | iFodfPy2lnH2RsYvrtKPiKSzSoWIRRZDzOD+6k2MGRHUzJPgVZVe7/jIPs9LvwBJ 15 | 2myTRbSDhIGbxxxslETUr5ILV6CKvOMsNyxxd/vCmVaX6zckwZdEM2VXubYiURgd 16 | F2qNYJC8UD/uXONPg1hsEjgGiS/nBYgHQD9/swCaodirB0qhAsWdanDnOOwRO2Go 17 | +mSmt+UNntJ84xNsgdmz16UPNbBY+g4EsTGzdVA+EOXh4OKHPIWiggn9RXqhpAUJ 18 | 3kr+tNrwy+Cuvwjp07dyH/5KhVoP4MMuwuWHOBKDL1qdIYnvDBugvQOfEHvgm/p+ 19 | HnVmMqNyMC4s4w== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/wss_ca/wss_ca_01.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDNjCCAh6gAwIBAgIUJr9Tfy1IE0XtRs1OlQbk4TbVS0gwDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MjAwNzIwMTdaFw0zNDA5MTgwNzIwMTdaMDYxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxEDAOBgNVBAMMB1Jvb3Qg 6 | Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC584yFqRLcPcFAkg3K 7 | JhbOFDSnAy8WRAWlkWcSjeDhggOB0XsHUTRRog8SpAkSNWjd+cet+ShwX4q4xzK3 8 | 9ezdikdff5Uck43Jesq5kJJeU2FikM1pZSXhDp9CbaIKUEBYPxxzHpN2gwQnpsam 9 | DSmU5kMxWqz7ApFB7OvuoF1X0CvDivy/tbROqbmsRiKxXrP6LXW/iU8GexSc79IP 10 | cKy+P2074GMvvLyoptMaMTJDpNlC4b4eQd7LJqX9YDuayyeDj5Qa4V4clINUgE7E 11 | oETMs/DsJhNzfl51tBY8aekPzX01HFX6yHsJfxCYd+ytnLvJkaFISQAsoUWizJvq 12 | MKn7AgMBAAGjPDA6MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgGmMB0GA1UdDgQW 13 | BBRSowxSgKQaXfJX9D8I7REYLLCFnDANBgkqhkiG9w0BAQsFAAOCAQEAEuDUIJ3p 14 | JK3Y06/6ZlIlydEf4xFzgQbypwsiuXLJtUWIWSW+tLM6h+ZavC4zZquhpEenGivA 15 | xBHzZRLnoNir49dEu7iRuaPXgDTqAIKABp5pijqfBOER0CtEZ3RJN0CDp/uFvNVj 16 | DgmQEbln3GgZOGmlZq7HCt8qjjh4EtgUF9xuvHRWe6r7XeLdWizmJpgbGVpzQsU4 17 | ZjwhFNk26cNnDgymH+XUYXWxWgWdW9FuW3xPdYPy00OuuMW7BBKC1zTAPNYVzcY5 18 | Qf3q7DdlQ843D+4Se08WxlAgN9uERDnIeLNQg2D4sCEBF03LrFZTySIWzdfebpie 19 | AT3Fmt79fS8U0w== 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/wss_cert/wss_client_00.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDVTCCAj2gAwIBAgIUU9SUFafUqdi1wY7MKsCiQLhgtYowDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MTkwOTMzNDBaFw0zNDA5MTcwOTMzNDBaMDQxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxDjAMBgNVBAMMBUwxIENB 6 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6fEH9zc8k5J0T6/FHAg0 7 | TtnkLLeRUHAC5z7ktGj+Uh89+0TPKmOaZwZgt1OzKlNViiBsjQ2HDD4Sx6SsmDjt 8 | PKaYeQQMqmT1rr/i8zZ0aM9aBmLf4NSlxYjPIKcE+jwBKtTVRJbdRWhf5warwTYS 9 | TaFWgOwJuT+sgLjI+EOSC1IrBgOzPeKSKMx9lRE2FbZuIsSDgRt7hhzYtmEszCUT 10 | UFufmCEREY1FUADoVO1CGh0CA88qjCFrwHKNGeOi7aPyvhQg7YySm+9jxSAQM5ja 11 | 6nQ1Zih2zXDILeuYQ+EypOTRmRnjms3GWDNHH85jc+L3dFHyx1sHpfFQV2G/cj9k 12 | mwIDAQABo10wWzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAdBgNVHQ4EFgQU 13 | ygBw5k6+8VsTzpE6MxzFC62tjdUwHwYDVR0jBBgwFoAUXTyezavll0oizeGS1iZU 14 | EH465u8wDQYJKoZIhvcNAQELBQADggEBAFFT8lFpO2BbIVXIZ/jUaGHJDMSOxDa/ 15 | qc+AyVgt9yMC7PcsPbT1Kknh8p5j4N7Q24IXMZLVxQn5+UvW4jmLW17qkSDGmLw9 16 | 7/v8AHX1TG+O20XnfDu76DsYehGaLcHHbN4xtBxRegjQiTbS1DHHwgn1n8q9AZQ4 17 | VZsDJ26FXk8tU0mqeczSoy7n01O8fV2TyaP3lrVOg42bjv8CprqFI5GDdlGVGSrb 18 | Je2gyfWJWuZAv5gJijjoSfXCMaWorciuUxQLZ3+6UkEbRzb3W+WnzZGYzr0wQ8v1 19 | 5nuzX682byeXrKLKwGf7aatyY/KNIKvpM2A1TBlcPt1mqQb0pb+hIlo= 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/customized_partitions/raw_data/wss_cert/wss_client_01.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDVTCCAj2gAwIBAgIUMdO6g/swC7QyVKSCRf6KBRrxyCIwDQYJKoZIhvcNAQEL 3 | BQAwNjELMAkGA1UEBhMCQ04xFTATBgNVBAoMDEVTUFJFU1NJRiBBVDEQMA4GA1UE 4 | AwwHUm9vdCBDQTAeFw0yNDA5MjAwNzIwMTdaFw0zNDA5MTgwNzIwMTdaMDQxCzAJ 5 | BgNVBAYTAkNOMRUwEwYDVQQKDAxFU1BSRVNTSUYgQVQxDjAMBgNVBAMMBUwxIENB 6 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqR0jZ9O0jjSyH+AlpO93 7 | TTIYiM2ubHOaAgMxGGGrhs56UZG4pUaXi8RZyuDcoqhMzaSvclWE1U9X92zLyHhW 8 | LdmVhA9beuyOShB5bRJFDcYaXi+mqdPUJfmxOTw+WmKaCtKIC4mt2rx2LIPKYQAd 9 | CtgF2z7h/vo7RH30xAfwBarXdxu/Jfo0AUfdYcs3hQubXPUeNW4QA1iRAV7XPtFz 10 | gPqmbuom/6u8xxotlsuryg7+5+rINZ2le+Pp9JDeUNq5TQET6cdQFN/LjaDsrr30 11 | F0ytqPoqfMF8fc0/qAdOc35H7umrns3zXEcvMqYWEqWdd1ZucoaX7OKnNsusbXd6 12 | jQIDAQABo10wWzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAdBgNVHQ4EFgQU 13 | LOtkBR+qeP3dsC0pYpxz2r7iM1gwHwYDVR0jBBgwFoAU3/3LzSJtxUowyAY8Ce3N 14 | mUOhtKYwDQYJKoZIhvcNAQELBQADggEBACYPB1tgwlIck/Z2UeaHIzs7G05UJVwa 15 | PJnGGmgtFzezT4uFgYF/3AVdUuswZymHBTCbQMLTAS2CxDz5P8Wp0pWr3m42B0IE 16 | tnT9SFVzIdxDJy/ltaJEM+vA3kGc8zMChQTp0vG/13P8Z8czfVdS/UGA5OAviLGa 17 | UPRlQ59Yt/ne4jyfaNyDioU6K3MSf7bH4yArto4jtkVaoAZYi3AyAytmsh3B2PN/ 18 | 5Dl+RgAfYAb4+HhijHApaGSc3V49XgrxDcFISGr4mOmX1PIlCf4EcEI6+7k05loI 19 | ppe+gHNHHTI2ur5KpiGuQm34f507NM85RgmvMcaiHUHFoQN/bl22360= 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /components/decoder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | set(require_components mqtt mdns esp_http_client json freertos spiffs 3 | bootloader_support app_update wpa_supplicant spi_flash) 4 | 5 | if ("${IDF_TARGET}" STREQUAL "esp32") 6 | list(APPEND require_components bt fatfs) 7 | 8 | idf_component_register ( 9 | REQUIRES ${require_components}) 10 | 11 | set(LIB_NAME _mp3) 12 | 13 | string(SUBSTRING "$ENV{ESP_AT_PROJECT_PLATFORM}" 9 31 PLATFORM_NAME) # remove PLATFORM_ 14 | string(STRIP ${PLATFORM_NAME} PLATFORM_NAME) 15 | string(CONCAT FULL_NAME ${PLATFORM_NAME} ${LIB_NAME}) 16 | string(TOLOWER ${FULL_NAME} LIBS) 17 | 18 | add_library(${LIBS} STATIC IMPORTED) 19 | set_property(TARGET ${LIBS} PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/lib/lib${LIBS}.a) 20 | target_link_libraries(${COMPONENT_LIB} INTERFACE ${LIBS}) 21 | set_property(TARGET ${LIBS} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${COMPONENT_LIB}) 22 | endif() 23 | -------------------------------------------------------------------------------- /components/decoder/lib/libesp32_mp3.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/components/decoder/lib/libesp32_mp3.a -------------------------------------------------------------------------------- /components/fs_image/test.txt: -------------------------------------------------------------------------------- 1 | This is a test 2 | -------------------------------------------------------------------------------- /components/rainmaker/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (DEFINED ENV{AT_RAINMAKER_SUPPORT}) 2 | set(require_components nvs_flash at esp_rainmaker esp_schedule json_generator json_parser rmaker_common wifi_provisioning bootloader_support_plus) 3 | 4 | idf_component_register(SRCS at_rainmaker.c 5 | PRIV_REQUIRES ${require_components}) 6 | 7 | target_link_libraries(${COMPONENT_LIB} INTERFACE "-u esp_at_rainmaker_cmd_regist") 8 | endif() 9 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Documentation Source Folder 2 | 3 | This folder contains source files of **ESP-AT documentation** available in [English](https://docs.espressif.com/projects/esp-at/en/latest/) and [中文](https://docs.espressif.com/projects/esp-at/zh_CN/latest/). 4 | 5 | The sources do not render well in GitHub and some information is not visible at all. 6 | 7 | Use actual documentation generated within about 20 minutes on each commit: 8 | 9 | # Hosted Documentation 10 | 11 | * English: https://docs.espressif.com/projects/esp-at/en/latest/ 12 | * 中文: https://docs.espressif.com/projects/esp-at/zh_CN/latest/ 13 | 14 | The above URLs are all for the master branch latest version. Click the drop-down in the bottom left to choose a stable version or to download a PDF. 15 | 16 | # Building Documentation 17 | 18 | The documentation is built using the python package `esp-docs`, which can be installed by running `pip install esp-docs`. Running `build-docs --help` will give a summary of available options. For more information see the `esp-docs` documentation at https://github.com/espressif/esp-docs/blob/master/README.md 19 | -------------------------------------------------------------------------------- /docs/_static/ESP-AT-overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/ESP-AT-overview.jpg -------------------------------------------------------------------------------- /docs/_static/RainMaker/nova_add_device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/nova_add_device.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/nova_change_light_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/nova_change_light_status.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/nova_device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/nova_device.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/nova_found_devices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/nova_found_devices.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/nova_provisioning_starts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/nova_provisioning_starts.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/rest_api_get_request_id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/rest_api_get_request_id.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/rest_api_get_user_details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/rest_api_get_user_details.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/rest_api_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/rest_api_login.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/rest_api_login_accesstoken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/rest_api_login_accesstoken.png -------------------------------------------------------------------------------- /docs/_static/RainMaker/rest_api_login_authorize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/RainMaker/rest_api_login_authorize.png -------------------------------------------------------------------------------- /docs/_static/Web_server/captive_portal_auth_pages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/captive_portal_auth_pages.png -------------------------------------------------------------------------------- /docs/_static/Web_server/captive_portal_auth_pages_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/captive_portal_auth_pages_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_failed_to_send_firmware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_failed_to_send_firmware.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_failed_to_send_firmware_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_failed_to_send_firmware_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_get_ap_record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_get_ap_record.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_get_ap_record_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_get_ap_record_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_obtain_partitions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_obtain_partitions.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_obtain_partitions_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_obtain_partitions_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_open_html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_open_html.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_open_html_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_open_html_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_ota_chose_firmware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_ota_chose_firmware.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_ota_chose_firmware_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_ota_chose_firmware_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_ota_config_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_ota_config_page.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_ota_config_page_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_ota_config_page_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_send_firmware_successfully.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_send_firmware_successfully.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_send_firmware_successfully_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_send_firmware_successfully_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_wifi_ap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_wifi_ap.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_wifi_ap_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_wifi_ap_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_wifi_connect_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_wifi_connect_fail.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_wifi_connect_fail_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_wifi_connect_fail_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_wifi_connect_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_wifi_connect_success.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_brower_wifi_connect_success_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_brower_wifi_connect_success_en.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_applet_qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_applet_qr.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_connect_router.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_connect_router.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_enter_local_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_enter_local_password.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_get_router_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_get_router_info.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_open_applet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_open_applet.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_router_connect_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_router_connect_fail.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_router_connect_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_router_connect_success.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_router_connecting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_router_connecting.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_start_connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_start_connect.png -------------------------------------------------------------------------------- /docs/_static/Web_server/web_wechat_update_router_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/Web_server/web_wechat_update_router_info.png -------------------------------------------------------------------------------- /docs/_static/about-esp-at-commands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/about-esp-at-commands.png -------------------------------------------------------------------------------- /docs/_static/about-esp-at-solution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/about-esp-at-solution.png -------------------------------------------------------------------------------- /docs/_static/at-sub-release-apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/at-sub-release-apply.png -------------------------------------------------------------------------------- /docs/_static/at-sub-release-custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/at-sub-release-custom.png -------------------------------------------------------------------------------- /docs/_static/at_command_examples/esp-power-consumption-hardware-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/at_command_examples/esp-power-consumption-hardware-connection.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/at-py-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/at-py-download.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ble_customize_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ble_customize_service.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ble_default_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ble_default_service.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-1.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-2.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-3.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-4.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-5.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-6.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-7.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-8.png -------------------------------------------------------------------------------- /docs/_static/compile_and_develop/ota/OTA-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/compile_and_develop/ota/OTA-9.png -------------------------------------------------------------------------------- /docs/_static/customized_ota_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/customized_ota_process.png -------------------------------------------------------------------------------- /docs/_static/document_referrer.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/_static/download_temp_version/download-temp-version-actions-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/download_temp_version/download-temp-version-actions-page.png -------------------------------------------------------------------------------- /docs/_static/download_temp_version/download-temp-version-artifacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/download_temp_version/download-temp-version-artifacts.png -------------------------------------------------------------------------------- /docs/_static/download_temp_version/download-temp-version-click-actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/download_temp_version/download-temp-version-click-actions.png -------------------------------------------------------------------------------- /docs/_static/download_temp_version/download-temp-version-click-branch-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/download_temp_version/download-temp-version-click-branch-workflow.png -------------------------------------------------------------------------------- /docs/_static/download_temp_version/download-temp-version-click-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/download_temp_version/download-temp-version-click-workflow.png -------------------------------------------------------------------------------- /docs/_static/download_temp_version/download-temp-version-github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/download_temp_version/download-temp-version-github.png -------------------------------------------------------------------------------- /docs/_static/download_temp_version/download-temp-version-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/download_temp_version/download-temp-version-workflow.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_multi_bin_esp32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_multi_bin_esp32.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_multi_bin_esp32c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_multi_bin_esp32c2.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_multi_bin_esp32c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_multi_bin_esp32c3.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_multi_bin_esp32c6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_multi_bin_esp32c6.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_multi_bin_esp32s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_multi_bin_esp32s2.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_one_bin_esp32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_one_bin_esp32.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_one_bin_esp32c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_one_bin_esp32c2.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_one_bin_esp32c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_one_bin_esp32c3.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_one_bin_esp32c6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_one_bin_esp32c6.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_one_bin_esp32s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_one_bin_esp32s2.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_tool_esp32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_tool_esp32.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_tool_esp32c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_tool_esp32c2.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_tool_esp32c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_tool_esp32c3.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_tool_esp32c6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_tool_esp32c6.png -------------------------------------------------------------------------------- /docs/_static/get_started/download_guide/download_tool_esp32s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/download_guide/download_tool_esp32s2.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-c2-2mb-hw-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-c2-2mb-hw-connection.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-c2-4mb-hw-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-c2-4mb-hw-connection.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-c3-hw-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-c3-hw-connection.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-c6-4mb-hw-connection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-c6-4mb-hw-connection.jpg -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-mini-hw-connection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-mini-hw-connection.jpg -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-pico-d4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-pico-d4.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-pico-hw-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-pico-hw-connection.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-s2-hw-connection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-s2-hw-connection.jpg -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-solo-devkitc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-solo-devkitc.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-solo-hw-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-solo-hw-connection.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-wroom-devkitc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-wroom-devkitc.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-wroom-hw-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-wroom-hw-connection.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-wrover-devkitc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-wrover-devkitc.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/esp32-wrover-hw-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/esp32-wrover-hw-connection.png -------------------------------------------------------------------------------- /docs/_static/get_started/hw_connection/hw-connection-what-you-need.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/get_started/hw_connection/hw-connection-what-you-need.png -------------------------------------------------------------------------------- /docs/_static/hp-at-binary-lists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-at-binary-lists.png -------------------------------------------------------------------------------- /docs/_static/hp-at-command-examples.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-at-command-examples.png -------------------------------------------------------------------------------- /docs/_static/hp-at-command-set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-at-command-set.png -------------------------------------------------------------------------------- /docs/_static/hp-compile-and-develop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-compile-and-develop.png -------------------------------------------------------------------------------- /docs/_static/hp-customized-at-commands-and-firmware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-customized-at-commands-and-firmware.png -------------------------------------------------------------------------------- /docs/_static/hp-get-started.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-get-started.png -------------------------------------------------------------------------------- /docs/_static/hp-index-of-abbreviations-and-acronyms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-index-of-abbreviations-and-acronyms.png -------------------------------------------------------------------------------- /docs/_static/hp-q&a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/hp-q&a.png -------------------------------------------------------------------------------- /docs/_static/icon-green-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/icon-green-check.png -------------------------------------------------------------------------------- /docs/_static/icon-orange-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/icon-orange-check.png -------------------------------------------------------------------------------- /docs/_static/icon-red-cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/icon-red-cross.png -------------------------------------------------------------------------------- /docs/_static/intro-tt-mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/intro-tt-mode.png -------------------------------------------------------------------------------- /docs/_static/js/chatbot_widget.css: -------------------------------------------------------------------------------- 1 | #kapa-widget-container { 2 | z-index: 10000 !important; 3 | position: absolute !important; 4 | } 5 | 6 | .mantine-Modal-root { 7 | z-index: 10000; 8 | position: absolute; 9 | } 10 | -------------------------------------------------------------------------------- /docs/_static/linux-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/linux-logo.png -------------------------------------------------------------------------------- /docs/_static/macos-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/macos-logo.png -------------------------------------------------------------------------------- /docs/_static/optimize-throughput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/optimize-throughput.png -------------------------------------------------------------------------------- /docs/_static/project-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/project-configuration.png -------------------------------------------------------------------------------- /docs/_static/theme_overrides.css: -------------------------------------------------------------------------------- 1 | /* override table width restrictions */ 2 | @media screen and (min-width: 767px) { 3 | 4 | .wy-table-responsive table td { 5 | /* !important prevents the common CSS stylesheets from overriding 6 | this as on RTD they are loaded after this stylesheet */ 7 | white-space: normal !important; 8 | } 9 | 10 | .wy-table-responsive { 11 | overflow: visible !important; 12 | } 13 | } 14 | 15 | .wy-side-nav-search { 16 | background-color: #e3e3e3 !important; 17 | } 18 | 19 | .wy-side-nav-search input[type=text] { 20 | border-radius: 0px !important; 21 | border-color: #333333 !important; 22 | } 23 | 24 | .icon-home { 25 | color: #333333 !important; 26 | } 27 | 28 | .icon-home:hover { 29 | background-color: #d6d6d6 !important; 30 | } 31 | 32 | .version { 33 | color: #000000 !important; 34 | } 35 | 36 | a:hover { 37 | color: #bd2c2a !important; 38 | } 39 | 40 | .logo { 41 | width: 240px !important; 42 | } 43 | 44 | /* For space between the return type and function name */ 45 | a.internal + code.descname::before { 46 | content: ' '; 47 | } 48 | 49 | /* For space between the arguments of the function */ 50 | a.internal + em::before { 51 | content: ' '; 52 | } 53 | 54 | .tool-sha256 { 55 | word-break: break-all; 56 | } 57 | -------------------------------------------------------------------------------- /docs/_static/web_compile/cfg-ota-token-s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/cfg-ota-token-s1.png -------------------------------------------------------------------------------- /docs/_static/web_compile/cfg-ota-token-s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/cfg-ota-token-s2.png -------------------------------------------------------------------------------- /docs/_static/web_compile/cfg-ota-token-s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/cfg-ota-token-s3.png -------------------------------------------------------------------------------- /docs/_static/web_compile/cfg-ota-token-s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/cfg-ota-token-s4.png -------------------------------------------------------------------------------- /docs/_static/web_compile/cfg-ota-token-s5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/cfg-ota-token-s5.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s1.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s2.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s3.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s4.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s5.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s6.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s7.png -------------------------------------------------------------------------------- /docs/_static/web_compile/commit-change-s8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/commit-change-s8.png -------------------------------------------------------------------------------- /docs/_static/web_compile/fork-s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/fork-s1.png -------------------------------------------------------------------------------- /docs/_static/web_compile/fork-s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/fork-s2.png -------------------------------------------------------------------------------- /docs/_static/web_compile/github-action-enable-s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/github-action-enable-s1.png -------------------------------------------------------------------------------- /docs/_static/web_compile/github-action-enable-s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/github-action-enable-s2.png -------------------------------------------------------------------------------- /docs/_static/web_compile/github-action-enable-s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/web_compile/github-action-enable-s3.png -------------------------------------------------------------------------------- /docs/_static/windows-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/_static/windows-logo.png -------------------------------------------------------------------------------- /docs/check_lang_folder_sync.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # -*- coding: utf-8 -*- 3 | # 4 | # SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 5 | # SPDX-License-Identifier: Apache-2.0 6 | 7 | RESULT=0 8 | STARS='***************************************************' 9 | 10 | find en -type f | cut -d/ -f2- | sort > file_list_en 11 | find zh_CN -type f | cut -d/ -f2- | sort > file_list_zh_CN 12 | 13 | # format is to display new or different filenames 14 | DIFF_FORMAT="--unchanged-line-format= --old-line-format=[en]:%L --new-line-format=[zh_CN]:%L" 15 | 16 | FOLDER_DIFFERENCES=$(diff $DIFF_FORMAT file_list_en file_list_zh_CN) 17 | if ! [ -z "$FOLDER_DIFFERENCES" ]; then 18 | echo "$STARS" 19 | echo "Build failed due to the following differences in 'en' and 'zh_CN' folders:" 20 | echo "$FOLDER_DIFFERENCES" 21 | echo "$STARS" 22 | echo "Please synchronize contents of 'en' and 'zh_CN' folders to contain files with identical names" 23 | RESULT=1 24 | fi 25 | 26 | # remove temporary files 27 | rm file_list_en file_list_zh_CN 28 | 29 | exit $RESULT 30 | -------------------------------------------------------------------------------- /docs/doxygen-known-warnings.txt: -------------------------------------------------------------------------------- 1 | semphr.h:line: warning: argument 'pxStaticSemaphore' of command @param is not found in the argument list of xSemaphoreCreateCounting(uxMaxCount, uxInitialCount) 2 | -------------------------------------------------------------------------------- /docs/en/404.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | Page not Found 4 | ============== 5 | :link_to_translation:`zh_CN:[中文]` 6 | 7 | .. note:: 8 | 9 | The page you requested could not be found after switching the chip target. We will redirect you to the parent directory. 10 | 11 | .. only:: html 12 | 13 | .. raw:: html 14 | :file: ../_static/document_referrer.html 15 | 16 | 17 | .. figure:: ../_static/404-page__en.svg 18 | :align: center 19 | :alt: We're sorry. The page you requested could not be found. 20 | :figclass: align-center 21 | -------------------------------------------------------------------------------- /docs/en/AT_Command_Examples/index.rst: -------------------------------------------------------------------------------- 1 | ******************* 2 | AT Command Examples 3 | ******************* 4 | 5 | :link_to_translation:`zh_CN:[中文]` 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | AT Response Message Format Control Examples 11 | TCP-IP AT Examples 12 | :esp32 or esp32c2 or esp32c3 or esp32c6: Bluetooth® Low Engergy AT Examples 13 | MQTT AT Examples 14 | MQTT AT Examples for Cloud 15 | :esp32: Ethernet AT Examples 16 | Web server AT Examples 17 | HTTP AT Examples 18 | WebSocket AT Examples 19 | :esp32: Classic Bluetooth AT Examples 20 | Sleep AT Examples 21 | AT Network Provisioning Examples 22 | 23 | .. only:: esp32c3 24 | 25 | Please refer to the following examples for third-party cloud AT commands. 26 | 27 | - :doc:`../Customized_AT_Commands_and_Firmware/RainMaker_AT/RainMaker_AT_Examples` 28 | -------------------------------------------------------------------------------- /docs/en/AT_Command_Set/Signaling_Test_AT_Commands.rst: -------------------------------------------------------------------------------- 1 | .. _FACT-AT: 2 | 3 | Signaling Test AT Commands 4 | ========================================== 5 | 6 | :link_to_translation:`zh_CN:[中文]` 7 | 8 | - :ref:`Introduction ` 9 | - :ref:`AT+FACTPLCP `: Send with long or short PLCP (Physical Layer Convergence Procedure) 10 | 11 | .. _cmd-signal-test-intro: 12 | 13 | Introduction 14 | ------------ 15 | 16 | .. important:: 17 | The default AT firmware supports all the AT commands mentioned on this page. If you don't need {IDF_TARGET_NAME} to support signaling test commands, you can compile the ESP-AT project by following the steps in :doc:`Compile ESP-AT Project Locally <../Compile_and_Develop/How_to_clone_project_and_compile_it>` documentation. In the project configuration during the fifth step, make the following selections: 18 | 19 | - Disable ``Component config`` -> ``AT`` -> ``AT signaling test command support`` 20 | 21 | .. _cmd-FACTPLCP: 22 | 23 | :ref:`AT+FACTPLCP `: Send with Long or Short PLCP 24 | -------------------------------------------------------------------------- 25 | 26 | Set Command 27 | ^^^^^^^^^^^ 28 | 29 | **Command:** 30 | 31 | :: 32 | 33 | AT+FACTPLCP=, 34 | 35 | **Response:** 36 | 37 | :: 38 | 39 | OK 40 | 41 | Parameters 42 | ^^^^^^^^^^ 43 | 44 | - ****: Enable or disable manual configuration. 45 | 46 | - 0: Disable manual configuration. The default value for the parameter ```` will be used. 47 | - 1: Enable manual configuration. The type of PLCP that AT sends depends on ````. 48 | 49 | - ****: Send with long PLCP or short PLCP. 50 | 51 | - 0: Send with short PLCP (default). 52 | - 1: Send with long PLCP. 53 | -------------------------------------------------------------------------------- /docs/en/Compile_and_Develop/AT_API_Reference.rst: -------------------------------------------------------------------------------- 1 | AT API Reference 2 | ================ 3 | 4 | .. include-build-file:: inc/esp_at_core.inc 5 | 6 | .. include-build-file:: inc/esp_at.inc -------------------------------------------------------------------------------- /docs/en/Customized_AT_Commands_and_Firmware/index.rst: -------------------------------------------------------------------------------- 1 | ************************************************************************* 2 | Customized AT Commands and Firmware For Third-party Open Cloud Platforms 3 | ************************************************************************* 4 | 5 | :link_to_translation:`zh_CN:[中文]` 6 | 7 | .. only:: esp32 or esp32c2 or esp32c6 or esp32s2 8 | 9 | **To be developed.** 10 | 11 | If you have any requirements on custom AT commands and firmware for third-party open cloud platforms, please contact `Espressif's Business Team `_ for an evaluation. 12 | 13 | .. toctree:: 14 | :maxdepth: 1 15 | 16 | :esp32c3: RainMaker AT Commands and Firmware 17 | -------------------------------------------------------------------------------- /docs/en/Get_Started/index.rst: -------------------------------------------------------------------------------- 1 | *********** 2 | Get Started 3 | *********** 4 | 5 | :link_to_translation:`zh_CN:[中文]` 6 | 7 | This Get Started guide provides users with detailed information on what is ESP-AT, technology selection, how to connect hardware, and how to download and flash AT firmware. It consists of the following parts: 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | What is ESP-AT 13 | Technology Selection 14 | Hardware Connection 15 | Downloading Guide 16 | 17 | To learn more about ESP-AT, please read :doc:`What_is_ESP-AT`. 18 | 19 | Help you select hardware and software 20 | 21 | To get started with ESP-AT, please read :doc:`Technology_selection` first to help you select hardware and software, and then read :doc:`Hardware_connection` to learn what hardware to prepare and how to connect them. Then, you can download and flash AT firmware into your device according to :doc:`Downloading_guide`. 22 | -------------------------------------------------------------------------------- /docs/en/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends '!layout.html' %} 2 | {% block comments %} 3 |

Provide feedback about this document

4 | {% endblock %} 5 | -------------------------------------------------------------------------------- /docs/en/about.rst: -------------------------------------------------------------------------------- 1 | About 2 | ===== 3 | 4 | :link_to_translation:`zh_CN:[中文]` 5 | 6 | This is documentation of `ESP-AT `_, a solution developed by Espressif to quickly and easily interface with {IDF_TARGET_NAME} products. 7 | 8 | Espressif Wi-Fi and Bluetooth chipsets are often used as add-on modules to seamlessly integrate wireless connectivity features into new and existing products. In an effort to facilitate this and cut down on engineering costs, Espressif Systems has developed :doc:`AT firmware ` as well as a rich set of :doc:`AT commands ` that can be used to interface with Espressif products. 9 | 10 | .. figure:: ../_static/about-esp-at-solution.png 11 | :align: center 12 | :alt: ESP-AT Solution 13 | :figclass: align-center 14 | 15 | ESP-AT Solution 16 | 17 | The AT firmware allows for rapid integration by providing: 18 | 19 | - In-built TCP/IP stack and data buffering 20 | - Easy integration with resource-constrained host platforms 21 | - Easy-to-parse command-response protocols 22 | - Customized, user-defined AT commands 23 | 24 | .. figure:: ../_static/about-esp-at-commands.png 25 | :align: center 26 | :alt: ESP-AT Commands 27 | :figclass: align-center 28 | 29 | ESP-AT Commands 30 | -------------------------------------------------------------------------------- /docs/en/conf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD 5 | # SPDX-License-Identifier: Apache-2.0 6 | 7 | import sys 8 | import os 9 | import datetime 10 | 11 | sys.path.insert(0, os.path.abspath('..')) 12 | from conf_common import * # noqa: F401, F403 - need to make available everything from common 13 | 14 | current_year = datetime.datetime.now().year 15 | 16 | # General information about the project. 17 | project = 'ESP-AT User Guide' 18 | copyright = '2016 - {}, Espressif Systems (Shanghai) Co., Ltd.'.format(current_year) 19 | 20 | pdf_title = 'ESP-AT User Guide' 21 | # Final PDF filename will contains target and version 22 | pdf_file_prefix = 'esp-at' 23 | 24 | # The language for content autogenerated by Sphinx. Refer to documentation 25 | # for a list of supported languages. 26 | language = 'en' 27 | 28 | html_zip = f'esp-at-{language}-{release}' 29 | 30 | html_js_files = ['js/chatbot_widget_en.js'] 31 | -------------------------------------------------------------------------------- /docs/img/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/img/.gitkeep -------------------------------------------------------------------------------- /docs/img/Connect-SoftAP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/img/Connect-SoftAP.png -------------------------------------------------------------------------------- /docs/img/aws-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/img/aws-log.png -------------------------------------------------------------------------------- /docs/img/esp32at-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/docs/img/esp32at-log.png -------------------------------------------------------------------------------- /docs/inline_substitutions: -------------------------------------------------------------------------------- 1 | .. This document contains all the inline substitutions in the ESP-AT repo. 2 | 3 | .. |icon-green-check| image:: ../../_static/icon-green-check.png 4 | 5 | .. |icon-orange-check| image:: ../../_static/icon-orange-check.png 6 | 7 | .. |icon-red-cross| image:: ../../_static/icon-red-cross.png 8 | -------------------------------------------------------------------------------- /docs/page_redirects.txt: -------------------------------------------------------------------------------- 1 | # Redirects from "old URL" "new URL" 2 | # 3 | # Space delimited 4 | # 5 | # New URL should be relative to document root, only) 6 | # 7 | # Empty lines and lines starting with # are ignored 8 | 9 | get-started/ESP_AT_Commands_Set AT_Command_Set/AT_Command_Set 10 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | esp-docs==1.4.2 2 | -------------------------------------------------------------------------------- /docs/zh_CN/404.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | 无法找到该网页 4 | ============== 5 | :link_to_translation:`en:[English]` 6 | 7 | .. note:: 8 | 9 | 您正在切换的芯片不支持该功能,页面将跳转到上一级目录。 10 | 11 | .. only:: html 12 | 13 | .. raw:: html 14 | :file: ../_static/document_referrer.html 15 | 16 | 17 | .. figure:: ../_static/404-page__cn.svg 18 | :align: center 19 | :alt: 抱歉,无法找到您想访问的页面。 20 | :figclass: align-center 21 | -------------------------------------------------------------------------------- /docs/zh_CN/AT_Binary_Lists/index.rst: -------------------------------------------------------------------------------- 1 | AT 固件 2 | ================= 3 | 4 | :link_to_translation:`en:[English]` 5 | 6 | .. toctree:: 7 | :hidden: 8 | :maxdepth: 1 9 | 10 | {IDF_TARGET_NAME} AT 发布版固件 11 | 12 | 本文档包含以下小节: 13 | 14 | .. list:: 15 | 16 | - :doc:`下载 {IDF_TARGET_NAME} AT 发布版固件 ` 17 | - :ref:`brief-intro-firmware`:AT 固件包含哪些二进制文件及其作用 18 | 19 | .. note:: 20 | 若需下载其他芯片系列的发布版固件,请在页面左上方的下拉菜单栏选择相应的芯片,即可跳转至该芯片的文档进行下载。 21 | 22 | .. _brief-intro-firmware: 23 | 24 | AT 固件简介 25 | -------------- 26 | 27 | ESP-AT 固件包含了若干个特定功能的二进制文件: 28 | 29 | .. code-block:: none 30 | 31 | build 32 | ├── at_customize.bin // 二级分区表(用户分区表,列出了 mfg_nvs 分区以及 fatfs 分区的起始地址和分区大小) 33 | ├── bootloader 34 | │ └── bootloader.bin // 启动加载器 35 | ├── customized_partitions 36 | │ └── mfg_nvs.bin // 出厂配置参数,参数值见同级目录下的 mfg_nvs.csv 37 | ├── esp-at.bin // AT 应用固件 38 | ├── factory 39 | │ └── factory_xxx.bin // 特定功能的二进制文件合集,您可以仅烧录本文件到起始地址为 0 的 flash 空间中,或者根据 download.config 文件中的信息将若干个二进制文件烧录到 flash 中对应起始地址的空间中。 40 | ├── partition_table 41 | │ └── partition-table.bin // 一级分区表(系统分区表) 42 | └── ota_data_initial.bin // OTA 数据初始化文件 43 | -------------------------------------------------------------------------------- /docs/zh_CN/AT_Command_Examples/index.rst: -------------------------------------------------------------------------------- 1 | *********** 2 | AT 命令示例 3 | *********** 4 | 5 | :link_to_translation:`en:[English]` 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | AT 响应消息格式控制示例 11 | TCP-IP AT 示例 12 | :esp32 or esp32c2 or esp32c3 or esp32c6: Bluetooth® Low Engergy AT 示例 13 | MQTT AT 示例 14 | MQTT AT 连接云示例 15 | :esp32: Ethernet AT 示例 16 | Web server AT 示例 17 | HTTP AT 示例 18 | WebSocket AT 示例 19 | :esp32: Classic Bluetooth AT 示例 20 | Sleep AT 示例 21 | AT 配网示例 22 | 23 | .. only:: esp32c3 24 | 25 | 第三方云 AT 命令请参考以下示例。 26 | 27 | - :doc:`../Customized_AT_Commands_and_Firmware/RainMaker_AT/RainMaker_AT_Examples` 28 | -------------------------------------------------------------------------------- /docs/zh_CN/AT_Command_Set/Signaling_Test_AT_Commands.rst: -------------------------------------------------------------------------------- 1 | .. _FACT-AT: 2 | 3 | 信令测试 AT 命令 4 | ========================================== 5 | 6 | :link_to_translation:`en:[English]` 7 | 8 | - :ref:`介绍 ` 9 | - :ref:`AT+FACTPLCP `:发送长 PLCP 或短 PLCP 10 | 11 | .. _cmd-signal-test-intro: 12 | 13 | 介绍 14 | ------ 15 | 16 | .. important:: 17 | 默认的 AT 固件支持此页面下的所有 AT 命令。如果您不需要 {IDF_TARGET_NAME} 支持信令测试命令,请自行 :doc:`编译 ESP-AT 工程 <../Compile_and_Develop/How_to_clone_project_and_compile_it>`,在第五步配置工程里选择: 18 | 19 | - 禁用 ``Component config`` -> ``AT`` -> ``AT signaling test command support`` 20 | 21 | .. _cmd-FACTPLCP: 22 | 23 | :ref:`AT+FACTPLCP `:发送长 PLCP 或短 PLCP 24 | -------------------------------------------------------------------------- 25 | 26 | 设置命令 27 | ^^^^^^^^ 28 | 29 | **命令:** 30 | 31 | :: 32 | 33 | AT+FACTPLCP=, 34 | 35 | **响应:** 36 | 37 | :: 38 | 39 | OK 40 | 41 | 参数 42 | ^^^^ 43 | 44 | - ****:启用/禁用手动配置: 45 | 46 | - 0: 禁用手动配置,将使用 ```` 参数的默认值; 47 | - 1: 启用手动配置,AT 发送的 PLCP 类型取决于 ```` 参数。 48 | 49 | - ****:发送长 PLCP 或短 PLCP: 50 | 51 | - 0: 发送短 PLCP(默认); 52 | - 1: 发送长 PLCP。 53 | -------------------------------------------------------------------------------- /docs/zh_CN/Compile_and_Develop/AT_API_Reference.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../en/Compile_and_Develop/AT_API_Reference.rst -------------------------------------------------------------------------------- /docs/zh_CN/Compile_and_Develop/How_to_enable_ESP_AT_Ethernet.rst: -------------------------------------------------------------------------------- 1 | 如何启用 ESP-AT 以太网功能 2 | =============================== 3 | 4 | :link_to_translation:`en:[English]` 5 | 6 | 概述 7 | ---------- 8 | 9 | 本文档旨在指导用户启用 ESP-AT Ethernet,并通过简单的测试,展示如何确认是否启用成功。 10 | 11 | 第一步:配置并烧录 12 | ----------------------- 13 | 14 | 1. ``./build.py menuconfig`` -> ``Component config`` -> ``AT`` -> ``AT ethernet support`` 启用以太网功能。 15 | 2. ``./build.py menuconfig`` -> ``Component config`` -> ``AT`` -> ``Ethernet PHY`` 选择以太网 PHY。选择以太网 PHY 的说明请参考 `PHY 配置`_。 16 | 3. 重新编译 ``esp-at`` 工程 (参考 :doc:`../Compile_and_Develop/How_to_clone_project_and_compile_it`),将生成的固件烧录到开发板中运行。 17 | 18 | PHY 配置 19 | ^^^^^^^^^^ 20 | 21 | 使用 ``./build.py menuconfig`` 配置以太网接口要使用的 PHY 模块,配置选项将根据你使用不同的硬件而有所不同。 22 | 23 | Espressif 的官方硬件以太网开发板默认的配置是使用 IP101 PHY 模块。{IDF_TARGET_NAME} AT 最多支持四种以太网 PHY:``LAN8720``,``IP101``,``DP83848`` 和 ``RTL8201``。 24 | 由于 TI 停止生产,``TLK110`` PHY 已经不再支持。 25 | 如果你想使用其他 PHY,请参考 `{IDF_TARGET_NAME}-Ethernet-Kit V1.2 入门指南 `__ 进行设计。 26 | 27 | 第二步:连接开发板并测试 28 | ------------------------------------------ 29 | 30 | 将开发板通过网线连接到路由器,开发板将自动发送 DHCP 请求并尝试获取 IP 地址。如果设备获取 IP 地址成功,那么你可以使用连接到该路由器的 PC ping 通开发板。 31 | -------------------------------------------------------------------------------- /docs/zh_CN/Compile_and_Develop/How_to_update_IDF.rst: -------------------------------------------------------------------------------- 1 | 如何更新 ESP-IDF 版本 2 | ================================= 3 | 4 | {IDF_TARGET_COMPILE_MNAME: default="undefined", esp32="WROOM-32", esp32c3="MINI-1", esp32c2="ESP32C2-4MB", esp32c6="ESP32C6-4MB", esp32s2="MINI"} 5 | 6 | :link_to_translation:`en:[English]` 7 | 8 | ESP-AT 固件基于乐鑫物联网开发框架(ESP-IDF),每个版本的 ESP-AT 固件对应某个特定的 ESP-IDF 版本。强烈建议使用 ESP-AT 工程默认的 ESP-IDF 版本,**不建议** 更新 ESP-IDF 版本,因为 lib{IDF_TARGET_PATH_NAME}_at_core.a 底层的 ESP-IDF 版本与 ESP-AT 工程的 IDF 版本不一致可能会导致固件的错误操作。 9 | 10 | 但是,在某些特殊情况下,ESP-IDF 的小版本更新也可能适用于 ESP-AT 工程。如果您需要更新,本文档可作为参考。 11 | 12 | ESP-AT 固件对应的 ESP-IDF 版本记录在 ``IDF_VERSION`` 文件中,这些文件分布在 :project:`module_config` 文件夹下的不同模组文件夹中。该文件描述了模组固件所基于的 ESP-IDF 的分支、提交 ID 和仓库地址。例如,``PLATFORM_{IDF_TARGET_CFG_PREFIX}`` 平台的 ``{IDF_TARGET_COMPILE_MNAME}`` 模组的 ``IDF_VERSION`` 位于 :project_file:`module_config/module_{IDF_TARGET_PATH_NAME}_default/IDF_VERSION`。 13 | 14 | 如果您想为 ESP-AT 固件更新 ESP-IDF 版本,请按照以下步骤操作。 15 | 16 | - 找到模组的 ``IDF_VERSION`` 文件。 17 | - 根据需要更新其中的分支、提交 ID 和仓库地址。 18 | - 删除 ``esp-at`` 根目录下原有的 ``esp-idf``,以便下次编译时首先克隆 ``IDF_VERSION`` 中指定的 ESP-IDF 版本。 19 | - 重新编译 ESP-AT 工程。 20 | 21 | 注意,当 ESP-AT 版本和 ESP-IDF 版本不匹配,编译时会报如下错误。 22 | 23 | :: 24 | 25 | Please wait for the update to complete, which will take some time 26 | -------------------------------------------------------------------------------- /docs/zh_CN/Compile_and_Develop/index.rst: -------------------------------------------------------------------------------- 1 | ********************************** 2 | 如何编译和开发自己的 AT 工程 3 | ********************************** 4 | 5 | :link_to_translation:`en:[English]` 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | 如何本地编译 AT 工程 11 | 如何在 GitHub 网页上编译 AT 工程 12 | 如何修改 AT 管脚 13 | 如何添加自定义 AT 命令 14 | 如何提高 ESP-AT 吞吐性能 15 | 如何更新 mfg_nvs 分区 16 | 如何更新出厂参数 17 | 如何更新 PKI 配置 18 | :esp32 or esp32c2 or esp32c3 or esp32c6: 如何自定义低功耗蓝牙服务 19 | 如何自定义分区 20 | :esp32: 如何使能 {IDF_TARGET_NAME}-AT 以太网 21 | 如何增加一个新的模组支持 22 | :esp32 or esp32c6: 如何实现 SDIO AT 23 | :esp32c2 or esp32c3 or esp32c6: 如何实现 SPI AT 24 | 如何基于乐鑫服务器实现自己的 OTA 管理 25 | 如何更新 ESP-IDF 版本 26 | ESP-AT 固件差异 27 | 如何从 GitHub 下载最新临时版本 AT 固件 28 | at.py 工具 29 | ESP-AT API 参考 30 | 如何配置 silence mode 31 | -------------------------------------------------------------------------------- /docs/zh_CN/Customized_AT_Commands_and_Firmware/RainMaker_AT/index.rst: -------------------------------------------------------------------------------- 1 | ****************************************** 2 | RainMaker AT 命令和固件 3 | ****************************************** 4 | 5 | :link_to_translation:`en:[English]` 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | RainMaker AT 命令集 11 | RainMaker AT 示例 12 | RainMaker AT OTA 指南 13 | 缩写词索引 14 | 15 | .. _rm-at-messages: 16 | 17 | RainMaker AT 消息 18 | ================== 19 | 20 | .. _rm-at-messages-report: 21 | 22 | - ESP-AT RainMaker 消息报告(主动) 23 | 24 | ESP-AT 会报告系统中重要的 RainMaker 状态变化或消息。 25 | 26 | .. list-table:: ESP-AT 消息报告 27 | :header-rows: 1 28 | :widths: 60 60 29 | 30 | * - ESP-AT 消息报告 31 | - 说明 32 | * - 通用 AT 消息 33 | - 请参考 :ref:`ESP-AT 消息报告(主动) ` 34 | * - +RMRECV:,,: 35 | - ESP-AT 收到来自 RainMaker 云端的消息,参数 ```` 的格式为字符串 36 | * - +RMCONNECTED 37 | - RainMaker 设备连接到云 38 | * - +RMDISCONNECTED 39 | - RainMaker 设备被动断开了与云的连接 40 | * - +RMRESET 41 | - RainMaker 设备接收到 reset 消息。主控 MCU 在接收到消息后应主动执行命令 :ref:`AT+RST ` 来重启模块 42 | * - +RMREBOOT 43 | - RainMaker 设备接收到 reboot 消息。主控 MCU 在接收到消息后应主动执行命令 :ref:`AT+RST ` 来重启模块 44 | * - +RMTIMEZONE 45 | - RainMaker 设备接收到 timezone 消息 46 | * - +RMMAPPINGDONE 47 | - RainMaker 设备完成用户和节点之间的映射 48 | * - +RMFWNOTIFY:,,,, 49 | - RainMaker 设备输出接收到的主控 MCU OTA 信息 50 | * - +RMOTA: 51 | - RainMaker 设备输出 Wi-Fi MCU OTA 状态 52 | -------------------------------------------------------------------------------- /docs/zh_CN/Customized_AT_Commands_and_Firmware/RainMaker_AT/index_of_abbreviations.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../../en/Customized_AT_Commands_and_Firmware/RainMaker_AT/index_of_abbreviations.rst 2 | -------------------------------------------------------------------------------- /docs/zh_CN/Customized_AT_Commands_and_Firmware/index.rst: -------------------------------------------------------------------------------- 1 | ************************************** 2 | 第三方开放云平台定制化 AT 命令和固件 3 | ************************************** 4 | 5 | :link_to_translation:`en:[English]` 6 | 7 | .. only:: esp32 or esp32c2 or esp32c6 or esp32s2 8 | 9 | **待开发。** 10 | 11 | 如果您对第三方开放云平台的定制 AT 命令和固件有任何需求,请联系 `乐鑫商务组 `_ 进行评估。 12 | 13 | .. toctree:: 14 | :maxdepth: 1 15 | 16 | :esp32c3: RainMaker AT 命令和固件 17 | -------------------------------------------------------------------------------- /docs/zh_CN/Get_Started/What_is_ESP-AT.rst: -------------------------------------------------------------------------------- 1 | ESP-AT 是什么 2 | ============== 3 | 4 | :link_to_translation:`en:[English]` 5 | 6 | {IDF_TARGET_AT_COMMANDS: default="Wi-Fi 命令、TCP/IP 命令、MQTT 命令、HTTP 命令", esp32="Wi-Fi 命令、TCP/IP 命令、Bluetooth LE 命令、Bluetooth 命令、MQTT 命令、HTTP 命令、Ethernet 命令", esp32c2="Wi-Fi 命令、TCP/IP 命令、Bluetooth LE 命令、MQTT 命令、HTTP 命令", esp32c3="Wi-Fi 命令、TCP/IP 命令、Bluetooth LE 命令、MQTT 命令、HTTP 命令", esp32c6="Wi-Fi 命令、TCP/IP 命令、Bluetooth LE 命令、MQTT 命令、HTTP 命令"} 7 | 8 | .. important:: 9 | 在使用 ESP-AT 前,请仔细阅读 :doc:`../disclaimer`,并遵循其中的各项条款和注意事项。 10 | 11 | ESP-AT 是乐鑫开发的可直接用于量产的物联网应用固件,旨在降低客户开发成本,快速形成产品。通过 ESP-AT 命令,您可以快速加入无线网络、连接云平台、实现数据通信以及远程控制等功能,真正的通过无线通讯实现万物互联。 12 | 13 | ESP-AT 是基于 ESP-IDF 实现的软件工程。它使 {IDF_TARGET_NAME} 模组作为从机,MCU 作为主机。MCU 发送 AT 命令给 {IDF_TARGET_NAME} 模组,控制 {IDF_TARGET_NAME} 模组执行不同的操作,并接收 {IDF_TARGET_NAME} 模组返回的 AT 响应。ESP-AT 提供了大量功能不同的 AT 命令,如 {IDF_TARGET_AT_COMMANDS}等。 14 | 15 | .. figure:: ../../_static/ESP-AT-overview.jpg 16 | :align: center 17 | :alt: ESP-AT 概览 18 | :figclass: align-center 19 | 20 | ESP-AT 概览 21 | 22 | AT 命令以 "AT" 开始,代表 Attention,以新的一行 (CR LF) 为结尾。输入的每条命令都会返回 ``OK`` 或 ``ERROR`` 的响应,表示当前命令的最终执行结果。注意,所有 AT 命令均为串行执行,每次只能执行一条命令。因此,在使用 AT 命令时,应等待上一条命令执行完毕后,再发送下一条命令。如果上一条命令未执行完毕,又发送了新的命令,则会返回 ``busy p...`` 提示。更多有关 AT 命令的信息可参见 :doc:`../AT_Command_Set/index`。 23 | 24 | 默认配置下,MCU 通过 UART 连接至 {IDF_TARGET_NAME} 模组、发送 AT 命令以及接收 AT 响应。但是,您也可以根据实际使用情况修改程序,使用其他的通信接口,例如 SDIO。 25 | 26 | 同样,您也可以基于 ESP-AT 工程,自行开发更多的 AT 命令,以实现更多的功能。 -------------------------------------------------------------------------------- /docs/zh_CN/Get_Started/index.rst: -------------------------------------------------------------------------------- 1 | *********** 2 | 入门指南 3 | *********** 4 | 5 | :link_to_translation:`en:[English]` 6 | 7 | 本指南详细介绍 ESP-AT 是什么、技术选型、如何连接硬件、以及如何下载和烧录 AT 固件,由以下章节组成: 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | ESP-AT 是什么 13 | 技术选型 14 | 硬件连接 15 | 下载指导 16 | 17 | 如果您尚不了解 ESP-AT 工程,请阅读 :doc:`What_is_ESP-AT`。 18 | 19 | 如果您想学习如何使用 ESP-AT,请首先阅读 :doc:`Technology_selection`,帮助您选型硬件和软件,再阅读 :doc:`Hardware_connection`,了解所需的硬件以及硬件之间如何连接,然后再阅读 :doc:`Downloading_guide`,了解如何下载和烧录 AT 固件。 20 | -------------------------------------------------------------------------------- /docs/zh_CN/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends '!layout.html' %} 2 | {% block comments %} 3 |

提供有关此文档的反馈

4 | {% endblock %} 5 | -------------------------------------------------------------------------------- /docs/zh_CN/about.rst: -------------------------------------------------------------------------------- 1 | 关于 ESP-AT 2 | ============= 3 | 4 | :link_to_translation:`en:[English]` 5 | 6 | 这是 `ESP-AT `_ 的文档,ESP-AT 是乐鑫开发的可与乐鑫产品快速简单交互的解决方案。 7 | 8 | 乐鑫 Wi-Fi 和蓝牙芯片可以用作附加模块,可以完美集成在其他新产品或现有产品上,提供无线通讯功能。为降低客户开发成本,乐鑫开发了 :doc:`AT 固件 ` 和各类 :doc:`AT 命令 `,方便客户简单快速地使用 AT 命令来控制芯片。 9 | 10 | .. figure:: ../_static/about-esp-at-solution.png 11 | :align: center 12 | :alt: ESP-AT 方案 13 | :figclass: align-center 14 | 15 | ESP-AT 方案 16 | 17 | 乐鑫提供的 AT 固件具有以下特色,利于芯片快速集成到应用中: 18 | 19 | - 内置 TCP/IP 堆栈和数据缓冲 20 | - 能便捷地集成到资源受限的主机平台中 21 | - 主机对命令的回应易于解析 22 | - 用户可自定义 AT 命令 23 | 24 | .. figure:: ../_static/about-esp-at-commands.png 25 | :align: center 26 | :alt: ESP-AT 命令 27 | :figclass: align-center 28 | 29 | ESP-AT 命令 30 | -------------------------------------------------------------------------------- /docs/zh_CN/conf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD 5 | # SPDX-License-Identifier: Apache-2.0 6 | 7 | import sys 8 | import os 9 | import datetime 10 | 11 | sys.path.insert(0, os.path.abspath('..')) 12 | from conf_common import * # noqa: F401, F403 - need to make available everything from common 13 | 14 | current_year = datetime.datetime.now().year 15 | 16 | # General information about the project. 17 | project = 'ESP-AT 用户指南' 18 | copyright = '2016 - {} 乐鑫信息科技(上海)股份有限公司'.format(current_year) 19 | 20 | pdf_title = 'ESP-AT 用户指南' 21 | # Final PDF filename will contains target and version 22 | pdf_file_prefix = 'esp-at' 23 | 24 | # The language for content autogenerated by Sphinx. Refer to documentation 25 | # for a list of supported languages. 26 | language = 'zh_CN' 27 | 28 | html_zip = f'esp-idf-{language}-{release}' # noqa: F405 29 | 30 | html_js_files = ['js/chatbot_widget_cn.js'] 31 | -------------------------------------------------------------------------------- /docs/zh_CN/disclaimer.rst: -------------------------------------------------------------------------------- 1 | 特别声明 2 | ======== 3 | 4 | :link_to_translation:`en:[English]` 5 | 6 | 感谢您选择使用 ESP-AT 方案(固件)。为了确保您对本方案(本固件)的使用安全、合法且符合预期效果,请仔细阅读以下特别声明。本声明旨在明确用户在使用本方案(本固件)过程中需要遵循的各项条款和注意事项。通过继续使用本方案(本固件),您即表示接受并同意遵守这些条款。 7 | 8 | 应用场景验证 9 | ------------ 10 | 11 | 本方案(本固件)为通用版本,尽管针对各种场景做了大量的测试,但测试用例仍存在某些应用场景无法覆盖的风险,在决定基于本方案(本固件)进行商用量产前,请结合自己的应用场景,进行充足且全面的验证。 12 | 13 | 兼容性 14 | ------ 15 | 16 | 由于技术日新月异,当某一新的技术、方案或标准出现时,可能导致兼容性问题,请结合自己产品做好相应的测试验证,并关注本方案(本固件)的新版本发布情况。 17 | 18 | 服务器升级注意事项 19 | ------------------ 20 | 21 | 当对服务器进行升级时,包括但不限于操作系统升级、工具升级、证书升级等,请务必在正式升级前进行测试验证,避免因服务器变动导致的连接问题。 22 | 23 | 无线方案问题处理 24 | ---------------- 25 | 26 | 无线方案易受外部因素影响,且问题定位复杂。请结合自身产品和云平台,规划好远程 OTA 和远程问题信息获取的解决方案,否则可能需要用户现场提供日志、数据包等必需的信息进行问题分析。 27 | 28 | 使用限制 29 | -------- 30 | 31 | 用户不得将本方案(本固件)用于非法活动或违反相关法律法规的用途。用户应确保其使用本方案(本固件)的行为符合所有适用的法律和法规,我司不对因非法使用本方案(固件)而产生的任何后果负责。 32 | 33 | 责任限制 34 | -------- 35 | 36 | 对于因使用本方案(本固件)造成的直接、间接、偶然、特殊或继发性的损害(包括但不限于数据丢失、利润损失、业务中断等),我司不承担任何责任,即使已被告知可能发生此类损害。 37 | 38 | 第三方软件和技术 39 | ---------------- 40 | 41 | 本方案(本固件)可能包含第三方的软件或技术,我司对这些第三方软件或技术的适用性和合规性不承担责任。用户应遵循第三方的许可协议和使用条款。 42 | 43 | 数据保护 44 | -------- 45 | 46 | 用户在使用本方案(本固件)过程中产生的数据应由用户自行负责保护和备份。我司对因数据丢失或泄露引起的任何损失不承担责任。 47 | 48 | 版本更新与维护 49 | -------------- 50 | 51 | 本方案(本固件)会不定期进行维护更新及版本发布,请自行关注版本状态,恕不另行通知。 52 | 53 | 声明更新 54 | -------- 55 | 56 | 本声明条款可能会不定期更新,恕不另行通知。 57 | 58 | 用户责任 59 | -------- 60 | 61 | 强烈建议用户认真阅读并严格遵守本声明条款,由于未遵守导致的风险,需由用户承担。 62 | 63 | 感谢您的理解与配合! 64 | -------------------------------------------------------------------------------- /docs/zh_CN/index_of_abbreviations.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../en/index_of_abbreviations.rst -------------------------------------------------------------------------------- /examples/at_custom_cmd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB_RECURSE srcs *.c) 3 | 4 | set(includes "include") 5 | 6 | # Add more required components you need here, separated by spaces 7 | set(require_components at freertos nvs_flash) 8 | 9 | idf_component_register( 10 | SRCS ${srcs} 11 | INCLUDE_DIRS ${includes} 12 | REQUIRES ${require_components}) 13 | 14 | idf_component_set_property(${COMPONENT_NAME} WHOLE_ARCHIVE TRUE) 15 | -------------------------------------------------------------------------------- /examples/at_custom_cmd/README.md: -------------------------------------------------------------------------------- 1 | ### Description 2 | This `at_custom_cmd` example works as a component, allowing you to add your own AT commands under `at_custom_cmd` directory without modifying the [esp-at repository](https://github.com/espressif/esp-at) source code. This allows you to just host `at_custom_cmd` component in your git repository in a light-weight way, and it also allows you to freely choose any commit from the ESP-AT repository snapshot starting from February 2024 as the main project. 3 | 4 | ### Usage 5 | 1. Add your codes into `at_custom_cmd/custom/**/*.c` and `at_custom_cmd/custom/**/*.h` files (you can also create new source files and header files). 6 | 2. You may need to add more component dependencies into `at_custom_cmd/CMakeLists.txt` file if other components are used in your code. 7 | 3. Add your `at_custom_cmd` component into the build system of esp-at project. 8 | 9 | - Linux or macOS 10 | ``` 11 | export AT_CUSTOM_COMPONENTS=(path_of_at_custom_cmd) 12 | ``` 13 | 14 | - Windows 15 | ``` 16 | set AT_CUSTOM_COMPONENTS=(path_of_at_custom_cmd) 17 | ``` 18 | 19 | Notes: 20 | - You need to replace (path_of_at_custom_cmd) with your real absolute path of your `at_custom_cmd` directory. 21 | - You can specify multiple components. For example: `export AT_CUSTOM_COMPONENTS="~/prefix/my_path1 ~/prefix/my_path2"`. 22 | 23 | 4. Compile your firmware according to the [Compile ESP-AT Project](https://docs.espressif.com/projects/esp-at/en/latest/esp32/Compile_and_Develop/How_to_clone_project_and_compile_it.html#compile-esp-at-project-locally) guide. 24 | -------------------------------------------------------------------------------- /examples/at_custom_cmd/include/at_custom_cmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | #include "esp_at_core.h" 8 | #include "esp_at.h" 9 | 10 | /** 11 | * @brief You can include more header files here for your own AT commands. 12 | */ 13 | -------------------------------------------------------------------------------- /examples/at_fatfs_to_http_server/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB_RECURSE srcs *.c) 3 | 4 | set(includes "include") 5 | 6 | # Add more required components you need here, separated by spaces 7 | set(require_components at freertos esp_http_client) 8 | 9 | idf_component_register( 10 | SRCS ${srcs} 11 | INCLUDE_DIRS ${includes} 12 | REQUIRES ${require_components}) 13 | 14 | idf_component_set_property(${COMPONENT_NAME} WHOLE_ARCHIVE TRUE) 15 | -------------------------------------------------------------------------------- /examples/at_fatfs_to_http_server/README.md: -------------------------------------------------------------------------------- 1 | ### Usage 2 | 1. Add this `at_fatfs_to_http_server` component into the build system of esp-at project. 3 | 4 | - Linux or macOS 5 | ``` 6 | export AT_CUSTOM_COMPONENTS=(path_of_at_custom_cmd) 7 | ``` 8 | 9 | - Windows 10 | ``` 11 | set AT_CUSTOM_COMPONENTS=(path_of_at_custom_cmd) 12 | ``` 13 | 14 | Notes: 15 | - You need to replace (path_of_at_custom_cmd) with your real absolute path of your `at_custom_cmd` directory. 16 | - You can specify multiple components. For example: `export AT_CUSTOM_COMPONENTS="~/prefix/my_path1 ~/prefix/my_path2"`. 17 | 18 | 2. Compile your firmware according to the [Compile ESP-AT Project](https://docs.espressif.com/projects/esp-at/en/latest/esp32/Compile_and_Develop/How_to_clone_project_and_compile_it.html#compile-esp-at-project-locally) guide. 19 | 20 | 3. Send a new AT command based on your situation. 21 | 22 | The new command format is: 23 | ``` 24 | AT+FS_TO_HTTP_SERVER=<"dst_path">, 25 | ``` 26 | where: 27 | - <"dst_path">: Specify the destination path where the file will be posted from the filesystem after the HTTP POST request is successfully executed. 28 | - : URL length. Maximum: 8192 bytes. 29 | 30 | For example: url is "http://httpbin.org/post", and you want to post file `foo.bin`. 31 | ``` 32 | AT+FS_TO_HTTP_SERVER="foo.bin",23 33 | // then input http://httpbin.org/post 34 | ``` 35 | -------------------------------------------------------------------------------- /examples/at_fatfs_to_http_server/include/at_custom_cmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | #include "esp_at_core.h" 8 | #include "esp_at.h" 9 | 10 | /** 11 | * @brief You can include more header files here for your own AT commands. 12 | */ 13 | -------------------------------------------------------------------------------- /examples/at_http_get_to_fatfs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB_RECURSE srcs *.c) 3 | 4 | set(includes "include") 5 | 6 | # Add more required components you need here, separated by spaces 7 | set(require_components at freertos esp_http_client) 8 | 9 | idf_component_register( 10 | SRCS ${srcs} 11 | INCLUDE_DIRS ${includes} 12 | REQUIRES ${require_components}) 13 | 14 | idf_component_set_property(${COMPONENT_NAME} WHOLE_ARCHIVE TRUE) 15 | -------------------------------------------------------------------------------- /examples/at_http_get_to_fatfs/README.md: -------------------------------------------------------------------------------- 1 | ### Usage 2 | 1. Add this `at_http_get_to_fatfs` component into the build system of esp-at project. 3 | 4 | - Linux or macOS 5 | ``` 6 | export AT_CUSTOM_COMPONENTS=(path_of_at_custom_cmd) 7 | ``` 8 | 9 | - Windows 10 | ``` 11 | set AT_CUSTOM_COMPONENTS=(path_of_at_custom_cmd) 12 | ``` 13 | 14 | Notes: 15 | - You need to replace (path_of_at_custom_cmd) with your real absolute path of your `at_custom_cmd` directory. 16 | - You can specify multiple components. For example: `export AT_CUSTOM_COMPONENTS="~/prefix/my_path1 ~/prefix/my_path2"`. 17 | 18 | 2. Compile your firmware according to the [Compile ESP-AT Project](https://docs.espressif.com/projects/esp-at/en/latest/esp32/Compile_and_Develop/How_to_clone_project_and_compile_it.html#compile-esp-at-project-locally) guide. 19 | 20 | 3. Send a new AT command based on your situation. 21 | 22 | The new command format is: 23 | ``` 24 | AT+HTTPGET_TO_FS=<"dst_path">, 25 | ``` 26 | where: 27 | - <"dst_path">: Specify the destination path where the file will be stored on the filesystem after the HTTP GET request is successfully executed. 28 | - : URL length. Maximum: 8192 bytes. 29 | 30 | For example: url is "http://192.168.200.249:8080/a.bin", and you want to save it to `foo.bin`. 31 | ``` 32 | AT+HTTPGET_TO_FS="foo.bin",33 33 | // then input http://192.168.200.249:8080/a.bin 34 | ``` 35 | 36 | 4. Check the file content 37 | 38 | Please send [AT+FS](https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Set/FS_AT_Commands.html#at-fs-filesystem-operations) command to read the data of your <"dst_path">. 39 | 40 | For example: read 100 bytes from offset 0 of `foo.bin` file. 41 | ``` 42 | AT+FS=0,2,"foo.bin",0,100 43 | ``` 44 | -------------------------------------------------------------------------------- /examples/at_http_get_to_fatfs/include/at_custom_cmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | #include "esp_at_core.h" 8 | #include "esp_at.h" 9 | 10 | /** 11 | * @brief You can include more header files here for your own AT commands. 12 | */ 13 | -------------------------------------------------------------------------------- /examples/at_interface_security/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB_RECURSE srcs *.c) 3 | 4 | set(includes "include") 5 | 6 | # Add more required components you need here, separated by spaces 7 | set(require_components at) 8 | 9 | idf_component_register( 10 | SRCS ${srcs} 11 | INCLUDE_DIRS ${includes} 12 | REQUIRES ${require_components}) 13 | 14 | idf_component_set_property(${COMPONENT_NAME} WHOLE_ARCHIVE TRUE) 15 | -------------------------------------------------------------------------------- /examples/at_interface_security/Kconfig: -------------------------------------------------------------------------------- 1 | menu "AT Interface Security Configuration" 2 | config AT_INTF_SECURITY_SUPPORT 3 | bool "Enable AT Interface Security" 4 | default y 5 | endmenu 6 | -------------------------------------------------------------------------------- /examples/at_interface_security/include/at_custom_cmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | #include "esp_at_core.h" 8 | #include "esp_at.h" 9 | 10 | /** 11 | * @brief You can include more header files here for your own AT commands. 12 | */ 13 | -------------------------------------------------------------------------------- /examples/at_interface_security/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Enable AT Interface Security 2 | CONFIG_AT_INTF_SECURITY_SUPPORT=y 3 | -------------------------------------------------------------------------------- /examples/at_override_module_config/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.1 2 | commit:64849cb7039a93b7b3a4ad8e8da328fa9c09c5e7 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /examples/at_override_module_config/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 0x41000 3 | -------------------------------------------------------------------------------- /examples/at_override_module_config/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x3a0000 7 | -------------------------------------------------------------------------------- /examples/at_override_module_config/patch/at_example.patch: -------------------------------------------------------------------------------- 1 | diff --git a/main/app_main.c b/main/app_main.c 2 | index 06939b6a..de98fbab 100644 3 | --- a/main/app_main.c 4 | +++ b/main/app_main.c 5 | @@ -3,6 +3,7 @@ 6 | * 7 | * SPDX-License-Identifier: Apache-2.0 8 | */ 9 | +#include 10 | #include "nvs_flash.h" 11 | #include "esp_event.h" 12 | #include "esp_err.h" 13 | @@ -19,4 +20,7 @@ void app_main(void) 14 | ESP_ERROR_CHECK(esp_event_loop_create_default()); 15 | 16 | esp_at_init(); 17 | + 18 | + char *prompt = "Welcome to the world of ESP-AT!\r\n"; 19 | + esp_at_port_active_write_data((uint8_t *)prompt, strlen(prompt)); 20 | } 21 | -------------------------------------------------------------------------------- /examples/at_override_module_config/patch/patch_list.ini: -------------------------------------------------------------------------------- 1 | ; Add your patches to the section below 2 | 3 | [support_ext_partition.patch] 4 | path = esp-idf 5 | note = "[IDF-9560] Support to use partition table outside of the project directory" 6 | 7 | [at_example.patch] 8 | path = . 9 | note = "This is a simple example to demonstrate how to override the patch directory" 10 | -------------------------------------------------------------------------------- /examples/at_override_module_config/patch/support_ext_partition.patch: -------------------------------------------------------------------------------- 1 | diff --git a/components/partition_table/project_include.cmake b/components/partition_table/project_include.cmake 2 | index d0969ba408..89a0f02cbd 100644 3 | --- a/components/partition_table/project_include.cmake 4 | +++ b/components/partition_table/project_include.cmake 5 | @@ -9,10 +9,14 @@ if(NOT BOOTLOADER_BUILD) 6 | # Set PARTITION_CSV_PATH to the configured partition CSV file 7 | # absolute path 8 | if(CONFIG_PARTITION_TABLE_CUSTOM) 9 | + if(NOT CONFIG_PARTITION_TABLE_BASE_DIR) 10 | + set(CONFIG_PARTITION_TABLE_BASE_DIR "${project_dir}") 11 | + endif() 12 | + 13 | idf_build_get_property(project_dir PROJECT_DIR) 14 | # Custom filename expands any path relative to the project 15 | get_filename_component(PARTITION_CSV_PATH "${CONFIG_PARTITION_TABLE_FILENAME}" 16 | - ABSOLUTE BASE_DIR "${project_dir}") 17 | + ABSOLUTE BASE_DIR "${CONFIG_PARTITION_TABLE_BASE_DIR}") 18 | 19 | if(NOT EXISTS "${PARTITION_CSV_PATH}") 20 | message(WARNING "Partition table CSV file ${PARTITION_CSV_PATH} not found. " 21 | -------------------------------------------------------------------------------- /examples/at_override_module_config/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Override default configurations 2 | 3 | # Override System Partition Table 4 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_at.csv" 5 | CONFIG_PARTITION_TABLE_FILENAME="partitions_at.csv" 6 | 7 | # Override User Partition Table 8 | CONFIG_AT_CUSTOMIZED_PARTITION_TABLE_FILE="at_customize.csv" 9 | 10 | # Enable WebSocket and disable mDNS 11 | CONFIG_AT_WS_COMMAND_SUPPORT=y 12 | CONFIG_AT_MDNS_COMMAND_SUPPORT=n 13 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.16) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(sdio_host) 7 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This is a project Makefile. It is assumed the directory this Makefile resides in is a 3 | # project subdirectory. 4 | # 5 | 6 | PROJECT_NAME := sdio_host 7 | 8 | include $(IDF_PATH)/make/project.mk 9 | 10 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/platform/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB_RECURSE srcs *.c) 2 | 3 | set(components_requires sdmmc) 4 | 5 | if("${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}" VERSION_GREATER_EQUAL "5.4") 6 | list(APPEND components_requires esp_driver_sdmmc) 7 | endif() 8 | 9 | idf_component_register(SRCS ${srcs} 10 | INCLUDE_DIRS "esp32/include" "../sdio_host/include" 11 | PRIV_REQUIRES ${components_requires}) 12 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/platform/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Component Makefile 3 | # 4 | 5 | COMPONENT_ADD_INCLUDEDIRS := esp32/include 6 | 7 | COMPONENT_SRCDIRS := esp32 8 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/platform/esp32/include/platform_os.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /** 13 | * Delay some times 14 | * 15 | * @param uint32_t - set the timer to delay in this number of milliseconds 16 | * @return 17 | * - SUCCESS on success 18 | * - FAILURE on fail 19 | */ 20 | void platform_os_delay(uint32_t milliseconds); 21 | 22 | #ifdef __cplusplus 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/platform/esp32/platform_os.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #include "freertos/FreeRTOS.h" 7 | #include "freertos/task.h" 8 | 9 | void platform_os_delay(uint32_t milliseconds) 10 | { 11 | vTaskDelay(milliseconds); 12 | } 13 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/sdio_host/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB_RECURSE srcs *.c) 2 | 3 | set(components_requires platform sdmmc) 4 | 5 | idf_component_register(SRCS ${srcs} 6 | INCLUDE_DIRS "include" 7 | PRIV_REQUIRES ${components_requires}) 8 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/sdio_host/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Component Makefile 3 | # 4 | 5 | COMPONENT_ADD_INCLUDEDIRS := include 6 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/sdio_host/include/sdio_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #include "sdkconfig.h" 9 | 10 | #define TARGET_ESP32 1 11 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/sdio_host/include/sdio_host_error.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /*! \public 13 | * @brief SDIO host Error enum 14 | * 15 | * Values less than -1 are specific error codes 16 | * Value of -1 is a generic failure response 17 | * Value of 0 is a generic success response 18 | */ 19 | typedef enum { 20 | SUCCESS = 0, 21 | FAILURE = -1, 22 | ERR_TIMEOUT = -2, 23 | ERR_INVALID_ARG = -3, 24 | ERR_NO_MEMORY = -4, 25 | ERR_NOT_FOUND = -5, 26 | ERR_NOT_FINISHED = -6 27 | } sdio_err_t; 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/sdio_host/include/sdio_host_log.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | extern int sdio_debugLevel; 13 | 14 | #define SDIO_LOGE(x, ...) {if(sdio_debugLevel >= 0) {printf("E %s: ",x); printf(__VA_ARGS__); printf("\n");}} 15 | #define SDIO_LOGW(x, ...) {if(sdio_debugLevel >= 1) {printf("W %s: ",x); printf(__VA_ARGS__); printf("\n");}} 16 | #define SDIO_LOGI(x, ...) {if(sdio_debugLevel >= 2) {printf("I %s: ",x); printf(__VA_ARGS__); printf("\n");}} 17 | #define SDIO_LOGD(x, ...) {if(sdio_debugLevel >= 3) {printf("D %s: ",x); printf(__VA_ARGS__); printf("\n");}} 18 | #define SDIO_LOGV(x, ...) {if(sdio_debugLevel >= 4) {printf("V %s: ",x); printf(__VA_ARGS__); printf("\n");}} 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/components/sdio_host/include/sdio_host_reg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #include "sdio_config.h" 9 | 10 | #define SD_IO_CCCR_FN_ENABLE 0x02 11 | #define SD_IO_CCCR_FN_READY 0x03 12 | #define SD_IO_CCCR_INT_ENABLE 0x04 13 | #define SD_IO_CCCR_BUS_WIDTH 0x07 14 | 15 | #define CCCR_BUS_WIDTH_ECSI (1<<5) 16 | 17 | #define SD_IO_CCCR_BLKSIZEL 0x10 18 | #define SD_IO_CCCR_BLKSIZEH 0x11 19 | 20 | #define TX_BUFFER_MAX 0x1000 21 | #define TX_BUFFER_MASK 0xFFF 22 | 23 | #define ESP_SLAVE_CMD53_END_ADDR 0x1f800 24 | 25 | #define ESP32_SLCHOST_BASE 0x3ff55000 26 | 27 | #define ESP_SDIO_PKT_LEN (ESP32_SLCHOST_BASE + 0x60)&0x3FF 28 | #define ESP_SDIO_INT_CLR (ESP32_SLCHOST_BASE + 0xD4)&0x3FF 29 | #define ESP_SDIO_INT_RAW (ESP32_SLCHOST_BASE + 0x50)&0x3FF 30 | #define ESP_SDIO_INT_ST (ESP32_SLCHOST_BASE + 0x58)&0x3FF 31 | #define ESP_SDIO_TOKEN_RDATA (ESP32_SLCHOST_BASE + 0x44)&0x3FF 32 | #define ESP_SDIO_SEND_OFFSET 16 33 | #define ESP_SDIO_CONF (ESP32_SLCHOST_BASE + 0x8c)&0x3FF 34 | #define ESP_SDIO_CONF_OFFSET 0 35 | 36 | #define RX_BYTE_MAX 0x100000 37 | #define RX_BYTE_MASK 0xFFFFF 38 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "app_main.c" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/main/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "SDIO HOST Configuration" 2 | 3 | choice TARGET_PLATFORM 4 | prompt "Select slave platform." 5 | default SLAVE_ESP32 6 | help 7 | Select which target is used. 8 | 9 | config SLAVE_ESP32 10 | bool "Using ESP32" 11 | endchoice 12 | 13 | endmenu 14 | -------------------------------------------------------------------------------- /examples/at_sdio_host/ESP32/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Main component makefile. 3 | # 4 | # This Makefile can be left empty. By default, it will take the sources in the 5 | # src/ directory, compile them and link them into lib(subdirectory_name).a 6 | # in the build directory. This behaviour is entirely configurable, 7 | # please read the ESP-IDF documents if you need to do this. 8 | # 9 | -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_sdio_host/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_sdio_host/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Inc/gpio.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : gpio.h 4 | * Description : This file contains all the functions prototypes for 5 | * the gpio 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2020 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __gpio_H 22 | #define __gpio_H 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "main.h" 29 | 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | /* USER CODE BEGIN Private defines */ 35 | 36 | /* USER CODE END Private defines */ 37 | 38 | void MX_GPIO_Init(void); 39 | 40 | /* USER CODE BEGIN Prototypes */ 41 | 42 | /* USER CODE END Prototypes */ 43 | 44 | #ifdef __cplusplus 45 | } 46 | #endif 47 | #endif /*__ pinoutConfig_H */ 48 | 49 | /** 50 | * @} 51 | */ 52 | 53 | /** 54 | * @} 55 | */ 56 | 57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 58 | -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/MDK-ARM/JLinkSettings.ini: -------------------------------------------------------------------------------- 1 | [BREAKPOINTS] 2 | ForceImpTypeAny = 0 3 | ShowInfoWin = 1 4 | EnableFlashBP = 2 5 | BPDuringExecution = 0 6 | [CFI] 7 | CFISize = 0x00 8 | CFIAddr = 0x00 9 | [CPU] 10 | OverrideMemMap = 0 11 | AllowSimulation = 1 12 | ScriptFile="" 13 | [FLASH] 14 | CacheExcludeSize = 0x00 15 | CacheExcludeAddr = 0x00 16 | MinNumBytesFlashDL = 0 17 | SkipProgOnCRCMatch = 1 18 | VerifyDownload = 1 19 | AllowCaching = 1 20 | EnableFlashDL = 2 21 | Override = 0 22 | Device="UNSPECIFIED" 23 | [GENERAL] 24 | WorkRAMSize = 0x00 25 | WorkRAMAddr = 0x00 26 | RAMUsageLimit = 0x00 27 | [SWO] 28 | SWOLogFile="" 29 | [MEM] 30 | RdOverrideOrMask = 0x00 31 | RdOverrideAndMask = 0xFFFFFFFF 32 | RdOverrideAddr = 0xFFFFFFFF 33 | WrOverrideOrMask = 0x00 34 | WrOverrideAndMask = 0xFFFFFFFF 35 | WrOverrideAddr = 0xFFFFFFFF 36 | -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/MDK-ARM/RTE/RTE_Components.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Auto generated Run-Time-Environment Component Configuration File 4 | * *** Do not modify ! *** 5 | * 6 | * Project: 'sdio_at' 7 | * Target: 'sdio_at' 8 | */ 9 | 10 | #ifndef RTE_COMPONENTS_H 11 | #define RTE_COMPONENTS_H 12 | 13 | 14 | #endif /* RTE_COMPONENTS_H */ 15 | -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_sdio_host/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_sdio_host/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Src/components/platform/include/platform_os.h: -------------------------------------------------------------------------------- 1 | #ifndef PLATFORM_OS_H_ 2 | #define PLATFORM_OS_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | /** 9 | * Delay some times 10 | * 11 | * @param uint32_t - set the timer to delay in this number of milliseconds 12 | * @return 13 | * - SUCCESS on success 14 | * - FAILURE on fail 15 | */ 16 | void platform_os_delay(uint32_t milliseconds); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif /* PLATFORM_OS_H_ */ -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Src/components/platform/platform_os.c: -------------------------------------------------------------------------------- 1 | #include "FreeRTOS.h" 2 | #include "task.h" 3 | 4 | void platform_os_delay(uint32_t milliseconds) 5 | { 6 | vTaskDelay(milliseconds); 7 | } -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Src/components/sdio_host/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Component Makefile 3 | # 4 | 5 | COMPONENT_ADD_INCLUDEDIRS := include 6 | 7 | -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Src/components/sdio_host/include/sdio_config.h: -------------------------------------------------------------------------------- 1 | #ifndef SDIO_CONFIG_H_ 2 | #define SDIO_CONFIG_H_ 3 | 4 | #define TARGET_ESP32 1 5 | 6 | #endif /* SDIO_CONFIG_H_ */ 7 | -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Src/components/sdio_host/include/sdio_host_error.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ifndef SDIO_HOST_ERROR_H_ 4 | #define SDIO_HOST_ERROR_H_ 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | /*! \public 11 | * @brief SDIO host Error enum 12 | * 13 | * Values less than -1 are specific error codes 14 | * Value of -1 is a generic failure response 15 | * Value of 0 is a generic success response 16 | */ 17 | typedef enum { 18 | SDIO_SUCCESS = 0, 19 | FAILURE = -1, 20 | ERR_TIMEOUT = -2, 21 | ERR_INVALID_ARG = -3, 22 | ERR_NO_MEMORY = -4, 23 | ERR_NOT_FOUND = -5, 24 | ERR_NOT_FINISHED = -6 25 | } sdio_err_t; 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | #endif /* SDIO_HOST_ERROR_H_ */ 32 | -------------------------------------------------------------------------------- /examples/at_sdio_host/STM32/Src/components/sdio_host/include/sdio_host_log.h: -------------------------------------------------------------------------------- 1 | #ifndef SDIO_HOST_LOG_H_ 2 | #define SDIO_HOST_LOG_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | extern int sdio_debugLevel; 9 | 10 | #define SDIO_LOGE(x, ...) {if(sdio_debugLevel >= 0) {printf("E %s: ",x); printf(__VA_ARGS__); printf("\r\n");}} 11 | #define SDIO_LOGW(x, ...) {if(sdio_debugLevel >= 1) {printf("W %s: ",x); printf(__VA_ARGS__); printf("\r\n");}} 12 | #define SDIO_LOGI(x, ...) {if(sdio_debugLevel >= 2) {printf("I %s: ",x); printf(__VA_ARGS__); printf("\r\n");}} 13 | #define SDIO_LOGD(x, ...) {if(sdio_debugLevel >= 3) {printf("D %s: ",x); printf(__VA_ARGS__); printf("\r\n");}} 14 | #define SDIO_LOGV(x, ...) {if(sdio_debugLevel >= 4) {printf("V %s: ",x); printf(__VA_ARGS__); printf("\r\n");}} 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif 19 | 20 | 21 | #endif /* SDIO_HOST_LOG_H_ */ 22 | -------------------------------------------------------------------------------- /examples/at_sdio_host/res/sdio_dataflow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_sdio_host/res/sdio_dataflow.jpg -------------------------------------------------------------------------------- /examples/at_spi_master/README.md: -------------------------------------------------------------------------------- 1 | # SPI master Examples 2 | 3 | This section provides examples how the MCU communicates with SPI AT, there are two ways to do this, SDSPI mode and SPI mode. Due to the limitations of ESP32 SPI, SPI slave can only work within the frequency of 10M and SDIO SPI can be up to 40M. 4 | 5 | See the [README.md](sdspi/README.md) file in the sdspi directory for more information about SDIO SPI. 6 | 7 | See the [README.md](spi/esp32_c_series/README.md) file in the spi directory for more information about ESP32-C3 SPI. 8 | 9 | ESP32 SPI is no longer supported, you can choose the SDIO SPI as an alternative. 10 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.16) 4 | 5 | # add cmake flags 6 | ### (unused typedefs, unused variable, unused function, unused-but-set-variable) should not be treated as warnings and errors 7 | add_compile_options("-Wno-unused-local-typedefs") 8 | add_compile_options("-Wno-unused-variable") 9 | add_compile_options("-Wno-unused-function") 10 | add_compile_options("-Wno-unused-but-set-variable") 11 | add_compile_options("-Wno-format") 12 | 13 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 14 | project(sdspi_host) 15 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This is a project Makefile. It is assumed the directory this Makefile resides in is a 3 | # project subdirectory. 4 | # 5 | 6 | PROJECT_NAME := sdio_host 7 | 8 | include $(IDF_PATH)/make/project.mk 9 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/components/platform/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB_RECURSE srcs *.c) 2 | 3 | set(components_requires spi_flash driver) 4 | 5 | idf_component_register(SRCS ${srcs} 6 | INCLUDE_DIRS "esp32/include" "../sdspi_host/include" 7 | PRIV_REQUIRES ${components_requires}) 8 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/components/platform/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Component Makefile 3 | # 4 | 5 | COMPONENT_ADD_INCLUDEDIRS := esp32/include 6 | 7 | COMPONENT_SRCDIRS := esp32 8 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/components/sdspi_host/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB_RECURSE srcs *.c) 2 | 3 | set(components_requires platform sdmmc) 4 | 5 | idf_component_register(SRCS ${srcs} 6 | INCLUDE_DIRS "include" 7 | PRIV_REQUIRES ${components_requires}) 8 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/components/sdspi_host/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Component Makefile 3 | # 4 | 5 | COMPONENT_ADD_INCLUDEDIRS := include 6 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "app_main.c" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Main component makefile. 3 | # 4 | # This Makefile can be left empty. By default, it will take the sources in the 5 | # src/ directory, compile them and link them into lib(subdirectory_name).a 6 | # in the build directory. This behaviour is entirely configurable, 7 | # please read the ESP-IDF documents if you need to do this. 8 | # 9 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/ESP32/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y 2 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 3 | 4 | CONFIG_FREERTOS_UNICORE=y 5 | CONFIG_FREERTOS_HZ=1000 6 | 7 | CONFIG_FLASHMODE_QIO=y 8 | CONFIG_ESPTOOLPY_FLASHFREQ_80M=y 9 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/sdspi/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/sdspi/STM32/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/STM32/Inc/spi.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * File Name : SPI.h 4 | * Description : This file provides code for the configuration 5 | * of the SPI instances. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2020 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __spi_H 21 | #define __spi_H 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | /* Includes ------------------------------------------------------------------*/ 27 | #include "main.h" 28 | 29 | /* USER CODE BEGIN Includes */ 30 | 31 | /* USER CODE END Includes */ 32 | 33 | extern SPI_HandleTypeDef hspi1; 34 | 35 | /* USER CODE BEGIN Private defines */ 36 | 37 | /* USER CODE END Private defines */ 38 | 39 | void MX_SPI1_Init(void); 40 | 41 | /* USER CODE BEGIN Prototypes */ 42 | 43 | /* USER CODE END Prototypes */ 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | #endif /*__ spi_H */ 49 | 50 | /** 51 | * @} 52 | */ 53 | 54 | /** 55 | * @} 56 | */ 57 | 58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 59 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/STM32/MDK-ARM/JLinkSettings.ini: -------------------------------------------------------------------------------- 1 | [BREAKPOINTS] 2 | ForceImpTypeAny = 0 3 | ShowInfoWin = 1 4 | EnableFlashBP = 2 5 | BPDuringExecution = 0 6 | [CFI] 7 | CFISize = 0x00 8 | CFIAddr = 0x00 9 | [CPU] 10 | OverrideMemMap = 0 11 | AllowSimulation = 1 12 | ScriptFile="" 13 | [FLASH] 14 | CacheExcludeSize = 0x00 15 | CacheExcludeAddr = 0x00 16 | MinNumBytesFlashDL = 0 17 | SkipProgOnCRCMatch = 1 18 | VerifyDownload = 1 19 | AllowCaching = 1 20 | EnableFlashDL = 2 21 | Override = 0 22 | Device="UNSPECIFIED" 23 | [GENERAL] 24 | WorkRAMSize = 0x00 25 | WorkRAMAddr = 0x00 26 | RAMUsageLimit = 0x00 27 | [SWO] 28 | SWOLogFile="" 29 | [MEM] 30 | RdOverrideOrMask = 0x00 31 | RdOverrideAndMask = 0xFFFFFFFF 32 | RdOverrideAddr = 0xFFFFFFFF 33 | WrOverrideOrMask = 0x00 34 | WrOverrideAndMask = 0xFFFFFFFF 35 | WrOverrideAddr = 0xFFFFFFFF 36 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/STM32/MDK-ARM/RTE/RTE_Components.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Auto generated Run-Time-Environment Component Configuration File 4 | * *** Do not modify ! *** 5 | * 6 | * Project: 'STM32_SPI_AT' 7 | * Target: 'STM32_SPI_AT' 8 | */ 9 | 10 | #ifndef RTE_COMPONENTS_H 11 | #define RTE_COMPONENTS_H 12 | 13 | 14 | #endif /* RTE_COMPONENTS_H */ 15 | -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/sdspi/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/sdspi/STM32/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h -------------------------------------------------------------------------------- /examples/at_spi_master/sdspi/res/data_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/sdspi/res/data_flow.png -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following five lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.16) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(spi_master) 7 | -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This is a project Makefile. It is assumed the directory this Makefile resides in is a 3 | # project subdirectory. 4 | # 5 | 6 | PROJECT_NAME := spi-slave-sender 7 | 8 | include $(IDF_PATH)/make/project.mk 9 | -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "app_main.c" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Main component makefile. 3 | # 4 | # This Makefile can be left empty. By default, it will take the sources in the 5 | # src/ directory, compile them and link them into lib(subdirectory_name).a 6 | # in the build directory. This behaviour is entirely configurable, 7 | # please read the ESP-IDF documents if you need to do this. 8 | # 9 | -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/res/mcu_read_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/spi/esp32_c_series/res/mcu_read_data.png -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/res/read_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/spi/esp32_c_series/res/read_status.png -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/res/send_at_command.dsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/spi/esp32_c_series/res/send_at_command.dsl -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/res/send_at_command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/spi/esp32_c_series/res/send_at_command.png -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/res/slave_send_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/spi/esp32_c_series/res/slave_send_status.png -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/res/write_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/spi/esp32_c_series/res/write_data.png -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/res/write_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/espressif/esp-at/48dc4e3794d3d8e7e6abf60bdf438b31d978934c/examples/at_spi_master/spi/esp32_c_series/res/write_status.png -------------------------------------------------------------------------------- /examples/at_spi_master/spi/esp32_c_series/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y 2 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 3 | 4 | CONFIG_FREERTOS_UNICORE=y 5 | CONFIG_FREERTOS_HZ=1000 6 | 7 | CONFIG_FLASHMODE_QIO=y 8 | CONFIG_ESPTOOLPY_FLASHFREQ_80M=y 9 | -------------------------------------------------------------------------------- /main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | file(GLOB_RECURSE srcs *.c) 3 | 4 | set(includes "interface/include") 5 | 6 | idf_component_register(SRCS ${srcs} 7 | INCLUDE_DIRS ${includes}) 8 | -------------------------------------------------------------------------------- /main/app_main.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #include "nvs_flash.h" 7 | #include "esp_event.h" 8 | #include "esp_err.h" 9 | 10 | #include "esp_at.h" 11 | #include "esp_at_init.h" 12 | 13 | void app_main(void) 14 | { 15 | esp_at_main_preprocess(); 16 | 17 | ESP_ERROR_CHECK(nvs_flash_init()); 18 | ESP_ERROR_CHECK(esp_at_netif_init()); 19 | ESP_ERROR_CHECK(esp_event_loop_create_default()); 20 | 21 | esp_at_init(); 22 | } 23 | -------------------------------------------------------------------------------- /main/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | dependencies: 3 | espressif/cmake_utilities: 4 | version: "==0.4.8" 5 | rules: 6 | - if: "target in [esp32c2]" 7 | -------------------------------------------------------------------------------- /main/interface/sdio/Kconfig: -------------------------------------------------------------------------------- 1 | 2 | config AT_BASE_ON_SDIO 3 | bool "AT through SDIO" 4 | depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6 5 | help 6 | This demo is AT through SDIO. The MCU can send AT command through SDIO bus. 7 | 8 | if AT_BASE_ON_SDIO 9 | menu "AT SDIO settings" 10 | config AT_SDIO_BLOCK_SIZE 11 | int "SDIO block size" 12 | default 512 13 | depends on AT_BASE_ON_SDIO 14 | 15 | config AT_SDIO_QUEUE_SIZE 16 | int "SDIO queue size" 17 | default 20 18 | depends on AT_BASE_ON_SDIO 19 | 20 | config AT_SDIO_BUFFER_NUM 21 | int "SDIO buffer number" 22 | default 10 23 | depends on AT_BASE_ON_SDIO 24 | 25 | endmenu 26 | endif 27 | -------------------------------------------------------------------------------- /main/interface/sdio/README.md: -------------------------------------------------------------------------------- 1 | # AT through SDIO 2 | 3 | ## Overview 4 | This demo is based on libat_core.a, and it's a replacement for AT through UART. Since SDIO AT is similar to [SDIO demo](https://github.com/espressif/esp-idf/tree/master/examples/peripherals/sdio) , it is highly recommended to first read SDIO demo README carefully and run the basic demo of SDIO before using this program. 5 | 6 | More details about SDIO slave are in documentation [SDIO slave](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/sdio_slave.html) 7 | 8 | ## Hardware Introduction 9 | ESP32 AT through SDIO use the following pins to communicate with the MCU: 10 | 11 | - GPIO14 is CLK 12 | - GPIO15 is CMD 13 | - GPIO2 is DAT0 14 | - GPIO4 is DAT1 15 | - GPIO12 is DAT2 16 | - GPIO13 is DAT3 17 | 18 | For more details, please refer to [sdio_AT_User_Guide.md](https://github.com/espressif/esp-at/blob/master/docs/SDIO_AT_User_Guide.md) in the docs directory. 19 | 20 | ***Note*:** If you're using a board (e.g. WroverKit v2 and before, PICO, DevKitC) which is not able to drive GPIO2 low on downloading, be sure to do some preprocessing with [README](https://github.com/espressif/esp-idf/blob/master/examples/peripherals/sdio/README.md) firstly. 21 | -------------------------------------------------------------------------------- /main/interface/socket/Kconfig: -------------------------------------------------------------------------------- 1 | config AT_BASE_ON_SOCKET 2 | bool "AT through socket" 3 | 4 | if AT_BASE_ON_SOCKET 5 | menu "AT socket settings" 6 | config AT_SOCKET_PORT 7 | int "The socket port bond by TCP server, and you can send AT commands via the socket after the tcp client connected this port" 8 | default 3333 9 | endmenu 10 | endif 11 | -------------------------------------------------------------------------------- /main/interface/socket/README.md: -------------------------------------------------------------------------------- 1 | # AT through socket 2 | 3 | ## Overview 4 | This demo is based on libat_core.a, and it's a replacement for AT through UART. If using AT through socket, you must create a socket to connect the server of ESP32. And then you can send the AT commands via the socket. 5 | 6 | ## Steps: 7 | Here is an example of using a PC as the client: 8 | * PC connects to ESP_xxxxxx through WiFi. 9 | - ESP_xxxxxx is the ESP32's default SSID, xxxxxx means the last three bytes of MAC address. 10 | * Create a TCP client on PC to connect to IP 192.168.4.1, port 3333. 11 | - 192.168.4.1 is the default IP of the ESP32 softAP. 12 | - port 3333 is the default port, you can change it in the menuconfig before compiling. 13 | * After the TCP connection is established, the PC can send AT commands to the ESP32 through socket. 14 | -------------------------------------------------------------------------------- /main/interface/spi/README.md: -------------------------------------------------------------------------------- 1 | # AT through SPI 2 | 3 | ## Overview 4 | AT through SPI is a replacement for AT through UART. If using AT through SPI, you must choose the MCU with hardware or software simulated spi interface. 5 | Because SPI is a protocal that controlled by master device, so slave must notify master to read or write, if there are some data to be sent by slave. In this demo, we use one more pin to handshake the MCU. 6 | 7 | If you want to use SPI AT on ESP32, SDIO SPI mode is recommended, MCU can also use the SPI peripheral, and ESP32 will use SDIO, the detailed informatio refer to [ESP32 SDIO SPI demo](https://github.com/espressif/esp-at/tree/master/examples/at_spi_master/sdspi). 8 | If you use ESP32-C AT through SPI, please Refer to the [ESP32 series demo](https://gitlab.espressif.cn:6688/application/esp-at/-/tree/master/examples/at_spi_master/spi/esp32_c_series). 9 | 10 | -------------------------------------------------------------------------------- /main/interface/uart/Kconfig: -------------------------------------------------------------------------------- 1 | config AT_BASE_ON_UART 2 | bool "AT through UART" 3 | 4 | if AT_BASE_ON_UART 5 | 6 | config AT_UART_COMMAND_SUPPORT 7 | bool "Support UART AT commands" 8 | default "y" 9 | 10 | menu "AT uart settings" 11 | config AT_UART_DEFAULT_DATABITS 12 | int "the uart data bits for AT port, the range is [5, 8]" 13 | default 8 14 | range 5 8 15 | depends on AT_BASE_ON_UART 16 | 17 | config AT_UART_DEFAULT_STOPBITS 18 | int "the uart stop bit for AT port, the range is [1, 3]" 19 | help 20 | 1: 1-bit stop bit; 2: 1.5-bit stop bit; 3: 2-bit stop bit 21 | default 1 22 | range 1 3 23 | 24 | config AT_UART_DEFAULT_PARITY_BITS 25 | int "the uart parity bit for AT port, the range is [0, 2]" 26 | help 27 | 0: None; 1: Odd; 2: Even 28 | default 0 29 | range 0 2 30 | 31 | config AT_UART_DEFAULT_FLOW_CONTROL 32 | int "the uart flow control for AT port, the range is [0, 3]" 33 | help 34 | 0: flow control is disabled; 1: enable RTS; 2: enable CTS; 3: enable RTS and CTS 35 | default 1 36 | range 0 3 37 | endmenu 38 | 39 | endif 40 | -------------------------------------------------------------------------------- /main/sdkconfig.rename: -------------------------------------------------------------------------------- 1 | # sdkconfig replacement configurations for deprecated options formatted as 2 | # CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION 3 | 4 | CONFIG_ESP_AT_FW_VERSION CONFIG_APP_PROJECT_VER 5 | -------------------------------------------------------------------------------- /module_config/module_esp32-d2wd/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32-d2wd/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x21000, 112K 3 | -------------------------------------------------------------------------------- /module_config/module_esp32-d2wd/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | phy_init, data, phy, 0xf000, 0x1000 3 | otadata, data, ota, 0x10000, 8K 4 | nvs, data, nvs, 0x12000, 56K 5 | at_customize, 0x40, 0, 0x20000, 0x60000 6 | factory, app, factory, 0x80000, 0x180000 7 | -------------------------------------------------------------------------------- /module_config/module_esp32-sdio/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32-sdio/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x21000, 112K 3 | fatfs, data, fat, 0x70000, 576K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32-sdio/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | phy_init, data, phy, 0xf000, 0x1000 3 | otadata, data, ota, 0x10000, 8K 4 | nvs, data, nvs, 0x12000, 56K 5 | at_customize, 0x40, 0, 0x20000, 0xE0000 6 | ota_0, app, ota_0, 0x100000, 0x180000 7 | ota_1, app, ota_1, 0x280000, 0x180000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32_default/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32_default/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x21000, 112K 3 | fatfs, data, fat, 0x70000, 576K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32_default/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | phy_init, data, phy, 0xf000, 0x1000 3 | otadata, data, ota, 0x10000, 8K 4 | nvs, data, nvs, 0x12000, 56K 5 | at_customize, 0x40, 0, 0x20000, 0xE0000 6 | ota_0, app, ota_0, 0x100000, 0x180000 7 | ota_1, app, ota_1, 0x280000, 0x180000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-ble-g2/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-ble-g2/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1b000, 60K 3 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-ble-g2/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0x9000, 0x2000 3 | phy_init, data, phy, 0xb000, 0x1000 4 | nvs, data, nvs, 0xc000, 0xe000 5 | at_customize, 0x40, 0, 0x1a000, 0x10000 6 | storage, data, 0x22, 0x2a000, 0xa6000 7 | ota_0, app, ota_0, 0xd0000, 0x130000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-ble/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-ble/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1b000, 60K 3 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-ble/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0x9000, 0x2000 3 | phy_init, data, phy, 0xb000, 0x1000 4 | nvs, data, nvs, 0xc000, 0xe000 5 | at_customize, 0x40, 0, 0x1a000, 0x10000 6 | storage, data, 0x22, 0x2a000, 0xa6000 7 | ota_0, app, ota_0, 0xd0000, 0x130000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-g2/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-g2/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1b000, 60K 3 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-g2/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0x9000, 0x2000 3 | phy_init, data, phy, 0xb000, 0x1000 4 | nvs, data, nvs, 0xc000, 0xe000 5 | at_customize, 0x40, 0, 0x1a000, 0x10000 6 | storage, data, 0x22, 0x2a000, 0xa6000 7 | ota_0, app, ota_0, 0xd0000, 0x130000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-no-ota-g2/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-no-ota-g2/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 124K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb-no-ota-g2/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1e000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x1a0000 7 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1b000, 60K 3 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-2mb/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0x9000, 0x2000 3 | phy_init, data, phy, 0xb000, 0x1000 4 | nvs, data, nvs, 0xc000, 0xe000 5 | at_customize, 0x40, 0, 0x1a000, 0x10000 6 | storage, data, 0x22, 0x2a000, 0xa6000 7 | ota_0, app, ota_0, 0xd0000, 0x130000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-4mb-g2/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-4mb-g2/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 124K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2-4mb-g2/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x1d0000 7 | ota_1, app, ota_1, 0x230000, 0x1d0000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c2_default/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2_default/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 124K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c2_default/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x1d0000 7 | ota_1, app, ota_1, 0x230000, 0x1d0000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c3-spi/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c3-spi/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 124K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c3-spi/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x1d0000 7 | ota_1, app, ota_1, 0x230000, 0x1d0000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c3_default/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c3_default/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 124K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c3_default/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x1d0000 7 | ota_1, app, ota_1, 0x230000, 0x1d0000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c3_rainmaker/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c3_rainmaker/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 148K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c3_rainmaker/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x244000 7 | storage, data, 0x22, 0x2A4000, 0x15C000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c3_rainmaker/submodules: -------------------------------------------------------------------------------- 1 | [submodule "rainmaker"] 2 | path = components/rainmaker/esp-rainmaker 3 | url = https://github.com/espressif/esp-rainmaker.git 4 | branch = master 5 | commit = 7d506420d320a137bce6aaeb69a2059cc162efac 6 | -------------------------------------------------------------------------------- /module_config/module_esp32c5_default/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c5_default/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 124K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c5_default/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x1d0000 7 | ota_1, app, ota_1, 0x230000, 0x1d0000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32c6_default/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c6_default/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x1f000, 124K 3 | fatfs, data, fat, 0x47000, 100K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32c6_default/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | otadata, data, ota, 0xd000, 0x2000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | nvs, data, nvs, 0x10000, 0xE000 5 | at_customize, 0x40, 0, 0x1E000, 0x42000 6 | ota_0, app, ota_0, 0x60000, 0x1d0000 7 | ota_1, app, ota_1, 0x230000, 0x1d0000 8 | -------------------------------------------------------------------------------- /module_config/module_esp32s2_default/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_esp32s2_default/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x21000, 112K 3 | fatfs, data, fat, 0x70000, 576K 4 | -------------------------------------------------------------------------------- /module_config/module_esp32s2_default/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | phy_init, data, phy, 0xf000, 0x1000 3 | otadata, data, ota, 0x10000, 8K 4 | nvs, data, nvs, 0x12000, 56K 5 | at_customize, 0x40, 0, 0x20000, 0xE0000 6 | ota_0, app, ota_0, 0x100000, 0x180000 7 | ota_1, app, ota_1, 0x280000, 0x180000 8 | -------------------------------------------------------------------------------- /module_config/module_wrover-32/IDF_VERSION: -------------------------------------------------------------------------------- 1 | branch:release/v5.4 2 | commit:8ad0d3d8f2faab752635bee36070313c47c07a13 3 | repository:https://github.com/espressif/esp-idf.git 4 | -------------------------------------------------------------------------------- /module_config/module_wrover-32/at_customize.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | mfg_nvs, data, nvs, 0x21000, 112K 3 | fatfs, data, fat, 0x70000, 576K 4 | -------------------------------------------------------------------------------- /module_config/module_wrover-32/partitions_at.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | phy_init, data, phy, 0xf000, 0x1000 3 | otadata, data, ota, 0x10000, 8K 4 | nvs, data, nvs, 0x12000, 56K 5 | at_customize, 0x40, 0, 0x20000, 0xE0000 6 | ota_0, app, ota_0, 0x100000, 0x180000 7 | ota_1, app, ota_1, 0x280000, 0x180000 8 | -------------------------------------------------------------------------------- /patches/rmaker-esp_rainmaker.patch: -------------------------------------------------------------------------------- 1 | diff --git a/components/esp_rainmaker/src/core/esp_rmaker_param.c b/components/esp_rainmaker/src/core/esp_rmaker_param.c 2 | index 36575ef..6b403c0 100644 3 | --- a/components/esp_rainmaker/src/core/esp_rmaker_param.c 4 | +++ b/components/esp_rainmaker/src/core/esp_rmaker_param.c 5 | @@ -59,6 +59,15 @@ static const char *cb_srcs[ESP_RMAKER_REQ_SRC_MAX] = { 6 | [ESP_RMAKER_REQ_SRC_LOCAL] = "Local", 7 | }; 8 | 9 | +esp_rmaker_val_type_t esp_rmaker_param_get_data_type(const esp_rmaker_param_t *param) 10 | +{ 11 | + if (!param) { 12 | + ESP_LOGE(TAG, "Param handle cannot be NULL."); 13 | + return RMAKER_VAL_TYPE_INVALID; 14 | + } 15 | + return ((_esp_rmaker_param_t *)param)->val.type; 16 | +} 17 | + 18 | const char *esp_rmaker_device_cb_src_to_str(esp_rmaker_req_src_t src) 19 | { 20 | if ((src >= 0) && (src < ESP_RMAKER_REQ_SRC_MAX)) { 21 | diff --git a/components/rmaker_common b/components/rmaker_common 22 | --- a/components/rmaker_common 23 | +++ b/components/rmaker_common 24 | @@ -1 +1 @@ 25 | -Subproject commit a64ad7a6806c242de468a8fa72e801d634403442 26 | +Subproject commit a64ad7a6806c242de468a8fa72e801d634403442-dirty 27 | -------------------------------------------------------------------------------- /patches/rmaker-rmaker_common.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/factory.c b/src/factory.c 2 | index c7a3ba3..cd0bdce 100644 3 | --- a/src/factory.c 4 | +++ b/src/factory.c 5 | @@ -23,7 +23,7 @@ static const char *TAG = "esp_rmaker_fctry"; 6 | #define RMAKER_FACTORY_NAMESPACE CONFIG_ESP_RMAKER_FACTORY_NAMESPACE 7 | #define RMAKER_FACTORY_PART CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME 8 | 9 | -esp_err_t esp_rmaker_factory_init(void) 10 | +__attribute__((weak)) esp_err_t esp_rmaker_factory_init(void) 11 | { 12 | static bool esp_rmaker_storage_init_done; 13 | if (esp_rmaker_storage_init_done) { 14 | @@ -60,7 +60,7 @@ esp_err_t esp_rmaker_factory_init(void) 15 | return err; 16 | } 17 | 18 | -void *esp_rmaker_factory_get(const char *key) 19 | +__attribute__((weak)) void *esp_rmaker_factory_get(const char *key) 20 | { 21 | nvs_handle handle; 22 | esp_err_t err; 23 | @@ -100,7 +100,7 @@ size_t esp_rmaker_factory_get_size(const char *key) 24 | return required_size; 25 | } 26 | 27 | -esp_err_t esp_rmaker_factory_set(const char *key, void *value, size_t len) 28 | +__attribute__((weak)) esp_err_t esp_rmaker_factory_set(const char *key, void *value, size_t len) 29 | { 30 | nvs_handle handle; 31 | esp_err_t err; 32 | -------------------------------------------------------------------------------- /patches/support_ext_partition.patch: -------------------------------------------------------------------------------- 1 | diff --git a/components/partition_table/project_include.cmake b/components/partition_table/project_include.cmake 2 | index ddd6230db3..7f18189310 100644 3 | --- a/components/partition_table/project_include.cmake 4 | +++ b/components/partition_table/project_include.cmake 5 | @@ -16,8 +16,11 @@ if(NOT non_os_build) 6 | else() 7 | idf_build_get_property(project_dir PROJECT_DIR) 8 | # Custom filename expands any path relative to the project 9 | + if(NOT CONFIG_PARTITION_TABLE_BASE_DIR) 10 | + set(CONFIG_PARTITION_TABLE_BASE_DIR "${project_dir}") 11 | + endif() 12 | get_filename_component(PARTITION_CSV_PATH "${CONFIG_PARTITION_TABLE_FILENAME}" 13 | - ABSOLUTE BASE_DIR "${project_dir}") 14 | + ABSOLUTE BASE_DIR "${CONFIG_PARTITION_TABLE_BASE_DIR}") 15 | endif() 16 | 17 | if(NOT EXISTS "${PARTITION_CSV_PATH}") 18 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # This is a list of python packages needed for ESP-AT. This file is used with pip. 2 | # Please see the Compile and Develop section of the ESP-AT User Guide for further information. 3 | # 4 | setuptools>=21 5 | # The setuptools package is required to install source distributions and on some systems is not installed by default. 6 | # Please keep it as the first item of this list. Version 21 is required to handle PEP 508 environment markers. 7 | # 8 | 9 | cryptography>=2.1.4,<35 10 | pycryptodome==3.19.1 11 | idf-component-manager>=1.5.2 12 | 13 | # ESP-AT requirements 14 | pyyaml 15 | xlrd 16 | configparser 17 | -------------------------------------------------------------------------------- /tools/ci/astyle-rules.yml: -------------------------------------------------------------------------------- 1 | DEFAULT: 2 | # These formatting options will be used by default. 3 | # If you are modifying this, update tools/format.sh as well! 4 | options: "--style=otbs --attach-namespaces --attach-classes --indent=spaces=4 --convert-tabs --align-reference=name --keep-one-line-statements --pad-header --pad-oper --unpad-paren --max-continuation-indent=120" 5 | 6 | docs: 7 | # Docs directory contains some .inc files, which are not C include files 8 | # and should not be formatted 9 | check: false 10 | include: 11 | - "/docs/**/*.inc" 12 | -------------------------------------------------------------------------------- /tools/ci/check_copyright_ignore.txt: -------------------------------------------------------------------------------- 1 | Place your file path here if you want to ignore the copyright check. 2 | -------------------------------------------------------------------------------- /tools/ci/executable-list.txt: -------------------------------------------------------------------------------- 1 | build.py 2 | components/customized_partitions/at_customized_target_bin_generate.py 3 | components/customized_partitions/at_customized_target_generate.py 4 | components/customized_partitions/generation_tools/fatfs.py 5 | components/customized_partitions/generation_tools/mfg_nvs.py 6 | docs/check_doc_chars.py 7 | docs/check_lang_folder_sync.sh 8 | docs/conf_common.py 9 | docs/en/conf.py 10 | docs/generate_chart.py 11 | docs/zh_CN/conf.py 12 | examples/at_interface_security/at_intf_security_host.py 13 | tools/at.py 14 | tools/at_net_debug.py 15 | tools/ci/check_executables.py 16 | tools/ci/check_module_config.py 17 | tools/ci/idf_ci_utils.py 18 | tools/factory_param_generate.py 19 | tools/patch.py 20 | tools/relink/configuration.py 21 | tools/relink/relink.py 22 | -------------------------------------------------------------------------------- /tools/relink/README.md: -------------------------------------------------------------------------------- 1 | ### Description 2 | To improve available heap size, `relink` can move some code from `.iram0.text` section to `.flash.text` section. 3 | 4 | ### Usage 5 | 1. Open the `build/esp-at.map` file, and find the function you want to move from `.iram0.text` section to `.flash.text` section. 6 | 2. Modify the `tools/relink/function.csv` file, and add a new line (library name, object name, function name, optional sdkconfig dependence) according to `build/esp-at.map` file. 7 | 3. Modify the `tools/relink/library.csv` file, and add a new line (library name, library path) according to `build/esp-at.map` file. 8 | 4. Modify the `tools/relink/object.csv` file, and add a new line (library name, object name, object path) according to `build/esp-at.map` file. 9 | 5. Delete `build` directory and re-compile the esp-at project. 10 | 11 | ### How it works 12 | In short, in the link phase of the linker, this `relink` tool parses the `relink` directory, dumps the symbol tables (riscv32-esp-elf-objdump -t \/\), finds out all functions that need to be relinked, and then generate a new `esp-idf/esp_system/ld/sections.ld` according to the section information of the functions that need to be relinked. Then, the linker uses this new linker script `esp-idf/esp_system/ld/sections.ld` instead. So, these functions can be moved from `.iram0.text` section to `.flash.text` section. 13 | -------------------------------------------------------------------------------- /tools/relink/library.csv: -------------------------------------------------------------------------------- 1 | library,path 2 | libble_app.a,$IDF_PATH/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a 3 | libpp.a,$IDF_PATH/components/esp_wifi/lib/esp32c2/libpp.a 4 | libbootloader_support.a,./esp-idf/bootloader_support/libbootloader_support.a 5 | libbt.a,./esp-idf/bt/libbt.a 6 | libdriver.a,./esp-idf/driver/libdriver.a 7 | libesp_app_format.a,./esp-idf/esp_app_format/libesp_app_format.a 8 | libesp_hw_support.a,./esp-idf/esp_hw_support/libesp_hw_support.a 9 | libesp_phy.a,./esp-idf/esp_phy/libesp_phy.a 10 | libesp_pm.a,./esp-idf/esp_pm/libesp_pm.a 11 | libesp_ringbuf.a,./esp-idf/esp_ringbuf/libesp_ringbuf.a 12 | libesp_rom.a,./esp-idf/esp_rom/libesp_rom.a 13 | libesp_system.a,./esp-idf/esp_system/libesp_system.a 14 | libesp_timer.a,./esp-idf/esp_timer/libesp_timer.a 15 | libesp_wifi.a,./esp-idf/esp_wifi/libesp_wifi.a 16 | libfreertos.a,./esp-idf/freertos/libfreertos.a 17 | libhal.a,./esp-idf/hal/libhal.a 18 | libheap.a,./esp-idf/heap/libheap.a 19 | liblog.a,./esp-idf/log/liblog.a 20 | libmbedcrypto.a,./esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a 21 | libnewlib.a,./esp-idf/newlib/libnewlib.a 22 | libpthread.a,./esp-idf/pthread/libpthread.a 23 | libriscv.a,./esp-idf/riscv/libriscv.a 24 | libspi_flash.a,./esp-idf/spi_flash/libspi_flash.a 25 | -------------------------------------------------------------------------------- /tools/relink/relink.cmake: -------------------------------------------------------------------------------- 1 | idf_build_get_property(link_depends __LINK_DEPENDS) 2 | 3 | set(link_src_file "${CMAKE_BINARY_DIR}/esp-idf/esp_system/ld/sections.ld") 4 | set(customer_sections_file "${CMAKE_BINARY_DIR}/esp-idf/esp_system/ld/customer_sections.ld") 5 | set(library_file "${CMAKE_CURRENT_LIST_DIR}/library.csv") 6 | set(object_file "${CMAKE_CURRENT_LIST_DIR}/object.csv") 7 | set(function_file "${CMAKE_CURRENT_LIST_DIR}/function.csv") 8 | 9 | add_custom_command(OUTPUT ${customer_sections_file} 10 | COMMAND ${python} ${CMAKE_CURRENT_LIST_DIR}/relink.py 11 | --input ${link_src_file} 12 | --output ${customer_sections_file} 13 | --library ${library_file} 14 | --object ${object_file} 15 | --function ${function_file} 16 | --sdkconfig ${sdkconfig} 17 | --objdump "${CMAKE_OBJDUMP}" 18 | COMMAND ${CMAKE_COMMAND} -E copy 19 | ${customer_sections_file} 20 | ${link_src_file} 21 | COMMAND echo /*relink*/ >> 22 | ${customer_sections_file} 23 | DEPENDS "${link_depends}" 24 | "${library_file}" 25 | "${object_file}" 26 | "${function_file}" 27 | VERBATIM) 28 | add_custom_target(customer_sections DEPENDS ${customer_sections_file}) 29 | add_dependencies(${project_elf} customer_sections) 30 | --------------------------------------------------------------------------------