Skip to content

Commit e193e2a

Browse files
committed
IDF release/v4.4 ee2029c38a
1 parent 205db02 commit e193e2a

File tree

633 files changed

+3858
-2356
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

633 files changed

+3858
-2356
lines changed

platform.txt

+4-4
Large diffs are not rendered by default.

tools/platformio-build-esp32.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@
323323
"UNITY_INCLUDE_CONFIG_H",
324324
"WITH_POSIX",
325325
"_GNU_SOURCE",
326-
("IDF_VER", '\\"v4.4.1-472-gc9140caf8c\\"'),
326+
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
327327
"ESP_PLATFORM",
328328
"_POSIX_READER_WRITER_LOCKS",
329329
"ARDUINO_ARCH_ESP32",

tools/platformio-build-esp32c3.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@
318318
"UNITY_INCLUDE_CONFIG_H",
319319
"WITH_POSIX",
320320
"_GNU_SOURCE",
321-
("IDF_VER", '\\"v4.4.1-472-gc9140caf8c\\"'),
321+
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
322322
"ESP_PLATFORM",
323323
"_POSIX_READER_WRITER_LOCKS",
324324
"ARDUINO_ARCH_ESP32",

tools/platformio-build-esp32s2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@
306306
"UNITY_INCLUDE_CONFIG_H",
307307
"WITH_POSIX",
308308
"_GNU_SOURCE",
309-
("IDF_VER", '\\"v4.4.1-472-gc9140caf8c\\"'),
309+
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
310310
"ESP_PLATFORM",
311311
"_POSIX_READER_WRITER_LOCKS",
312312
"ARDUINO_ARCH_ESP32",

tools/platformio-build-esp32s3.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@
322322
"UNITY_INCLUDE_CONFIG_H",
323323
"WITH_POSIX",
324324
"_GNU_SOURCE",
325-
("IDF_VER", '\\"v4.4.1-472-gc9140caf8c\\"'),
325+
("IDF_VER", '\\"v4.4.1-581-gee2029c38a\\"'),
326326
"ESP_PLATFORM",
327327
"_POSIX_READER_WRITER_LOCKS",
328328
"ARDUINO_ARCH_ESP32",

tools/sdk/esp32/dio_qspi/include/sdkconfig.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
#define CONFIG_ESP_RMAKER_OTA_AUTOFETCH 1
6161
#define CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD 0
6262
#define CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE 1024
63+
#define CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD 90
6364
#define CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES 10
6465
#define CONFIG_ESP_RMAKER_SCENES_MAX_SCENES 10
6566
#define CONFIG_ENABLE_ARDUINO_DEPENDS 1
@@ -122,7 +123,7 @@
122123
#define CONFIG_BTDM_SCAN_DUPL_TYPE 0
123124
#define CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE 20
124125
#define CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN 1
125-
#define CONFIG_BTDM_MESH_DUPL_SCAN_CACHE_SIZE 200
126+
#define CONFIG_BTDM_MESH_DUPL_SCAN_CACHE_SIZE 100
126127
#define CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED 1
127128
#define CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP 1
128129
#define CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM 100
@@ -747,5 +748,5 @@
747748
#define CONFIG_ULP_COPROC_ENABLED CONFIG_ESP32_ULP_COPROC_ENABLED
748749
#define CONFIG_ULP_COPROC_RESERVE_MEM CONFIG_ESP32_ULP_COPROC_RESERVE_MEM
749750
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
750-
#define CONFIG_ARDUINO_IDF_COMMIT "c9140caf8c"
751+
#define CONFIG_ARDUINO_IDF_COMMIT "ee2029c38a"
751752
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.4"
-532 Bytes
Binary file not shown.

tools/sdk/esp32/dout_qspi/include/sdkconfig.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
#define CONFIG_ESP_RMAKER_OTA_AUTOFETCH 1
6161
#define CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD 0
6262
#define CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE 1024
63+
#define CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD 90
6364
#define CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES 10
6465
#define CONFIG_ESP_RMAKER_SCENES_MAX_SCENES 10
6566
#define CONFIG_ENABLE_ARDUINO_DEPENDS 1
@@ -122,7 +123,7 @@
122123
#define CONFIG_BTDM_SCAN_DUPL_TYPE 0
123124
#define CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE 20
124125
#define CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN 1
125-
#define CONFIG_BTDM_MESH_DUPL_SCAN_CACHE_SIZE 200
126+
#define CONFIG_BTDM_MESH_DUPL_SCAN_CACHE_SIZE 100
126127
#define CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED 1
127128
#define CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP 1
128129
#define CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM 100
@@ -747,5 +748,5 @@
747748
#define CONFIG_ULP_COPROC_ENABLED CONFIG_ESP32_ULP_COPROC_ENABLED
748749
#define CONFIG_ULP_COPROC_RESERVE_MEM CONFIG_ESP32_ULP_COPROC_RESERVE_MEM
749750
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
750-
#define CONFIG_ARDUINO_IDF_COMMIT "c9140caf8c"
751+
#define CONFIG_ARDUINO_IDF_COMMIT "ee2029c38a"
751752
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.4"
-532 Bytes
Binary file not shown.

tools/sdk/esp32/include/app_update/include/esp_ota_ops.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -327,9 +327,9 @@ typedef enum {
327327
/**
328328
* @brief Revokes the old signature digest. To be called in the application after the rollback logic.
329329
*
330-
* Relevant for Secure boot v2 on ESP32-S2 where upto 3 key digests can be stored (Key #N-1, Key #N, Key #N+1).
331-
* When key #N-1 used to sign an app is invalidated, an OTA update is to be sent with an app signed with key #N-1 & Key #N.
332-
* After successfully booting the OTA app should call this function to revoke Key #N-1.
330+
* Relevant for Secure boot v2 on ESP32-S2, ESP32-S3, ESP32-C3 where upto 3 key digests can be stored (Key \#N-1, Key \#N, Key \#N+1).
331+
* When key \#N-1 used to sign an app is invalidated, an OTA update is to be sent with an app signed with key \#N-1 & Key \#N.
332+
* After successfully booting the OTA app should call this function to revoke Key \#N-1.
333333
*
334334
* @param index - The index of the signature block to be revoked
335335
*

tools/sdk/esp32/include/bt/host/bluedroid/api/include/api/esp_gap_ble_api.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1455,7 +1455,7 @@ esp_err_t esp_ble_gap_config_local_privacy (bool privacy_enable);
14551455
*
14561456
*
14571457
* @param[in] icon - External appearance value, these values are defined by the Bluetooth SIG, please refer to
1458-
* https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml
1458+
* https://specificationrefs.bluetooth.com/assigned-values/Appearance%20Values.pdf
14591459
*
14601460
* @return
14611461
* - ESP_OK : success

tools/sdk/esp32/include/bt/include/esp32/include/esp_bt.h

+2
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,8 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg);
354354

355355
/**
356356
* @brief De-initialize BT controller to free resource and delete task.
357+
* You should stop advertising and scanning, as well as
358+
* disconnect all existing connections before de-initializing BT controller.
357359
*
358360
* This function should be called only once, after any other BT functions are called.
359361
* @return ESP_OK - success, other - failed

tools/sdk/esp32/include/driver/include/driver/gpio.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ esp_err_t gpio_set_intr_type(gpio_num_t gpio_num, gpio_int_type_t intr_type);
9797
/**
9898
* @brief Enable GPIO module interrupt signal
9999
*
100-
* @note Please do not use the interrupt of GPIO36 and GPIO39 when using ADC or Wi-Fi and Bluetooth with sleep mode enabled.
100+
* @note ESP32: Please do not use the interrupt of GPIO36 and GPIO39 when using ADC or Wi-Fi and Bluetooth with sleep mode enabled.
101101
* Please refer to the comments of `adc1_get_raw`.
102-
* Please refer to section 3.11 of 'ECO_and_Workarounds_for_Bugs_in_ESP32' for the description of this issue.
102+
* Please refer to Section 3.11 of <a href="https://espressif.com/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf">ESP32 ECO and Workarounds for Bugs</a> for the description of this issue.
103103
* As a workaround, call adc_power_acquire() in the app. This will result in higher power consumption (by ~1mA),
104104
* but will remove the glitches on GPIO36 and GPIO39.
105105
*
@@ -169,7 +169,7 @@ esp_err_t gpio_set_direction(gpio_num_t gpio_num, gpio_mode_t mode);
169169
/**
170170
* @brief Configure GPIO pull-up/pull-down resistors
171171
*
172-
* Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not.
172+
* @note ESP32: Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not.
173173
*
174174
* @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);
175175
* @param pull GPIO pull up/down mode.
@@ -484,7 +484,7 @@ esp_err_t gpio_sleep_set_direction(gpio_num_t gpio_num, gpio_mode_t mode);
484484
/**
485485
* @brief Configure GPIO pull-up/pull-down resistors at sleep
486486
*
487-
* Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not.
487+
* @note ESP32: Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not.
488488
*
489489
* @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);
490490
* @param pull GPIO pull up/down mode.

tools/sdk/esp32/include/driver/include/driver/uart.h

+12
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,18 @@ esp_err_t uart_flush_input(uart_port_t uart_num);
594594
*/
595595
esp_err_t uart_get_buffered_data_len(uart_port_t uart_num, size_t* size);
596596

597+
/**
598+
* @brief UART get TX ring buffer free space size
599+
*
600+
* @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).
601+
* @param size Pointer of size_t to accept the free space size
602+
*
603+
* @return
604+
* - ESP_OK Success
605+
* - ESP_ERR_INVALID_ARG Parameter error
606+
*/
607+
esp_err_t uart_get_tx_buffer_free_size(uart_port_t uart_num, size_t *size);
608+
597609
/**
598610
* @brief UART disable pattern detect function.
599611
* Designed for applications like 'AT commands'.

tools/sdk/esp32/include/esp32-camera/driver/include/esp_camera.h

+17
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
#include "driver/ledc.h"
7171
#include "sensor.h"
7272
#include "sys/time.h"
73+
#include "sdkconfig.h"
7374

7475
#ifdef __cplusplus
7576
extern "C" {
@@ -91,6 +92,19 @@ typedef enum {
9192
CAMERA_FB_IN_DRAM /*!< Frame buffer is placed in internal DRAM */
9293
} camera_fb_location_t;
9394

95+
#if CONFIG_CAMERA_CONVERTER_ENABLED
96+
/**
97+
* @brief Camera RGB\YUV conversion mode
98+
*/
99+
typedef enum {
100+
CONV_DISABLE,
101+
RGB565_TO_YUV422,
102+
103+
YUV422_TO_RGB565,
104+
YUV422_TO_YUV420
105+
} camera_conv_mode_t;
106+
#endif
107+
94108
/**
95109
* @brief Configuration structure for camera initialization
96110
*/
@@ -124,6 +138,9 @@ typedef struct {
124138
size_t fb_count; /*!< Number of frame buffers to be allocated. If more than one, then each frame will be acquired (double speed) */
125139
camera_fb_location_t fb_location; /*!< The location where the frame buffer will be allocated */
126140
camera_grab_mode_t grab_mode; /*!< When buffers should be filled */
141+
#if CONFIG_CAMERA_CONVERTER_ENABLED
142+
camera_conv_mode_t conv_mode; /*!< RGB<->YUV Conversion mode */
143+
#endif
127144
} camera_config_t;
128145

129146
/**

tools/sdk/esp32/include/esp32-camera/driver/include/sensor.h

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ typedef enum {
6969
typedef enum {
7070
PIXFORMAT_RGB565, // 2BPP/RGB565
7171
PIXFORMAT_YUV422, // 2BPP/YUV422
72+
PIXFORMAT_YUV420, // 1.5BPP/YUV420
7273
PIXFORMAT_GRAYSCALE, // 1BPP/GRAYSCALE
7374
PIXFORMAT_JPEG, // JPEG/COMPRESSED
7475
PIXFORMAT_RGB888, // 3BPP/RGB888

tools/sdk/esp32/include/esp_eth/include/esp_eth_mac.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ typedef struct {
411411
/**
412412
* @brief Create ESP32 Ethernet MAC instance
413413
*
414-
* @param config: Ethernet MAC configuration
414+
* @param config: Ethernet MAC configuration
415415
*
416416
* @return
417417
* - instance: create MAC instance successfully

tools/sdk/esp32/include/esp_https_server/include/esp_https_server.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ typedef enum {
2525
* @brief Callback data struct, contains the ESP-TLS connection handle
2626
*/
2727
typedef struct esp_https_server_user_cb_arg {
28-
const esp_tls_t *tls;
28+
const esp_tls_t *tls; /*!< ESP-TLS connection handle */
2929
} esp_https_server_user_cb_arg_t;
3030

3131
/**

tools/sdk/esp32/include/esp_hw_support/include/esp_mac.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ esp_err_t esp_read_mac(uint8_t *mac, esp_mac_type_t type);
139139
* address, then the first octet is XORed with 0x4 in order to create a different
140140
* locally administered MAC address.
141141
*
142-
* @param mac base MAC address, length: 6 bytes/8 bytes.
142+
* @param local_mac base MAC address, length: 6 bytes/8 bytes.
143143
* length: 6 bytes for MAC-48
144144
* 8 bytes for EUI-64(used for IEEE 802.15.4)
145145
* @param universal_mac Source universal MAC address, length: 6 bytes.

tools/sdk/esp32/include/esp_lcd/include/esp_lcd_panel_io.h

+6-2
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ typedef struct {
134134
*/
135135
esp_err_t esp_lcd_new_panel_io_spi(esp_lcd_spi_bus_handle_t bus, const esp_lcd_panel_io_spi_config_t *io_config, esp_lcd_panel_io_handle_t *ret_io);
136136

137+
/**
138+
* @brief Panel IO configuration structure, for I2C interface
139+
*
140+
*/
137141
typedef struct {
138142
uint32_t dev_addr; /*!< I2C device address */
139143
esp_lcd_panel_io_color_trans_done_cb_t on_color_trans_done; /*!< Callback invoked when color data transfer has finished */
@@ -145,7 +149,7 @@ typedef struct {
145149
struct {
146150
unsigned int dc_low_on_data: 1; /*!< If this flag is enabled, DC line = 0 means transfer data, DC line = 1 means transfer command; vice versa */
147151
unsigned int disable_control_phase: 1; /*!< If this flag is enabled, the control phase isn't used */
148-
} flags;
152+
} flags; /*!< Extra flags to fine-tune the I2C device */
149153
} esp_lcd_panel_io_i2c_config_t;
150154

151155
/**
@@ -223,7 +227,7 @@ typedef struct {
223227
unsigned int swap_color_bytes: 1; /*!< Swap adjacent two color bytes */
224228
unsigned int pclk_active_neg: 1; /*!< The display will write data lines when there's a falling edge on WR signal (a.k.a the PCLK) */
225229
unsigned int pclk_idle_low: 1; /*!< The WR signal (a.k.a the PCLK) stays at low level in IDLE phase */
226-
} flags;
230+
} flags; /*!< Panel IO config flags */
227231
} esp_lcd_panel_io_i80_config_t;
228232

229233
/**

tools/sdk/esp32/include/esp_lcd/include/esp_lcd_panel_rgb.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ typedef struct {
6666
unsigned int de_idle_high: 1; /*!< The de signal is high in IDLE state */
6767
unsigned int pclk_active_neg: 1; /*!< Whether the display data is clocked out at the falling edge of PCLK */
6868
unsigned int pclk_idle_high: 1; /*!< The PCLK stays at high level in IDLE phase */
69-
} flags;
69+
} flags; /*!< LCD RGB timing flags */
7070
} esp_lcd_rgb_timing_t;
7171

7272
/**
@@ -106,7 +106,7 @@ typedef struct {
106106
unsigned int disp_active_low: 1; /*!< If this flag is enabled, a low level of display control signal can turn the screen on; vice versa */
107107
unsigned int relax_on_idle: 1; /*!< If this flag is enabled, the host won't refresh the LCD if nothing changed in host's frame buffer (this is usefull for LCD with built-in GRAM) */
108108
unsigned int fb_in_psram: 1; /*!< If this flag is enabled, the frame buffer will be allocated from PSRAM preferentially */
109-
} flags;
109+
} flags; /*!< LCD RGB panel configuration flags */
110110
} esp_lcd_rgb_panel_config_t;
111111

112112
/**

tools/sdk/esp32/include/esp_lcd/include/esp_lcd_panel_vendor.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -22,8 +22,8 @@ typedef struct {
2222
unsigned int bits_per_pixel; /*!< Color depth, in bpp */
2323
struct {
2424
unsigned int reset_active_high: 1; /*!< Setting this if the panel reset is high level active */
25-
} flags;
26-
void *vendor_config; /* vendor specific configuration, optional, left as NULL if not used */
25+
} flags; /*!< LCD panel config flags */
26+
void *vendor_config; /*!< vendor specific configuration, optional, left as NULL if not used */
2727
} esp_lcd_panel_dev_config_t;
2828

2929
/**

tools/sdk/esp32/include/esp_netif/include/esp_netif.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -619,9 +619,10 @@ esp_err_t esp_netif_dhcps_stop(esp_netif_t *esp_netif);
619619
*
620620
* If DHCP server is enabled, the Main DNS Server setting is used by the DHCP server to provide a DNS Server option
621621
* to DHCP clients (Wi-Fi stations).
622-
* - The default Main DNS server is typically the IP of the Wi-Fi AP interface itself.
622+
* - The default Main DNS server is typically the IP of the DHCP server itself.
623623
* - This function can override it by setting server type ESP_NETIF_DNS_MAIN.
624-
* - Other DNS Server types are not supported for the Wi-Fi AP interface.
624+
* - Other DNS Server types are not supported for the DHCP server.
625+
* - To propagate the DNS info to client, please stop the DHCP server before using this API.
625626
*
626627
* @param[in] esp_netif Handle to esp-netif instance
627628
* @param[in] type Type of DNS Server to set: ESP_NETIF_DNS_MAIN, ESP_NETIF_DNS_BACKUP, ESP_NETIF_DNS_FALLBACK

tools/sdk/esp32/include/esp_netif/include/esp_netif_ip_addr.h

+19-7
Original file line numberDiff line numberDiff line change
@@ -81,25 +81,37 @@ extern "C" {
8181
#define ESP_IP4ADDR_INIT(a, b, c, d) { .type = ESP_IPADDR_TYPE_V4, .u_addr = { .ip4 = { .addr = ESP_IP4TOADDR(a, b, c, d) }}};
8282
#define ESP_IP6ADDR_INIT(a, b, c, d) { .type = ESP_IPADDR_TYPE_V6, .u_addr = { .ip6 = { .addr = { a, b, c, d }, .zone = 0 }}};
8383

84+
/**
85+
* @brief IPv6 address
86+
*
87+
*/
8488
struct esp_ip6_addr {
85-
uint32_t addr[4];
86-
uint8_t zone;
89+
uint32_t addr[4]; /*!< IPv6 address */
90+
uint8_t zone; /*!< zone ID */
8791
};
8892

93+
/**
94+
* @brief IPv4 address
95+
*
96+
*/
8997
struct esp_ip4_addr {
90-
uint32_t addr;
98+
uint32_t addr; /*!< IPv4 address */
9199
};
92100

93101
typedef struct esp_ip4_addr esp_ip4_addr_t;
94102

95103
typedef struct esp_ip6_addr esp_ip6_addr_t;
96104

105+
/**
106+
* @brief IP address
107+
*
108+
*/
97109
typedef struct _ip_addr {
98110
union {
99-
esp_ip6_addr_t ip6;
100-
esp_ip4_addr_t ip4;
101-
} u_addr;
102-
uint8_t type;
111+
esp_ip6_addr_t ip6; /*!< IPv6 address type */
112+
esp_ip4_addr_t ip4; /*!< IPv4 address type */
113+
} u_addr; /*!< IP address union */
114+
uint8_t type; /*!< ipaddress type */
103115
} esp_ip_addr_t;
104116

105117
typedef enum {

0 commit comments

Comments
 (0)