mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'update/discontinue_tcpip_adapter' into 'master'
esp_netif: Remove tcpip_adapter compatibility layer Closes IDF-4457 See merge request espressif/esp-idf!17066
This commit is contained in:
commit
4196c3f591
@ -133,7 +133,6 @@
|
||||
/components/spi_flash/ @esp-idf-codeowners/peripherals
|
||||
/components/spiffs/ @esp-idf-codeowners/storage
|
||||
/components/tcp_transport/ @esp-idf-codeowners/network
|
||||
/components/tcpip_adapter/ @esp-idf-codeowners/network
|
||||
/components/tinyusb/ @esp-idf-codeowners/peripherals/usb
|
||||
/components/touch_element/ @esp-idf-codeowners/peripherals
|
||||
/components/ulp/ @esp-idf-codeowners/system
|
||||
|
@ -28,7 +28,6 @@ set(optional_reqs ulp
|
||||
lwip
|
||||
spi_flash
|
||||
wpa_supplicant
|
||||
tcpip_adapter
|
||||
esp_serial_slave_link
|
||||
esp_netif
|
||||
soc
|
||||
|
@ -219,12 +219,6 @@ esp_err_t esp_eth_driver_install(const esp_eth_config_t *config, esp_eth_handle_
|
||||
ESP_LOGD(TAG, "new ethernet driver @%p", eth_driver);
|
||||
*out_hdl = eth_driver;
|
||||
|
||||
// for backward compatible to 4.0, and will get removed in 5.0
|
||||
#if CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
extern esp_err_t tcpip_adapter_compat_start_eth(void *eth_driver);
|
||||
tcpip_adapter_compat_start_eth(eth_driver);
|
||||
#endif
|
||||
|
||||
return ESP_OK;
|
||||
err:
|
||||
if (eth_driver) {
|
||||
|
@ -36,4 +36,4 @@ endif()
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
INCLUDE_DIRS "${include_dirs}"
|
||||
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
|
||||
REQUIRES lwip esp_eth tcpip_adapter)
|
||||
REQUIRES lwip esp_eth)
|
||||
|
@ -30,14 +30,6 @@ menu "ESP NETIF Adapter"
|
||||
to receive function. This option is for testing purpose only
|
||||
endchoice
|
||||
|
||||
config ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
bool "Enable backward compatible tcpip_adapter interface"
|
||||
default y
|
||||
help
|
||||
Backward compatible interface to tcpip_adapter is enabled by default to support
|
||||
legacy TCP/IP stack initialisation code. Disable this option to use only esp-netif
|
||||
interface.
|
||||
|
||||
config ESP_NETIF_L2_TAP
|
||||
bool "Enable netif L2 TAP support"
|
||||
help
|
||||
|
@ -74,7 +74,7 @@ Overall application interaction with communication media and network stack
|
||||
network stack are passed to the IO driver
|
||||
- calls esp_netif_receive to pass incoming data to network stack
|
||||
|
||||
### C) ESP-NETIF, former tcpip_adapter
|
||||
### C) ESP-NETIF
|
||||
* init API (new, configure)
|
||||
* IO API: for passing data between IO driver and network stack
|
||||
* event/action API (esp-netif lifecycle management)
|
||||
|
@ -18,15 +18,6 @@
|
||||
#include "esp_eth_netif_glue.h"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Note: tcpip_adapter legacy API has to be included by default to provide full compatibility
|
||||
// for applications that used tcpip_adapter API without explicit inclusion of tcpip_adapter.h
|
||||
//
|
||||
#ifdef CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
#define _ESP_NETIF_SUPPRESS_LEGACY_WARNING_
|
||||
#include "tcpip_adapter.h"
|
||||
#undef _ESP_NETIF_SUPPRESS_LEGACY_WARNING_
|
||||
#endif // CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/portmacro.h"
|
||||
#include "endian.h"
|
||||
#include "phy.h"
|
||||
#include "phy_init_data.h"
|
||||
#include "esp_coexist_internal.h"
|
||||
@ -703,7 +704,7 @@ static esp_err_t phy_crc_check_init_data(uint8_t* init_data, const uint8_t* chec
|
||||
{
|
||||
uint32_t crc_data = 0;
|
||||
crc_data = esp_rom_crc32_le(crc_data, init_data, init_data_length);
|
||||
uint32_t crc_size_conversion = htonl(crc_data);
|
||||
uint32_t crc_size_conversion = htobe32(crc_data);
|
||||
|
||||
if (crc_size_conversion != *(uint32_t*)(checksum)) {
|
||||
return ESP_FAIL;
|
||||
|
@ -1,16 +1,8 @@
|
||||
// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/*
|
||||
* Software Stack demonstrated:
|
||||
@ -68,14 +60,8 @@
|
||||
*
|
||||
* In present implementation, applications are able to access mesh stack directly without having to go through LwIP stack.
|
||||
* Applications use esp_mesh_send() and esp_mesh_recv() to send and receive messages over the mesh network.
|
||||
* In mesh stack design, normal devices don't require LwIP stack. But since IDF hasn't supported system without initializing LwIP stack yet,
|
||||
* applications still need to do LwIP initialization and two more things are required to be done
|
||||
* (1) stop DHCP server on softAP interface by default
|
||||
* (2) stop DHCP client on station interface by default.
|
||||
* Examples:
|
||||
* tcpip_adapter_init();
|
||||
* tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP);
|
||||
* tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA);
|
||||
* In mesh stack design, normal devices don't require LwIP stack, but if any of these devices could be promoted to a root node in runtime,
|
||||
* (due to automatic or manual topology reconfiguration) the TCP/IP stack should be initialized (for the root code to access external IP network)
|
||||
*
|
||||
* Over the mesh network, only the root is able to access external IP network.
|
||||
* In application mesh event handler, once a device becomes a root, start DHCP client immediately whether DHCP is chosen.
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
/*
|
||||
* All the APIs declared here are internal only APIs, it can only be used by
|
||||
* espressif internal modules, such as SSC, LWIP, TCPIP adapter etc, espressif
|
||||
* espressif internal modules, such as SSC, LWIP, esp-netif etc, espressif
|
||||
* customers are not recommended to use them.
|
||||
*
|
||||
* If someone really want to use specified APIs declared in here, please contact
|
||||
|
@ -391,7 +391,7 @@ esp_err_t esp_netif_create_default_wifi_mesh_netifs(esp_netif_t **p_netif_sta, e
|
||||
ESP_ERROR_CHECK(esp_netif_attach_wifi_ap(netif_ap));
|
||||
ESP_ERROR_CHECK(esp_wifi_set_default_wifi_ap_handlers());
|
||||
|
||||
// ...and stop DHCP server to be compatible with former tcpip_adapter (to keep the ESP_NETIF_DHCP_STOPPED state)
|
||||
// ...and stop DHCP server to keep the ESP_NETIF_DHCP_STOPPED state
|
||||
ESP_ERROR_CHECK(esp_netif_dhcps_stop(netif_ap));
|
||||
|
||||
// Create "almost" default station, but with un-flagged DHCP client
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "soc/rtc.h"
|
||||
#include "esp_wpa.h"
|
||||
#include "esp_netif.h"
|
||||
#include "tcpip_adapter_compatible/tcpip_adapter_compat.h"
|
||||
#include "driver/adc.h"
|
||||
#include "esp_coexist_internal.h"
|
||||
#include "esp_phy_init.h"
|
||||
@ -114,9 +113,6 @@ esp_err_t esp_wifi_deinit(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
#if CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
tcpip_adapter_clear_default_wifi_handlers();
|
||||
#endif
|
||||
#if CONFIG_ESP_WIFI_SLP_IRAM_OPT
|
||||
esp_pm_unregister_light_sleep_default_params_config_callback();
|
||||
#endif
|
||||
@ -234,12 +230,6 @@ esp_err_t esp_wifi_init(const wifi_init_config_t *config)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
esp_err_t err = tcpip_adapter_set_default_wifi_handlers();
|
||||
if (err != ESP_OK) {
|
||||
ESP_LOGW(TAG, "Failed to set default Wi-Fi event handlers (0x%x)", err);
|
||||
}
|
||||
#endif
|
||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||
coex_init();
|
||||
#endif
|
||||
|
@ -154,7 +154,7 @@ idf_component_register(SRCS "${srcs}"
|
||||
INCLUDE_DIRS "${include_dirs}"
|
||||
LDFRAGMENTS linker.lf
|
||||
REQUIRES vfs esp_wifi
|
||||
PRIV_REQUIRES esp_netif tcpip_adapter)
|
||||
PRIV_REQUIRES esp_netif)
|
||||
|
||||
# lots of LWIP source files evaluate macros that check address of stack variables
|
||||
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-address)
|
||||
|
@ -650,7 +650,7 @@ menu "LWIP"
|
||||
config LWIP_TCPIP_TASK_STACK_SIZE
|
||||
int "TCP/IP Task Stack Size"
|
||||
default 3072
|
||||
# for high log levels, tcpip_adapter API calls can end up
|
||||
# for high log levels, esp_netif API calls can end up
|
||||
# a few calls deep and logging there can trigger a stack overflow
|
||||
range 2048 65536 if LOG_DEFAULT_LEVEL < 4
|
||||
range 2560 65536 if LOG_DEFAULT_LEVEL >= 4
|
||||
|
@ -2,7 +2,7 @@ COMPONENTS_DIR=../..
|
||||
COMPILER_ICLUDE_DIR=$(shell echo `which xtensa-esp32-elf-gcc | xargs dirname | xargs dirname`/xtensa-esp32-elf)
|
||||
CFLAGS=-std=gnu99 -Og -ggdb -ffunction-sections -fdata-sections -nostdlib -Wall -Werror=all -Wno-int-to-pointer-cast -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-macro-redefined -Wno-constant-conversion -Wno-incompatible-pointer-types-discards-qualifiers -Wno-typedef-redefinition -Wno-incompatible-pointer-types -Wextra \
|
||||
-Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-unused-variable -DESP_PLATFORM -D IDF_VER=\"v3.1\" -MMD -MP -DWITH_POSIX -DLWIP_NO_CTYPE_H=1
|
||||
INC_DIRS=-I . -I ./build/config -I $(COMPONENTS_DIR)/newlib/platform_include -I $(COMPONENTS_DIR)/newlib/include -I $(COMPONENTS_DIR)/driver/include -I $(COMPONENTS_DIR)/esp32/include -I $(COMPONENTS_DIR)/ethernet/include -I $(COMPONENTS_DIR)/freertos/esp_additions/include -I $(COMPONENTS_DIR)/freertos/esp_additions/include/freertos -I $(COMPONENTS_DIR)/freertos/FreeRTOS-Kernel/include -I $(COMPONENTS_DIR)/heap/include -I $(COMPONENTS_DIR)/lwip/lwip/src/include -I $(COMPONENTS_DIR)/lwip/include/apps -I $(COMPONENTS_DIR)/lwip/lwip/src/include/netif -I $(COMPONENTS_DIR)/lwip/lwip/src/include/posix -I $(COMPONENTS_DIR)/lwip/port/esp32/include -I $(COMPONENTS_DIR)/lwip/lwip/src/include/posix -I $(COMPONENTS_DIR)/lwip/include/apps/ping -I $(COMPONENTS_DIR)/lwip/include/apps/sntp -I $(COMPONENTS_DIR)/soc/esp32/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/tcpip_adapter/include -I $(COMPONENTS_DIR)/esp_rom/include -I $(COMPONENTS_DIR)/esp_common/include -I $(COMPONENTS_DIR)/esp_hw_support/include -I $(COMPONENTS_DIR)/xtensa/include -I $(COMPONENTS_DIR)/xtensa/esp32/include -I $(COMPONENTS_DIR)/esp_wifi/include -I $(COMPONENTS_DIR)/esp_event/include -I $(COMPONENTS_DIR)/freertos/FreeRTOS-Kernel/portable/xtensa/include -I $(COMPONENTS_DIR)/esp_system/include -I $(COMPONENTS_DIR)/esp_timer/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/soc/src/esp32/include -I $(COMPONENTS_DIR)/soc/esp32/include -I $(COMPONENTS_DIR)/esp_netif/include -I $(COMPONENTS_DIR)/esp_eth/include -I $(COMPONENTS_DIR)/esp_netif/lwip -I $(COMPONENTS_DIR)/hal/include -I $(COMPONENTS_DIR)/hal/esp32/include -I $(COMPILER_ICLUDE_DIR)/include
|
||||
INC_DIRS=-I . -I ./build/config -I $(COMPONENTS_DIR)/newlib/platform_include -I $(COMPONENTS_DIR)/newlib/include -I $(COMPONENTS_DIR)/driver/include -I $(COMPONENTS_DIR)/esp32/include -I $(COMPONENTS_DIR)/ethernet/include -I $(COMPONENTS_DIR)/freertos/esp_additions/include -I $(COMPONENTS_DIR)/freertos/esp_additions/include/freertos -I $(COMPONENTS_DIR)/freertos/FreeRTOS-Kernel/include -I $(COMPONENTS_DIR)/heap/include -I $(COMPONENTS_DIR)/lwip/lwip/src/include -I $(COMPONENTS_DIR)/lwip/include/apps -I $(COMPONENTS_DIR)/lwip/lwip/src/include/netif -I $(COMPONENTS_DIR)/lwip/lwip/src/include/posix -I $(COMPONENTS_DIR)/lwip/port/esp32/include -I $(COMPONENTS_DIR)/lwip/lwip/src/include/posix -I $(COMPONENTS_DIR)/lwip/include/apps/ping -I $(COMPONENTS_DIR)/lwip/include/apps/sntp -I $(COMPONENTS_DIR)/soc/esp32/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/esp_rom/include -I $(COMPONENTS_DIR)/esp_common/include -I $(COMPONENTS_DIR)/esp_hw_support/include -I $(COMPONENTS_DIR)/xtensa/include -I $(COMPONENTS_DIR)/xtensa/esp32/include -I $(COMPONENTS_DIR)/esp_wifi/include -I $(COMPONENTS_DIR)/esp_event/include -I $(COMPONENTS_DIR)/freertos/FreeRTOS-Kernel/portable/xtensa/include -I $(COMPONENTS_DIR)/esp_system/include -I $(COMPONENTS_DIR)/esp_timer/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/soc/src/esp32/include -I $(COMPONENTS_DIR)/soc/esp32/include -I $(COMPONENTS_DIR)/esp_netif/include -I $(COMPONENTS_DIR)/esp_eth/include -I $(COMPONENTS_DIR)/esp_netif/lwip -I $(COMPONENTS_DIR)/hal/include -I $(COMPONENTS_DIR)/hal/esp32/include -I $(COMPILER_ICLUDE_DIR)/include
|
||||
TEST_NAME=test
|
||||
FUZZ=afl-fuzz
|
||||
GEN_CFG=generate_config
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include "no_warn_host.h"
|
||||
#include "lwip/pbuf.h"
|
||||
#include "lwip/udp.h"
|
||||
#include "tcpip_adapter.h"
|
||||
#include "esp_netif.h"
|
||||
|
||||
#ifndef BUILDING_DEF
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "lwip/def.h"
|
||||
#include "lwip/pbuf.h"
|
||||
#include "lwip/udp.h"
|
||||
#include "tcpip_adapter.h"
|
||||
#include "esp_netif.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@ -83,11 +83,6 @@ struct udp_pcb * udp_new_ip_type(u8_t type)
|
||||
return &mock_pcb;
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
struct pbuf * pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type)
|
||||
{
|
||||
struct pbuf * p;
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "no_warn_host.h"
|
||||
#include "lwip/pbuf.h"
|
||||
#include "lwip/udp.h"
|
||||
#include "tcpip_adapter.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "dhcpserver/dhcpserver.h"
|
||||
|
||||
const ip_addr_t ip_addr_any;
|
||||
ip4_addr_t server_ip;
|
||||
|
@ -33,7 +33,6 @@ CFLAGS=-g -Wno-unused-value -Wno-missing-declarations -Wno-pointer-bool-conversi
|
||||
-I$(COMPONENTS_DIR)/soc/include \
|
||||
-I$(COMPONENTS_DIR)/soc/esp32/include \
|
||||
-I$(COMPONENTS_DIR)/soc/src/esp32/include \
|
||||
-I$(COMPONENTS_DIR)/tcpip_adapter/include \
|
||||
-I$(COMPONENTS_DIR)/xtensa/include \
|
||||
-I$(COMPONENTS_DIR)/xtensa/esp32/include \
|
||||
-I$(COMPILER_ICLUDE_DIR)/include
|
||||
|
@ -11,7 +11,6 @@
|
||||
#define INC_FREERTOS_H
|
||||
#define QUEUE_H
|
||||
#define SEMAPHORE_H
|
||||
#define _TCPIP_ADAPTER_H_
|
||||
#define _ESP_TASK_H_
|
||||
|
||||
#ifdef USE_BSD_STRING
|
||||
@ -92,14 +91,6 @@ extern const char * WIFI_EVENT;
|
||||
extern const char * IP_EVENT;
|
||||
extern const char * ETH_EVENT;
|
||||
|
||||
/* status of DHCP client or DHCP server */
|
||||
typedef enum {
|
||||
TCPIP_ADAPTER_DHCP_INIT = 0, /**< DHCP client/server in initial state */
|
||||
TCPIP_ADAPTER_DHCP_STARTED, /**< DHCP client/server already been started */
|
||||
TCPIP_ADAPTER_DHCP_STOPPED, /**< DHCP client/server already been stopped */
|
||||
TCPIP_ADAPTER_DHCP_STATUS_MAX
|
||||
} tcpip_adapter_dhcp_status_t;
|
||||
|
||||
struct udp_pcb {
|
||||
uint8_t dummy;
|
||||
};
|
||||
@ -114,23 +105,6 @@ struct ip6_addr {
|
||||
};
|
||||
typedef struct ip6_addr ip6_addr_t;
|
||||
|
||||
typedef struct {
|
||||
ip4_addr_t ip;
|
||||
ip4_addr_t netmask;
|
||||
ip4_addr_t gw;
|
||||
} tcpip_adapter_ip_info_t;
|
||||
|
||||
typedef enum {
|
||||
TCPIP_ADAPTER_IF_STA = 0, /**< ESP32 station interface */
|
||||
TCPIP_ADAPTER_IF_AP, /**< ESP32 soft-AP interface */
|
||||
TCPIP_ADAPTER_IF_ETH, /**< ESP32 ethernet interface */
|
||||
TCPIP_ADAPTER_IF_MAX
|
||||
} tcpip_adapter_if_t;
|
||||
|
||||
typedef struct {
|
||||
ip6_addr_t ip;
|
||||
} tcpip_adapter_ip6_info_t;
|
||||
|
||||
typedef void* system_event_t;
|
||||
|
||||
struct pbuf {
|
||||
|
@ -123,7 +123,6 @@
|
||||
#define CONFIG_HTTPD_PURGE_BUF_LEN 32
|
||||
#define CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL 120
|
||||
#define CONFIG_ESP_NETIF_TCPIP_LWIP 1
|
||||
#define CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER 1
|
||||
#define CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT 1
|
||||
#define CONFIG_ESP_TIMER_TASK_STACK_SIZE 3584
|
||||
#define CONFIG_ESP_TIMER_IMPL_TG0_LAC 1
|
||||
|
@ -1,3 +0,0 @@
|
||||
idf_component_register(SRCS "tcpip_adapter_compat.c"
|
||||
INCLUDE_DIRS include
|
||||
REQUIRES esp_netif)
|
@ -1,269 +0,0 @@
|
||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
#ifndef _ESP_NETIF_SUPPRESS_LEGACY_WARNING_
|
||||
#warning "This header is deprecated, please use new network related API in esp_netif.h"
|
||||
#include "esp_netif.h"
|
||||
#endif
|
||||
|
||||
#ifndef _TCPIP_ADAPTER_H_
|
||||
#define _TCPIP_ADAPTER_H_
|
||||
|
||||
#include "esp_netif.h"
|
||||
|
||||
#include "tcpip_adapter_types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief tcpip adapter legacy init. It is used only to set the compatibility mode of esp-netif, which
|
||||
* will enable backward compatibility of esp-netif.
|
||||
*/
|
||||
void tcpip_adapter_init(void) __attribute__ ((deprecated));
|
||||
|
||||
/**
|
||||
* @brief Compatiblity mode: convert the esp-netif handle to tcpip_adapter legacy interface enum
|
||||
*
|
||||
* @param esp_netif
|
||||
*
|
||||
* @return corresponding interface if valid or known esp_netif provided, TCPIP_ADAPTER_IF_MAX otherwise
|
||||
*/
|
||||
tcpip_adapter_if_t tcpip_adapter_if_from_esp_netif(esp_netif_t *esp_netif);
|
||||
|
||||
/**
|
||||
* @brief Translates to esp_netif_get_ip_info
|
||||
*
|
||||
* @param tcpip_if Interface type corresponding to appropriate instance of esp-netif
|
||||
* @param ip_info See esp_netif_get_ip_info
|
||||
* @return See esp_netif_get_ip_info
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info);
|
||||
|
||||
#if CONFIG_LWIP_IPV6
|
||||
/**
|
||||
* @brief Translates to esp_netif_get_ip6_linklocal
|
||||
*
|
||||
* @param tcpip_if Interface type corresponding to appropriate instance of esp-netif
|
||||
* @param if_ip6 See esp_netif_get_ip6_linklocal
|
||||
* @return See esp_netif_get_ip6_linklocal
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_ip6_linklocal(tcpip_adapter_if_t tcpip_if, ip6_addr_t *if_ip6);
|
||||
|
||||
/**
|
||||
* @brief Translates to esp_netif_get_ip6_global
|
||||
*
|
||||
* @param tcpip_if Interface type corresponding to appropriate instance of esp-netif
|
||||
* @param if_ip6 See esp_netif_get_ip6_global
|
||||
* @return See esp_netif_get_ip6_global
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_ip6_global(tcpip_adapter_if_t tcpip_if, ip6_addr_t *if_ip6);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief`Translates to esp_netif_dhcpc_get_status
|
||||
* @param tcpip_if Interface type corresponding to appropriate instance of esp-netif
|
||||
* @param status
|
||||
* @return See esp_netif_dhcpc_get_status
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcpc_get_status(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dhcp_status_t *status);
|
||||
|
||||
/**
|
||||
* @brief Translates to esp_netif_is_netif_up
|
||||
* @param tcpip_if Interface type corresponding to appropriate instance of esp-netif
|
||||
* @return see esp_netif_is_netif_up
|
||||
*/
|
||||
bool tcpip_adapter_is_netif_up(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Translates to esp_netif_get_netif
|
||||
* @param tcpip_if Interface type corresponding to appropriate instance of esp-netif
|
||||
* @param netif
|
||||
* @return see esp_netif_get_netif
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_netif(tcpip_adapter_if_t tcpip_if, void ** netif);
|
||||
|
||||
#if CONFIG_LWIP_IPV6
|
||||
/**
|
||||
* @brief Translates to esp_netif_create_ip6_linklocal
|
||||
* @param tcpip_if Interface type corresponding to appropriate instance of esp-netif
|
||||
* @return see esp_netif_create_ip6_linklocal
|
||||
*/
|
||||
esp_err_t tcpip_adapter_create_ip6_linklocal(tcpip_adapter_if_t tcpip_if);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Compatible version of setting ethernet default handlers
|
||||
* @note Compatible version of wifi handlers are provided in a separate header,
|
||||
* as this used to be called privately from wifi_init()
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t tcpip_adapter_set_default_eth_handlers(void);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of network stack input function. Translates to esp_netif_receive()
|
||||
*/
|
||||
esp_err_t tcpip_adapter_eth_input(void *buffer, uint16_t len, void *eb);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of network stack input function. Translates to esp_netif_receive()
|
||||
*/
|
||||
esp_err_t tcpip_adapter_sta_input(void *buffer, uint16_t len, void *eb);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of network stack input function. Translates to esp_netif_receive()
|
||||
*/
|
||||
esp_err_t tcpip_adapter_ap_input(void *buffer, uint16_t len, void *eb);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API to clear default WIFI handlers
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t tcpip_adapter_clear_default_wifi_handlers(void);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API to clear default ethernet handlers
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t tcpip_adapter_clear_default_eth_handlers(void);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_stop
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcps_stop(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_dhcpc_stop
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcpc_stop(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_start
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcps_start(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_dhcpc_start
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcpc_start(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_get_status
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcps_get_status(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dhcp_status_t *status);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_option
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcps_option(tcpip_adapter_dhcp_option_mode_t opt_op, tcpip_adapter_dhcp_option_id_t opt_id, void *opt_val, uint32_t opt_len);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_dhcpc_option
|
||||
*/
|
||||
esp_err_t tcpip_adapter_dhcpc_option(tcpip_adapter_dhcp_option_mode_t opt_op, tcpip_adapter_dhcp_option_id_t opt_id, void *opt_val, uint32_t opt_len);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_set_ip_info
|
||||
*/
|
||||
esp_err_t tcpip_adapter_set_ip_info(tcpip_adapter_if_t tcpip_if, const tcpip_adapter_ip_info_t *ip_info);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_get_dns_info
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_dns_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dns_type_t type, tcpip_adapter_dns_info_t *dns);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_set_dns_info
|
||||
*/
|
||||
esp_err_t tcpip_adapter_set_dns_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dns_type_t type, tcpip_adapter_dns_info_t *dns);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_get_netif_impl_index
|
||||
*/
|
||||
int tcpip_adapter_get_netif_index(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_get_sta_list
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_sta_list(const wifi_sta_list_t *wifi_sta_list, tcpip_adapter_sta_list_t *tcpip_sta_list);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_action_start for default ethernet
|
||||
*/
|
||||
esp_err_t tcpip_adapter_eth_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info, void *args);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_action_start for default station
|
||||
*/
|
||||
esp_err_t tcpip_adapter_sta_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_action_start for default softAP
|
||||
*/
|
||||
esp_err_t tcpip_adapter_ap_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_action_stop
|
||||
*/
|
||||
esp_err_t tcpip_adapter_stop(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_up
|
||||
*/
|
||||
esp_err_t tcpip_adapter_up(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_down
|
||||
*/
|
||||
esp_err_t tcpip_adapter_down(tcpip_adapter_if_t tcpip_if);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_get_old_ip_info
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_old_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_set_old_ip_info
|
||||
*/
|
||||
esp_err_t tcpip_adapter_set_old_ip_info(tcpip_adapter_if_t tcpip_if, const tcpip_adapter_ip_info_t *ip_info);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_get_handle_from_netif_impl
|
||||
*/
|
||||
esp_interface_t tcpip_adapter_get_esp_if(void *dev);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_set_hostname
|
||||
*/
|
||||
esp_err_t tcpip_adapter_set_hostname(tcpip_adapter_if_t tcpip_if, const char *hostname);
|
||||
|
||||
/**
|
||||
* @brief Compatible version of former tcpip_adapter API of esp_netif_get_hostname
|
||||
*/
|
||||
esp_err_t tcpip_adapter_get_hostname(tcpip_adapter_if_t tcpip_if, const char **hostname);
|
||||
|
||||
/**
|
||||
* @brief This function is called from wifi_init to assure backward compatibility mode
|
||||
* of tcpip_adapter. In case of legacy use, default instances of ap and sta
|
||||
* are created and handlers are registered
|
||||
*
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t tcpip_adapter_set_default_wifi_handlers(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif //_TCPIP_ADAPTER_H_
|
@ -1,65 +0,0 @@
|
||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef _TCPIP_ADAPTER_COMPAT_H_
|
||||
#define _TCPIP_ADAPTER_COMPAT_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief This function is called from ethernet driver init code to facilitate
|
||||
* autostart fo the driver in backward compatible tcpip_adapter way
|
||||
*
|
||||
* @note This api is provided in a separate header, which is included internally only (from wifi driver)
|
||||
* rather then user initialization code.
|
||||
*
|
||||
* @param[in] h Handle to the ethernet driver
|
||||
*
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t tcpip_adapter_compat_start_eth(void* h);
|
||||
|
||||
/**
|
||||
* @brief This function is called from wifi_init to assure backward compatibility mode
|
||||
* of tcpip_adapter. In case of legacy use, default instances of ap and sta
|
||||
* are created and handlers are registered
|
||||
*
|
||||
* @note This API is provided in a separate header, which is included internally only (from wifi_init)
|
||||
* rather then user initialization code. At this same time this API is also a public API of former tcqpip_adapter
|
||||
* and thus provided also in tcpip_adapter.h
|
||||
*
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t tcpip_adapter_set_default_wifi_handlers(void);
|
||||
|
||||
/**
|
||||
* @brief This function is called from wifi_init to assure backward compatibility mode
|
||||
* of tcpip_adapter. In case of legacy use, default instances of ap and sta
|
||||
* are destroyed and handlers are unregistered
|
||||
*
|
||||
* @note This API is provided in a separate header, which is included internally only (from wifi_init)
|
||||
* rather then user initialization code. At this same time this API is also a public API of former tcqpip_adapter
|
||||
* and thus provided also in tcpip_adapter.h
|
||||
*
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t tcpip_adapter_clear_default_wifi_handlers(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif //_TCPIP_ADAPTER_COMPAT_H_
|
@ -1,82 +0,0 @@
|
||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef _TCPIP_ADAPTER_TYPES_H_
|
||||
#define _TCPIP_ADAPTER_TYPES_H_
|
||||
|
||||
#include "lwip/ip_addr.h"
|
||||
#include "dhcpserver/dhcpserver.h"
|
||||
#include "esp_netif_sta_list.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
//
|
||||
// Define compatible types if tcpip_adapter interface used
|
||||
//
|
||||
#define TCPIP_ADAPTER_DHCP_STARTED ESP_NETIF_DHCP_STARTED
|
||||
#define TCPIP_ADAPTER_DHCP_STOPPED ESP_NETIF_DHCP_STOPPED
|
||||
#define TCPIP_ADAPTER_DHCP_INIT ESP_NETIF_DHCP_INIT
|
||||
#define TCPIP_ADAPTER_OP_SET ESP_NETIF_OP_SET
|
||||
#define TCPIP_ADAPTER_OP_GET ESP_NETIF_OP_GET
|
||||
#define TCPIP_ADAPTER_DOMAIN_NAME_SERVER ESP_NETIF_DOMAIN_NAME_SERVER
|
||||
#define TCPIP_ADAPTER_ROUTER_SOLICITATION_ADDRESS ESP_NETIF_ROUTER_SOLICITATION_ADDRESS
|
||||
#define TCPIP_ADAPTER_REQUESTED_IP_ADDRESS ESP_NETIF_REQUESTED_IP_ADDRESS
|
||||
#define TCPIP_ADAPTER_IP_ADDRESS_LEASE_TIME ESP_NETIF_IP_ADDRESS_LEASE_TIME
|
||||
#define TCPIP_ADAPTER_IP_REQUEST_RETRY_TIME ESP_NETIF_IP_REQUEST_RETRY_TIME
|
||||
|
||||
/** @brief Legacy error code definitions
|
||||
*
|
||||
*/
|
||||
#define ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS ESP_ERR_ESP_NETIF_INVALID_PARAMS
|
||||
#define ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY ESP_ERR_ESP_NETIF_IF_NOT_READY
|
||||
#define ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED ESP_ERR_ESP_NETIF_DHCPC_START_FAILED
|
||||
#define ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED ESP_ERR_ESP_NETIF_DHCP_ALREADY_STARTED
|
||||
#define ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED ESP_ERR_ESP_NETIF_DHCP_ALREADY_STOPPED
|
||||
#define ESP_ERR_TCPIP_ADAPTER_NO_MEM ESP_ERR_ESP_NETIF_NO_MEM
|
||||
#define ESP_ERR_TCPIP_ADAPTER_DHCP_NOT_STOPPED ESP_ERR_ESP_NETIF_DHCP_NOT_STOPPED
|
||||
|
||||
typedef enum {
|
||||
TCPIP_ADAPTER_IF_STA = 0, /**< Wi-Fi STA (station) interface */
|
||||
TCPIP_ADAPTER_IF_AP, /**< Wi-Fi soft-AP interface */
|
||||
TCPIP_ADAPTER_IF_ETH, /**< Ethernet interface */
|
||||
TCPIP_ADAPTER_IF_TEST, /**< tcpip stack test interface */
|
||||
TCPIP_ADAPTER_IF_MAX
|
||||
} tcpip_adapter_if_t;
|
||||
|
||||
/** @brief legacy ip_info type
|
||||
*/
|
||||
typedef struct {
|
||||
ip4_addr_t ip; /**< Interface IPV4 address */
|
||||
ip4_addr_t netmask; /**< Interface IPV4 netmask */
|
||||
ip4_addr_t gw; /**< Interface IPV4 gateway address */
|
||||
} tcpip_adapter_ip_info_t;
|
||||
|
||||
/** @brief legacy typedefs
|
||||
*/
|
||||
typedef esp_netif_dhcp_status_t tcpip_adapter_dhcp_status_t;
|
||||
typedef dhcps_lease_t tcpip_adapter_dhcps_lease_t;
|
||||
typedef esp_netif_dhcp_option_mode_t tcpip_adapter_dhcp_option_mode_t;
|
||||
typedef esp_netif_dhcp_option_id_t tcpip_adapter_dhcp_option_id_t;
|
||||
typedef esp_netif_dns_type_t tcpip_adapter_dns_type_t;
|
||||
typedef esp_netif_dns_info_t tcpip_adapter_dns_info_t;
|
||||
typedef esp_netif_sta_list_t tcpip_adapter_sta_list_t;
|
||||
typedef esp_netif_sta_info_t tcpip_adapter_sta_info_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // _TCPIP_ADAPTER_TYPES_H_
|
@ -1,389 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "esp_netif.h"
|
||||
#include "esp_private/wifi.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_netif_net_stack.h"
|
||||
|
||||
#if CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
|
||||
#if CONFIG_ETH_ENABLED
|
||||
#include "esp_eth.h"
|
||||
#endif
|
||||
#include "tcpip_adapter_types.h"
|
||||
#include "esp_wifi_default.h"
|
||||
|
||||
//
|
||||
// Accessing some internal default interfaces and esp-netifs
|
||||
//
|
||||
extern void _esp_wifi_set_default_ap_netif(esp_netif_t* esp_netif);
|
||||
extern void _esp_wifi_set_default_sta_netif(esp_netif_t* esp_netif);
|
||||
extern esp_err_t _esp_wifi_set_default_wifi_handlers(void);
|
||||
extern esp_err_t _esp_wifi_clear_default_wifi_handlers(void);
|
||||
extern esp_err_t esp_netif_up(esp_netif_t *esp_netif);
|
||||
extern esp_err_t esp_netif_down(esp_netif_t *esp_netif);
|
||||
|
||||
//
|
||||
// Purpose of this module is to provide backward compatible version of esp-netif
|
||||
// with legacy tcpip_adapter interface
|
||||
//
|
||||
|
||||
static const char* TAG = "tcpip_adapter_compat";
|
||||
|
||||
static esp_netif_t *s_esp_netifs[TCPIP_ADAPTER_IF_MAX] = { NULL };
|
||||
static const char* s_netif_keyif[TCPIP_ADAPTER_IF_MAX] = {
|
||||
"WIFI_STA_DEF",
|
||||
"WIFI_AP_DEF",
|
||||
"ETH_DEF",
|
||||
};
|
||||
|
||||
static bool s_tcpip_adapter_compat = false;
|
||||
|
||||
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
||||
static void wifi_create_and_start_ap(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data)
|
||||
{
|
||||
if (s_esp_netifs[TCPIP_ADAPTER_IF_AP] == NULL) {
|
||||
esp_netif_config_t cfg = ESP_NETIF_DEFAULT_WIFI_AP();
|
||||
esp_netif_t *ap_netif = esp_netif_new(&cfg);
|
||||
|
||||
esp_netif_attach_wifi_ap(ap_netif);
|
||||
esp_wifi_set_default_wifi_ap_handlers();
|
||||
s_esp_netifs[TCPIP_ADAPTER_IF_AP] = ap_netif;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void wifi_create_and_start_sta(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data)
|
||||
{
|
||||
if (s_esp_netifs[TCPIP_ADAPTER_IF_STA] == NULL) {
|
||||
esp_netif_config_t cfg = ESP_NETIF_DEFAULT_WIFI_STA();
|
||||
esp_netif_t *sta_netif = esp_netif_new(&cfg);
|
||||
|
||||
esp_netif_attach_wifi_station(sta_netif);
|
||||
esp_wifi_set_default_wifi_sta_handlers();
|
||||
s_esp_netifs[TCPIP_ADAPTER_IF_STA] = sta_netif;
|
||||
}
|
||||
}
|
||||
|
||||
static inline esp_netif_t * netif_from_if(tcpip_adapter_if_t interface)
|
||||
{
|
||||
if (interface < TCPIP_ADAPTER_IF_MAX) {
|
||||
if (s_esp_netifs[interface] == NULL) {
|
||||
s_esp_netifs[interface] = esp_netif_get_handle_from_ifkey(s_netif_keyif[interface]);
|
||||
if (s_esp_netifs[interface] == NULL && s_tcpip_adapter_compat) {
|
||||
// if not found in compat mode -> create it
|
||||
if (interface == TCPIP_ADAPTER_IF_STA) {
|
||||
wifi_create_and_start_sta(NULL, 0, 0, NULL);
|
||||
s_esp_netifs[interface] = esp_netif_get_handle_from_ifkey("WIFI_STA_DEF");
|
||||
}
|
||||
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
||||
else if (interface == TCPIP_ADAPTER_IF_AP) {
|
||||
wifi_create_and_start_ap(NULL, 0, 0, NULL);
|
||||
s_esp_netifs[interface] = esp_netif_get_handle_from_ifkey("WIFI_AP_DEF");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return s_esp_netifs[interface];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void tcpip_adapter_init(void)
|
||||
{
|
||||
s_tcpip_adapter_compat = true;
|
||||
esp_err_t err;
|
||||
if (ESP_OK != (err = esp_netif_init())) {
|
||||
ESP_LOGE(TAG, "ESP-NETIF initialization failed with %d in tcpip_adapter compatibility mode", err);
|
||||
}
|
||||
}
|
||||
|
||||
#if CONFIG_ETH_ENABLED
|
||||
|
||||
esp_err_t tcpip_adapter_clear_default_eth_handlers(void)
|
||||
{
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_set_default_eth_handlers(void)
|
||||
{
|
||||
if (s_tcpip_adapter_compat) {
|
||||
esp_netif_config_t cfg = ESP_NETIF_DEFAULT_ETH();
|
||||
esp_netif_t *eth_netif = esp_netif_new(&cfg);
|
||||
|
||||
s_esp_netifs[TCPIP_ADAPTER_IF_ETH] = eth_netif;
|
||||
}
|
||||
return ESP_OK;
|
||||
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_compat_start_eth(void *eth_driver)
|
||||
{
|
||||
if (s_tcpip_adapter_compat) {
|
||||
esp_netif_t *esp_netif = netif_from_if(TCPIP_ADAPTER_IF_ETH);
|
||||
if (esp_netif) {
|
||||
esp_netif_attach(esp_netif, esp_eth_new_netif_glue(eth_driver));
|
||||
}
|
||||
}
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
esp_err_t tcpip_adapter_eth_input(void *buffer, uint16_t len, void *eb)
|
||||
{
|
||||
return esp_netif_receive(netif_from_if(TCPIP_ADAPTER_IF_ETH), buffer, len, eb);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_sta_input(void *buffer, uint16_t len, void *eb)
|
||||
{
|
||||
return esp_netif_receive(netif_from_if(TCPIP_ADAPTER_IF_STA), buffer, len, eb);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
||||
esp_err_t tcpip_adapter_ap_input(void *buffer, uint16_t len, void *eb)
|
||||
{
|
||||
return esp_netif_receive(netif_from_if(TCPIP_ADAPTER_IF_AP), buffer, len, eb);
|
||||
}
|
||||
#endif
|
||||
|
||||
esp_err_t tcpip_adapter_set_default_wifi_handlers(void)
|
||||
{
|
||||
#if CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER
|
||||
if (s_tcpip_adapter_compat) {
|
||||
// create instances and register default handlers only on start event
|
||||
esp_err_t err = esp_event_handler_register(WIFI_EVENT, WIFI_EVENT_STA_START, wifi_create_and_start_sta, NULL);
|
||||
if (err != ESP_OK) {
|
||||
return err;
|
||||
}
|
||||
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
||||
err = esp_event_handler_register(WIFI_EVENT, WIFI_EVENT_AP_START, wifi_create_and_start_ap, NULL);
|
||||
if (err != ESP_OK) {
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
_esp_wifi_set_default_wifi_handlers();
|
||||
}
|
||||
return ESP_OK;
|
||||
#else
|
||||
ESP_LOGE(TAG, "%s: tcpip adapter compatibility layer is disabled", __func__);
|
||||
return ESP_ERR_INVALID_STATE;
|
||||
#endif
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_clear_default_wifi_handlers(void)
|
||||
{
|
||||
if (s_tcpip_adapter_compat) {
|
||||
// Clear default handlers only if tcpip-adapter mode used
|
||||
return _esp_wifi_clear_default_wifi_handlers();
|
||||
}
|
||||
// No action if tcpip-adapter compatibility enabled, but interfaces created/configured with esp-netif
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
tcpip_adapter_if_t tcpip_adapter_if_from_esp_netif(esp_netif_t *esp_netif)
|
||||
{
|
||||
for (int i=0; i<TCPIP_ADAPTER_IF_MAX; ++i) {
|
||||
if (esp_netif == s_esp_netifs[i])
|
||||
return i;
|
||||
}
|
||||
return TCPIP_ADAPTER_IF_MAX;
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
return esp_netif_get_ip_info(netif_from_if(tcpip_if), (esp_netif_ip_info_t *)ip_info);
|
||||
}
|
||||
|
||||
#if CONFIG_LWIP_IPV6
|
||||
esp_err_t tcpip_adapter_get_ip6_linklocal(tcpip_adapter_if_t tcpip_if, ip6_addr_t *if_ip6)
|
||||
{
|
||||
return esp_netif_get_ip6_linklocal(netif_from_if(tcpip_if), (esp_ip6_addr_t*)if_ip6);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_ip6_global(tcpip_adapter_if_t tcpip_if, ip6_addr_t *if_ip6)
|
||||
{
|
||||
return esp_netif_get_ip6_global(netif_from_if(tcpip_if), (esp_ip6_addr_t*)if_ip6);
|
||||
}
|
||||
#endif
|
||||
|
||||
esp_err_t tcpip_adapter_dhcpc_get_status(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dhcp_status_t *status)
|
||||
{
|
||||
return esp_netif_dhcpc_get_status(netif_from_if(tcpip_if), status);
|
||||
}
|
||||
|
||||
bool tcpip_adapter_is_netif_up(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_is_netif_up(netif_from_if(tcpip_if));
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_netif(tcpip_adapter_if_t tcpip_if, void ** netif)
|
||||
{
|
||||
esp_netif_t *esp_netif = netif_from_if(tcpip_if);
|
||||
if (esp_netif) {
|
||||
void* net_stack_netif = esp_netif_get_netif_impl(esp_netif);
|
||||
*netif = net_stack_netif;
|
||||
return ESP_OK;
|
||||
}
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
#if CONFIG_LWIP_IPV6
|
||||
esp_err_t tcpip_adapter_create_ip6_linklocal(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_create_ip6_linklocal(netif_from_if(tcpip_if));
|
||||
}
|
||||
#endif
|
||||
esp_err_t tcpip_adapter_dhcps_stop(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_dhcps_stop(netif_from_if(tcpip_if));
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_dhcpc_stop(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_dhcpc_stop(netif_from_if(tcpip_if));
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_dhcps_start(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_dhcps_start(netif_from_if(tcpip_if));
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_dhcpc_start(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_dhcpc_start(netif_from_if(tcpip_if));
|
||||
}
|
||||
esp_err_t tcpip_adapter_dhcps_get_status(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dhcp_status_t *status)
|
||||
{
|
||||
return esp_netif_dhcps_get_status(netif_from_if(tcpip_if), status);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_dhcps_option(tcpip_adapter_dhcp_option_mode_t opt_op, tcpip_adapter_dhcp_option_id_t opt_id, void *opt_val, uint32_t opt_len)
|
||||
{
|
||||
// Note: legacy mode supports dhcps only for default wifi AP
|
||||
return esp_netif_dhcps_option(esp_netif_get_handle_from_ifkey("WIFI_AP_DEF"), opt_op, opt_id, opt_val, opt_len);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_dhcpc_option(tcpip_adapter_dhcp_option_mode_t opt_op, tcpip_adapter_dhcp_option_id_t opt_id, void *opt_val, uint32_t opt_len)
|
||||
{
|
||||
return esp_netif_dhcpc_option(netif_from_if(TCPIP_ADAPTER_IF_STA), opt_op, opt_id, opt_val, opt_len);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_set_ip_info(tcpip_adapter_if_t tcpip_if, const tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
return esp_netif_set_ip_info(netif_from_if(tcpip_if), (esp_netif_ip_info_t *)ip_info);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_dns_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dns_type_t type, tcpip_adapter_dns_info_t *dns)
|
||||
{
|
||||
return esp_netif_get_dns_info(netif_from_if(tcpip_if), type, dns);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_set_dns_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dns_type_t type, tcpip_adapter_dns_info_t *dns)
|
||||
{
|
||||
return esp_netif_set_dns_info(netif_from_if(tcpip_if), type, dns);
|
||||
}
|
||||
|
||||
int tcpip_adapter_get_netif_index(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_get_netif_impl_index(netif_from_if(tcpip_if));
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_sta_list(const wifi_sta_list_t *wifi_sta_list, tcpip_adapter_sta_list_t *tcpip_sta_list)
|
||||
{
|
||||
return esp_netif_get_sta_list(wifi_sta_list, tcpip_sta_list);
|
||||
}
|
||||
|
||||
static esp_err_t tcpip_adapter_compat_start_netif(esp_netif_t *netif, uint8_t *mac, tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
if (netif == NULL || mac == NULL || ip_info == NULL) {
|
||||
return ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS;
|
||||
}
|
||||
esp_netif_set_mac(netif, mac);
|
||||
esp_netif_set_ip_info(netif, (esp_netif_ip_info_t *)ip_info);
|
||||
esp_netif_action_start(netif, NULL, 0, NULL);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_eth_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info, void *args)
|
||||
{
|
||||
return tcpip_adapter_compat_start_netif(netif_from_if(TCPIP_ADAPTER_IF_ETH),
|
||||
mac, ip_info);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_sta_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
return tcpip_adapter_compat_start_netif(netif_from_if(TCPIP_ADAPTER_IF_STA),
|
||||
mac, ip_info);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
|
||||
esp_err_t tcpip_adapter_ap_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
return tcpip_adapter_compat_start_netif(netif_from_if(TCPIP_ADAPTER_IF_AP),
|
||||
mac, ip_info);
|
||||
}
|
||||
#endif
|
||||
|
||||
esp_err_t tcpip_adapter_stop(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
esp_netif_t *netif = netif_from_if(tcpip_if);
|
||||
if (netif == NULL) {
|
||||
return ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS;
|
||||
}
|
||||
esp_netif_action_stop(netif_from_if(tcpip_if), NULL, 0, NULL);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_up(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_up(netif_from_if(tcpip_if));
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_down(tcpip_adapter_if_t tcpip_if)
|
||||
{
|
||||
return esp_netif_down(netif_from_if(tcpip_if));
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_old_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
return esp_netif_get_old_ip_info(netif_from_if(tcpip_if), (esp_netif_ip_info_t *)ip_info);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_set_old_ip_info(tcpip_adapter_if_t tcpip_if, const tcpip_adapter_ip_info_t *ip_info)
|
||||
{
|
||||
return esp_netif_set_old_ip_info(netif_from_if(tcpip_if), (esp_netif_ip_info_t *)ip_info);
|
||||
}
|
||||
|
||||
esp_interface_t tcpip_adapter_get_esp_if(void *dev)
|
||||
{
|
||||
esp_netif_t *netif = esp_netif_get_handle_from_netif_impl(dev);
|
||||
for (int i=0; i< TCPIP_ADAPTER_IF_MAX; ++i) {
|
||||
if (s_esp_netifs[i] == netif) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return ESP_IF_MAX;
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_set_hostname(tcpip_adapter_if_t tcpip_if, const char *hostname)
|
||||
{
|
||||
return esp_netif_set_hostname(netif_from_if(tcpip_if), hostname);
|
||||
}
|
||||
|
||||
esp_err_t tcpip_adapter_get_hostname(tcpip_adapter_if_t tcpip_if, const char **hostname)
|
||||
{
|
||||
return esp_netif_get_hostname(netif_from_if(tcpip_if), hostname);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
esp_err_t tcpip_adapter_compat_start_eth(void* eth_driver)
|
||||
{
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
#endif
|
@ -98,7 +98,6 @@ The summary output provided by ``idf.py size`` does not give enough detail to fi
|
||||
libesp_system.a 245 206 0 3078 0 5990 3817 13336
|
||||
libesp-tls.a 0 4 0 0 0 5637 3524 9165
|
||||
[... removed some lines here ...]
|
||||
libtcpip_adapter.a 0 17 0 0 0 216 0 233
|
||||
libesp_rom.a 0 0 0 112 0 0 0 112
|
||||
libcxx.a 0 0 0 0 0 47 0 47
|
||||
(exe) 0 0 0 3 0 3 12 18
|
||||
|
@ -65,26 +65,8 @@ LwIP & ESP-WIFI-MESH
|
||||
|
||||
The application can access the ESP-WIFI-MESH stack directly without having to go through the LwIP stack. The LwIP stack is only required by the root node to transmit/receive data to/from an external IP network. However, since every node can potentially become the root node (due to automatic root node selection), each node must still initialize the LwIP stack.
|
||||
|
||||
**Each node is required to initialize LwIP by calling** :cpp:func:`tcpip_adapter_init`. In order to prevent non-root node access to LwIP, the application should stop the following services after LwIP initialization:
|
||||
**Each node that could become root is required to initialize LwIP by calling** :cpp:func:`esp_netif_init`. In order to prevent non-root node access to LwIP, the application should not create or register any network interfaces using esp_netif APIs.
|
||||
|
||||
- DHCP server service on the softAP interface.
|
||||
- DHCP client service on the station interface.
|
||||
|
||||
The following code snippet demonstrates how to initialize LwIP for ESP-WIFI-MESH applications.
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
/* tcpip initialization */
|
||||
tcpip_adapter_init();
|
||||
/*
|
||||
* for mesh
|
||||
* stop DHCP server on softAP interface by default
|
||||
* stop DHCP client on station interface by default
|
||||
*/
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
|
||||
|
||||
.. note::
|
||||
|
||||
ESP-WIFI-MESH requires a root node to be connected with a router. Therefore, in the event that a node becomes the root, **the corresponding handler must start the DHCP client service and immediately obtain an IP address**. Doing so will allow other nodes to begin transmitting/receiving packets to/from the external IP network. However, this step is unnecessary if static IP settings are used.
|
||||
|
||||
@ -100,14 +82,7 @@ The prerequisites for starting ESP-WIFI-MESH is to initialize LwIP and Wi-Fi, Th
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
tcpip_adapter_init();
|
||||
/*
|
||||
* for mesh
|
||||
* stop DHCP server on softAP interface by default
|
||||
* stop DHCP client on station interface by default
|
||||
*/
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
|
||||
/* event initialization */
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
|
@ -12,8 +12,6 @@ Some ESP-NETIF API functions are intended to be called by application code, for
|
||||
|
||||
In many cases, applications do not need to call ESP-NETIF APIs directly as they are called from the default network event handlers.
|
||||
|
||||
ESP-NETIF component is a successor of the tcpip_adapter, former network interface abstraction, which has become deprecated since IDF v4.1. Please refer to the :doc:`/api-reference/network/tcpip_adapter_migration` section in case existing applications to be ported to use the esp-netif API instead.
|
||||
|
||||
ESP-NETIF architecture
|
||||
----------------------
|
||||
|
||||
@ -114,8 +112,8 @@ Communication driver plays these two important roles in relation with ESP-NETIF:
|
||||
* Calls :cpp:func:`esp_netif_receive()` to pass incoming data to network stack
|
||||
|
||||
|
||||
C) ESP-NETIF, former tcpip_adapter
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
C) ESP-NETIF
|
||||
^^^^^^^^^^^^
|
||||
|
||||
ESP-NETIF is an intermediary between an IO driver and a network stack, connecting packet data path between these two. As that it provides a set of interfaces for attaching a driver to ESP-NETIF object (runtime) and configuring a network stack (compile time). In addition to that a set of API is provided to control network interface lifecycle and its TCP/IP properties. As an overview, the ESP-NETIF public interface could be divided into these 6 groups:
|
||||
|
||||
|
@ -55,13 +55,10 @@ IP Network Layer
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
tcpip_adapter_migration
|
||||
esp_netif_driver
|
||||
|
||||
Code examples for TCP/IP socket APIs are provided in the :example:`protocols/sockets` directory of ESP-IDF examples.
|
||||
|
||||
The TCP/IP Adapter (legacy network interface library) has been deprecated, please consult the :doc:`/api-reference/network/tcpip_adapter_migration` to update existing IDF applications.
|
||||
|
||||
Application Layer
|
||||
=================
|
||||
|
||||
|
@ -5,13 +5,14 @@ ESP-IDF 5.0 Migration Guides
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Build System <build-system>
|
||||
Environment Setup on Windows <windows-env>
|
||||
Ethernet <ethernet>
|
||||
FreeRTOS <freertos>
|
||||
Peripherals <peripherals>
|
||||
Protocols <protocols>
|
||||
Removed or deprecated components <removed-components>
|
||||
Storage <storage>
|
||||
System <system>
|
||||
Tools <tools>
|
||||
build-system
|
||||
windows-env
|
||||
ethernet
|
||||
freertos
|
||||
peripherals
|
||||
protocols
|
||||
removed-components
|
||||
storage
|
||||
system
|
||||
tools
|
||||
tcpip-adapter
|
||||
|
@ -24,4 +24,8 @@ To install libsodium component with the latest version compatible to X.Y accordi
|
||||
|
||||
To find out which versions of each component are available, open https://components.espressif.com, search for the component by its name and check the versions listed on the component page.
|
||||
|
||||
Following components are removed since they were deprecated in IDF v4.x
|
||||
|
||||
* ``tcpip_adapter`` Please use the :doc:`ESP-NETIF </api-reference/network/esp_netif>` component instead; you can follow the `Migration guide to ESP-NETIF<tcpip-adapter>`
|
||||
|
||||
.. note:: OpenSSL-API component is no longer supported. It is not available in the IDF Component Registry, either. Please use :doc:`ESP-TLS </api-reference/protocols/esp_tls>` or :component:`mbedtls` API directly.
|
||||
|
@ -3,7 +3,7 @@ TCP/IP Adapter Migration Guide
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
TCP/IP Adapter is a network interface abstraction component used in IDF prior to v4.1. This page outlines migration from tcpip_adapter API to its successor :doc:`/api-reference/network/esp_netif`.
|
||||
TCP/IP Adapter was a network interface abstraction component used in ESP-IDF prior to v4.1. This page outlines migration from tcpip_adapter API to its successor :doc:`/api-reference/network/esp_netif`.
|
||||
|
||||
|
||||
Updating network connection code
|
@ -21,7 +21,7 @@ api-reference/wifi/index api-reference/network/index
|
||||
api-reference/wifi/esp_now api-reference/network/esp_now
|
||||
api-reference/wifi/esp_smartconfig api-reference/network/esp_smartconfig
|
||||
api-reference/wifi/esp_wifi api-reference/network/esp_wifi
|
||||
api-reference/system/tcpip_adapter api-reference/network/esp_netif
|
||||
api-reference/system/tcpip_adapter migration-guides/tcpip-adapter
|
||||
api-reference/system/esp_pthread api-reference/system/pthread
|
||||
get-started/idf-monitor api-guides/tools/idf-monitor
|
||||
get-started-cmake/idf-monitor api-guides/tools/idf-monitor
|
||||
@ -62,7 +62,7 @@ api-guides/ulps2_instruction_set.rst api-reference/system/ulp_instruc
|
||||
api-guides/ulp_macros.rst api-reference/system/ulp_macros.rst
|
||||
api-guides/ulp-risc-v.rst api-reference/system/ulp-risc-v.rst
|
||||
|
||||
api-reference/network/tcpip_adapter api-reference/network/esp_netif
|
||||
api-reference/network/tcpip_adapter migration-guides/tcpip-adapter
|
||||
|
||||
# The 'secure boot' guides are now 'secure boot v1' guides
|
||||
security/secure-boot security/secure-boot-v1
|
||||
|
@ -65,26 +65,8 @@ LwIP & ESP-WIFI-MESH
|
||||
|
||||
应用程序无需通过 LwIP 层便可直接访问 ESP-WIFI-MESH 软件栈,LwIP 层仅在根节点和外部 IP 网络的数据发送与接收时会用到。但是,由于每个节点都有可能成为根节点(由于自动根节点选择机制的存在),每个节点仍必须初始化 LwIP 软件栈。
|
||||
|
||||
**每个节点都需要通过调用** :cpp:func:`tcpip_adapter_init` **初始化 LwIP 软件栈**。 为了防止非根节点访问 LwIP,应用程序应该在 LwIP 初始化完成后停止以下服务:
|
||||
**可成为根节点的每个节点都需要通过调用** :cpp:func:`esp_netif_init` **来初始化 LwIP 软件栈**。为了防止非根节点访问 LwIP,应用程序不应使用 esp_netif API 创建或注册任何网络接口。
|
||||
|
||||
- SoftAP 接口上的 DHCP 服务器服务。
|
||||
- Station 接口上的 DHCP 客户端服务。
|
||||
|
||||
下方代码片段展示如何为 ESP-WIFI-MESH 应用程序进行 LwIP 初始化。
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
/* tcpip 初始化 */
|
||||
tcpip_adapter_init();
|
||||
/*
|
||||
* 对于 MESH
|
||||
* 默认情况下,在 SoftAP 接口上停止 DHCP 服务器
|
||||
* 默认情况下,在 Station 接口上停止 DHCP 客户端
|
||||
*/
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
|
||||
|
||||
.. note::
|
||||
|
||||
ESP-WIFI-MESH 的根节点必须与路由器连接。因此,当一个节点成为根节点时,**该节点对应的处理程序必须启动 DHCP 客户端服务并立即获取 IP 地址。** 这样做将允许其他节点开始向/从外部 IP 网络发送/接收数据包。但是,如果使用静态 IP 设置,则不需要执行此步骤。
|
||||
|
||||
@ -100,14 +82,7 @@ ESP-WIFI-MESH 在正常启动前必须先初始化 LwIP 和 Wi-Fi 软件栈。
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
tcpip_adapter_init();
|
||||
/*
|
||||
* 对于 MESH
|
||||
* 默认情况下,在 SoftAP 接口上停止 DHCP 服务器
|
||||
* 默认情况下,在 Station 接口上停止 DHCP 客户端
|
||||
*/
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
|
||||
ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
|
||||
/*事件初始化*/
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
@ -341,4 +316,3 @@ API 参考
|
||||
--------------
|
||||
|
||||
.. include-build-file:: inc/esp_mesh.inc
|
||||
|
||||
|
@ -55,13 +55,10 @@ IP 网络层协议
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
tcpip_adapter_migration
|
||||
esp_netif_driver
|
||||
|
||||
TCP/IP 套接字 API 的示例代码存放在 ESP-IDF 示例项目的 :example:`protocols/sockets` 目录下。
|
||||
|
||||
目前已不再使用 TCP/IP 适配器(旧式网络接口库),请参考 :doc:`/api-reference/network/tcpip_adapter_migration` 来更新现有的 IDF 应用程序。
|
||||
|
||||
应用层协议
|
||||
===========
|
||||
|
||||
|
@ -5,13 +5,14 @@ ESP-IDF 5.0 迁移指南
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Environment Setup on Windows <windows-env>
|
||||
外设 <peripherals>
|
||||
构建系统 <build-system>
|
||||
系统 <system>
|
||||
FreeRTOS <freertos>
|
||||
以太网 <ethernet>
|
||||
Storage <storage>
|
||||
Protocols <protocols>
|
||||
Removed or deprecated components <removed-components>
|
||||
Tools <tools>
|
||||
build-system
|
||||
windows-env
|
||||
ethernet
|
||||
freertos
|
||||
peripherals
|
||||
protocols
|
||||
removed-components
|
||||
storage
|
||||
system
|
||||
tools
|
||||
tcpip-adapter
|
||||
|
@ -3,7 +3,7 @@ TCP/IP 适配器迁移指南
|
||||
|
||||
:link_to_translation:`en:[英文]`
|
||||
|
||||
TCP/IP 适配器是在 IDF V4.1之前使用的网络接口抽象组件。本文档概述了从 tcpip_adapter 移出至其后继者 :doc:`/api-reference/network/esp_netif` 的过程。
|
||||
TCP/IP 适配器是在 ESP-IDF v4.1 之前使用的网络接口抽象组件。本文档概述了从 tcpip_adapter 移出至其后继者 :doc:`/api-reference/network/esp_netif` 的过程。
|
||||
|
||||
|
||||
更新网络连接代码
|
||||
@ -28,8 +28,7 @@ TCP/IP 适配器静态定义了三个接口:
|
||||
- 以太网
|
||||
|
||||
网络接口的设计应严格参考 :doc:`/api-reference/network/esp_netif`,以使其能够连接到 TCP/IP 软件栈。
|
||||
例如,在 TCP/IP 软件栈和事件循环初始化完成后,Wi-Fi 的初始化代码必须显示调用 ``esp_netif_create_default_wifi_sta();`` 或 ``esp_netif_create_default_wifi_ap();``
|
||||
。
|
||||
例如,在 TCP/IP 软件栈和事件循环初始化完成后,Wi-Fi 的初始化代码必须显示调用 ``esp_netif_create_default_wifi_sta();`` 或 ``esp_netif_create_default_wifi_ap();``。
|
||||
请参阅这三个接口的初始化代码示例:
|
||||
|
||||
- Wi-Fi Station: :example_file:`wifi/getting_started/station/main/station_example_main.c`
|
||||
@ -37,10 +36,10 @@ TCP/IP 适配器静态定义了三个接口:
|
||||
- 以太网: :example_file:`ethernet/basic/main/ethernet_example_main.c`
|
||||
|
||||
|
||||
更换其他 tcpip_adapter API
|
||||
更换 tcpip_adapter API
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
所有 tcpip_adapter 函数都有对应的 esp-netif。具体请见 esp_netif 的内容:
|
||||
所有 tcpip_adapter 函数都有对应的 esp-netif。请参阅 esp_netif.h 查看更多信息:
|
||||
|
||||
* :component_file:`Setters/Getters <esp_netif/include/esp_netif.h#L241>`
|
||||
* :component_file:`DHCP <esp_netif/include/esp_netif.h#L387>`
|
||||
@ -52,20 +51,20 @@ TCP/IP 适配器静态定义了三个接口:
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
事件处理程序已经从 tcpip_adapter 移动到相应的驱动程序代码。从应用程序的角度来看,这不会带来任何影响,所有事件仍以相同的方式处理。
|
||||
请注意,在与 IP 相关的事件处理程序中,应用程序代码通常以 esp-netif 结构体的形式接收 IP 地址(不是 LwIP 结构,但兼容二进制格式)。
|
||||
这是打印地址的首选方式:
|
||||
请注意,在与 IP 相关的事件处理程序中,应用程序代码通常以 esp-netif 结构体的形式接收 IP 地址,该结构体并非 LwIP 结构,但兼容二进制格式。
|
||||
打印地址的首选方式如下所示:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
ESP_LOGI(TAG, "got ip:" IPSTR "\n", IP2STR(&event->ip_info.ip));
|
||||
|
||||
而不是
|
||||
不建议使用下述方式:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
ESP_LOGI(TAG, "got ip:%s\n", ip4addr_ntoa(&event->ip_info.ip));
|
||||
|
||||
由于 ``ip4addr_ntoa()`` 为 LwIP API,因此 esp-netif 还提供了替代函数 ``esp_ip4addr_ntoa()``,但整体而言仍推荐上述方法。
|
||||
由于 ``ip4addr_ntoa()`` 为 LwIP API,因此 esp-netif 还提供了替代函数 ``esp_ip4addr_ntoa()``,但整体而言,仍推荐使用第一种方法。
|
||||
|
||||
|
||||
IP 地址
|
||||
@ -78,7 +77,6 @@ IP 地址
|
||||
下一步
|
||||
^^^^^^^^^^
|
||||
|
||||
为了移植应用程序使其可以使用 :doc:`/api-reference/network/esp_netif` 还需完成的步骤包括:在组件配置中禁用 tcpip_adapter 兼容层。
|
||||
为了令移植应用程序可以使用 :doc:`/api-reference/network/esp_netif`,还需在组件配置中禁用 tcpip_adapter 兼容层。
|
||||
方法为:``ESP NETIF Adapter`` -> ``Enable backward compatible tcpip_adapter interface``,并检查工程是否编译成功。
|
||||
TCP/IP 适配器涉及大量依赖项,这一步可能有助于将应用程序与使用特定 TCP/IP 软件栈的 API 分离开来。
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -909,7 +909,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -906,7 +906,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -908,7 +908,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -906,7 +906,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -908,7 +908,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -906,7 +906,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -908,7 +908,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -904,7 +904,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -908,7 +908,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -906,7 +906,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -906,7 +906,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -908,7 +908,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -843,7 +843,6 @@ CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1057,7 +1057,6 @@ CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -846,7 +846,6 @@ CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1057,7 +1057,6 @@ CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -834,7 +834,6 @@ CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1057,7 +1057,6 @@ CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -834,7 +834,6 @@ CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1057,7 +1057,6 @@ CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -834,7 +834,6 @@ CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1057,7 +1057,6 @@ CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -878,7 +878,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1068,7 +1068,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -908,7 +908,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "esp_event.h"
|
||||
#include "esp_log.h"
|
||||
#include "nvs_flash.h"
|
||||
#include "esp_random.h"
|
||||
#include "esp_bt.h"
|
||||
|
||||
#include "esp_blufi_api.h"
|
||||
|
@ -894,7 +894,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -864,7 +864,6 @@ CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
@ -1053,7 +1053,6 @@ CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
|
||||
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
# CONFIG_ESP_NETIF_LOOPBACK is not set
|
||||
CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
|
||||
# end of ESP NETIF Adapter
|
||||
|
||||
#
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user