1 /*
2  * SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 //Do not edit this file because it is autogenerated by gen_esp_err_to_name.py
8 
9 #include <string.h>
10 #if __has_include(<bsd/string.h>)
11 // for strlcpy
12 #include <bsd/string.h>
13 #endif
14 #include "esp_err.h"
15 #if __has_include("soc/soc.h")
16 #include "soc/soc.h"
17 #endif
18 #if __has_include("esp_dpp.h")
19 #include "esp_dpp.h"
20 #endif
21 #if __has_include("esp_ds_err.h")
22 #include "esp_ds_err.h"
23 #endif
24 #if __has_include("esp_efuse.h")
25 #include "esp_efuse.h"
26 #endif
27 #if __has_include("esp_http_client.h")
28 #include "esp_http_client.h"
29 #endif
30 #if __has_include("esp_http_server.h")
31 #include "esp_http_server.h"
32 #endif
33 #if __has_include("esp_https_ota.h")
34 #include "esp_https_ota.h"
35 #endif
36 #if __has_include("esp_image_format.h")
37 #include "esp_image_format.h"
38 #endif
39 #if __has_include("esp_memprot_err.h")
40 #include "esp_memprot_err.h"
41 #endif
42 #if __has_include("esp_mesh.h")
43 #include "esp_mesh.h"
44 #endif
45 #if __has_include("esp_netif_types.h")
46 #include "esp_netif_types.h"
47 #endif
48 #if __has_include("esp_now.h")
49 #include "esp_now.h"
50 #endif
51 #if __has_include("esp_ota_ops.h")
52 #include "esp_ota_ops.h"
53 #endif
54 #if __has_include("esp_ping.h")
55 #include "esp_ping.h"
56 #endif
57 #if __has_include("esp_tls_errors.h")
58 #include "esp_tls_errors.h"
59 #endif
60 #if __has_include("esp_transport.h")
61 #include "esp_transport.h"
62 #endif
63 #if __has_include("esp_wifi.h")
64 #include "esp_wifi.h"
65 #endif
66 #if __has_include("esp_wps.h")
67 #include "esp_wps.h"
68 #endif
69 #if __has_include("hal/esp_flash_err.h")
70 #include "hal/esp_flash_err.h"
71 #endif
72 #if __has_include("nvs.h")
73 #include "nvs.h"
74 #endif
75 #if __has_include("spi_flash_mmap.h")
76 #include "spi_flash_mmap.h"
77 #endif
78 #if __has_include("ulp_fsm_common.h")
79 #include "ulp_fsm_common.h"
80 #endif
81 
82 #ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
83 #define ERR_TBL_IT(err)    {err, #err}
84 
85 typedef struct {
86     esp_err_t code;
87     const char *msg;
88 } esp_err_msg_t;
89 
90 static const esp_err_msg_t esp_err_msg_table[] = {
91     // components/esp_common/include/esp_err.h
92 #   ifdef      ESP_FAIL
93     ERR_TBL_IT(ESP_FAIL),                                       /*    -1 Generic esp_err_t code indicating failure */
94 #   endif
95 #   ifdef      ESP_OK
96     ERR_TBL_IT(ESP_OK),                                         /*     0 esp_err_t value indicating success (no error) */
97 #   endif
98 #   ifdef      ESP_ERR_NO_MEM
99     ERR_TBL_IT(ESP_ERR_NO_MEM),                                 /*   257 0x101 Out of memory */
100 #   endif
101 #   ifdef      ESP_ERR_INVALID_ARG
102     ERR_TBL_IT(ESP_ERR_INVALID_ARG),                            /*   258 0x102 Invalid argument */
103 #   endif
104 #   ifdef      ESP_ERR_INVALID_STATE
105     ERR_TBL_IT(ESP_ERR_INVALID_STATE),                          /*   259 0x103 Invalid state */
106 #   endif
107 #   ifdef      ESP_ERR_INVALID_SIZE
108     ERR_TBL_IT(ESP_ERR_INVALID_SIZE),                           /*   260 0x104 Invalid size */
109 #   endif
110 #   ifdef      ESP_ERR_NOT_FOUND
111     ERR_TBL_IT(ESP_ERR_NOT_FOUND),                              /*   261 0x105 Requested resource not found */
112 #   endif
113 #   ifdef      ESP_ERR_NOT_SUPPORTED
114     ERR_TBL_IT(ESP_ERR_NOT_SUPPORTED),                          /*   262 0x106 Operation or feature not supported */
115 #   endif
116 #   ifdef      ESP_ERR_TIMEOUT
117     ERR_TBL_IT(ESP_ERR_TIMEOUT),                                /*   263 0x107 Operation timed out */
118 #   endif
119 #   ifdef      ESP_ERR_INVALID_RESPONSE
120     ERR_TBL_IT(ESP_ERR_INVALID_RESPONSE),                       /*   264 0x108 Received response was invalid */
121 #   endif
122 #   ifdef      ESP_ERR_INVALID_CRC
123     ERR_TBL_IT(ESP_ERR_INVALID_CRC),                            /*   265 0x109 CRC or checksum was invalid */
124 #   endif
125 #   ifdef      ESP_ERR_INVALID_VERSION
126     ERR_TBL_IT(ESP_ERR_INVALID_VERSION),                        /*   266 0x10a Version was invalid */
127 #   endif
128 #   ifdef      ESP_ERR_INVALID_MAC
129     ERR_TBL_IT(ESP_ERR_INVALID_MAC),                            /*   267 0x10b MAC address was invalid */
130 #   endif
131 #   ifdef      ESP_ERR_NOT_FINISHED
132     ERR_TBL_IT(ESP_ERR_NOT_FINISHED),                           /*   268 0x10c There are items remained to retrieve */
133 #   endif
134 #   ifdef      ESP_ERR_NOT_ALLOWED
135     ERR_TBL_IT(ESP_ERR_NOT_ALLOWED),                            /*   269 0x10d Operation is not allowed */
136 #   endif
137 #   ifdef      ESP_ERR_ROC_IN_PROGRESS
138     ERR_TBL_IT(ESP_ERR_ROC_IN_PROGRESS),                        /*   270 0x10e ROC Operation is in progress */
139 #   endif
140     // components/nvs_flash/include/nvs.h
141 #   ifdef      ESP_ERR_NVS_BASE
142     ERR_TBL_IT(ESP_ERR_NVS_BASE),                               /*  4352 0x1100 Starting number of error codes */
143 #   endif
144 #   ifdef      ESP_ERR_NVS_NOT_INITIALIZED
145     ERR_TBL_IT(ESP_ERR_NVS_NOT_INITIALIZED),                    /*  4353 0x1101 The storage driver is not initialized */
146 #   endif
147 #   ifdef      ESP_ERR_NVS_NOT_FOUND
148     ERR_TBL_IT(ESP_ERR_NVS_NOT_FOUND),                          /*  4354 0x1102 A requested entry couldn't be found or
149                                                                                 namespace doesn’t exist yet and mode is
150                                                                                 NVS_READONLY */
151 #   endif
152 #   ifdef      ESP_ERR_NVS_TYPE_MISMATCH
153     ERR_TBL_IT(ESP_ERR_NVS_TYPE_MISMATCH),                      /*  4355 0x1103 The type of set or get operation doesn't
154                                                                                 match the type of value stored in NVS */
155 #   endif
156 #   ifdef      ESP_ERR_NVS_READ_ONLY
157     ERR_TBL_IT(ESP_ERR_NVS_READ_ONLY),                          /*  4356 0x1104 Storage handle was opened as read only */
158 #   endif
159 #   ifdef      ESP_ERR_NVS_NOT_ENOUGH_SPACE
160     ERR_TBL_IT(ESP_ERR_NVS_NOT_ENOUGH_SPACE),                   /*  4357 0x1105 There is not enough space in the
161                                                                                 underlying storage to save the value */
162 #   endif
163 #   ifdef      ESP_ERR_NVS_INVALID_NAME
164     ERR_TBL_IT(ESP_ERR_NVS_INVALID_NAME),                       /*  4358 0x1106 Namespace name doesn’t satisfy constraints */
165 #   endif
166 #   ifdef      ESP_ERR_NVS_INVALID_HANDLE
167     ERR_TBL_IT(ESP_ERR_NVS_INVALID_HANDLE),                     /*  4359 0x1107 Handle has been closed or is NULL */
168 #   endif
169 #   ifdef      ESP_ERR_NVS_REMOVE_FAILED
170     ERR_TBL_IT(ESP_ERR_NVS_REMOVE_FAILED),                      /*  4360 0x1108 The value wasn’t updated because flash
171                                                                                 write operation has failed. The value
172                                                                                 was written however, and update will be
173                                                                                 finished after re-initialization of nvs,
174                                                                                 provided that flash operation doesn’t
175                                                                                 fail again. */
176 #   endif
177 #   ifdef      ESP_ERR_NVS_KEY_TOO_LONG
178     ERR_TBL_IT(ESP_ERR_NVS_KEY_TOO_LONG),                       /*  4361 0x1109 Key name is too long */
179 #   endif
180 #   ifdef      ESP_ERR_NVS_PAGE_FULL
181     ERR_TBL_IT(ESP_ERR_NVS_PAGE_FULL),                          /*  4362 0x110a Internal error; never returned by nvs
182                                                                                 API functions */
183 #   endif
184 #   ifdef      ESP_ERR_NVS_INVALID_STATE
185     ERR_TBL_IT(ESP_ERR_NVS_INVALID_STATE),                      /*  4363 0x110b NVS is in an inconsistent state due to a
186                                                                                 previous error. Call nvs_flash_init and
187                                                                                 nvs_open again, then retry. */
188 #   endif
189 #   ifdef      ESP_ERR_NVS_INVALID_LENGTH
190     ERR_TBL_IT(ESP_ERR_NVS_INVALID_LENGTH),                     /*  4364 0x110c String or blob length is not sufficient
191                                                                                 to store data */
192 #   endif
193 #   ifdef      ESP_ERR_NVS_NO_FREE_PAGES
194     ERR_TBL_IT(ESP_ERR_NVS_NO_FREE_PAGES),                      /*  4365 0x110d NVS partition doesn't contain any empty
195                                                                                 pages. This may happen if NVS partition
196                                                                                 was truncated. Erase the whole partition
197                                                                                 and call nvs_flash_init again. */
198 #   endif
199 #   ifdef      ESP_ERR_NVS_VALUE_TOO_LONG
200     ERR_TBL_IT(ESP_ERR_NVS_VALUE_TOO_LONG),                     /*  4366 0x110e Value doesn't fit into the entry or
201                                                                                 string or blob length is longer than
202                                                                                 supported by the implementation */
203 #   endif
204 #   ifdef      ESP_ERR_NVS_PART_NOT_FOUND
205     ERR_TBL_IT(ESP_ERR_NVS_PART_NOT_FOUND),                     /*  4367 0x110f Partition with specified name is not
206                                                                                 found in the partition table */
207 #   endif
208 #   ifdef      ESP_ERR_NVS_NEW_VERSION_FOUND
209     ERR_TBL_IT(ESP_ERR_NVS_NEW_VERSION_FOUND),                  /*  4368 0x1110 NVS partition contains data in new
210                                                                                 format and cannot be recognized by this
211                                                                                 version of code */
212 #   endif
213 #   ifdef      ESP_ERR_NVS_XTS_ENCR_FAILED
214     ERR_TBL_IT(ESP_ERR_NVS_XTS_ENCR_FAILED),                    /*  4369 0x1111 XTS encryption failed while writing NVS entry */
215 #   endif
216 #   ifdef      ESP_ERR_NVS_XTS_DECR_FAILED
217     ERR_TBL_IT(ESP_ERR_NVS_XTS_DECR_FAILED),                    /*  4370 0x1112 XTS decryption failed while reading NVS entry */
218 #   endif
219 #   ifdef      ESP_ERR_NVS_XTS_CFG_FAILED
220     ERR_TBL_IT(ESP_ERR_NVS_XTS_CFG_FAILED),                     /*  4371 0x1113 XTS configuration setting failed */
221 #   endif
222 #   ifdef      ESP_ERR_NVS_XTS_CFG_NOT_FOUND
223     ERR_TBL_IT(ESP_ERR_NVS_XTS_CFG_NOT_FOUND),                  /*  4372 0x1114 XTS configuration not found */
224 #   endif
225 #   ifdef      ESP_ERR_NVS_ENCR_NOT_SUPPORTED
226     ERR_TBL_IT(ESP_ERR_NVS_ENCR_NOT_SUPPORTED),                 /*  4373 0x1115 NVS encryption is not supported in this version */
227 #   endif
228 #   ifdef      ESP_ERR_NVS_KEYS_NOT_INITIALIZED
229     ERR_TBL_IT(ESP_ERR_NVS_KEYS_NOT_INITIALIZED),               /*  4374 0x1116 NVS key partition is uninitialized */
230 #   endif
231 #   ifdef      ESP_ERR_NVS_CORRUPT_KEY_PART
232     ERR_TBL_IT(ESP_ERR_NVS_CORRUPT_KEY_PART),                   /*  4375 0x1117 NVS key partition is corrupt */
233 #   endif
234 #   ifdef      ESP_ERR_NVS_CONTENT_DIFFERS
235     ERR_TBL_IT(ESP_ERR_NVS_CONTENT_DIFFERS),                    /*  4376 0x1118 Internal error; never returned by nvs
236                                                                                 API functions.  NVS key is different in
237                                                                                 comparison */
238 #   endif
239 #   ifdef      ESP_ERR_NVS_WRONG_ENCRYPTION
240     ERR_TBL_IT(ESP_ERR_NVS_WRONG_ENCRYPTION),                   /*  4377 0x1119 NVS partition is marked as encrypted
241                                                                                 with generic flash encryption. This is
242                                                                                 forbidden since the NVS encryption works
243                                                                                 differently. */
244 #   endif
245     // components/ulp/ulp_fsm/include/ulp_fsm_common.h
246 #   ifdef      ESP_ERR_ULP_BASE
247     ERR_TBL_IT(ESP_ERR_ULP_BASE),                               /*  4608 0x1200 Offset for ULP-related error codes */
248 #   endif
249 #   ifdef      ESP_ERR_ULP_SIZE_TOO_BIG
250     ERR_TBL_IT(ESP_ERR_ULP_SIZE_TOO_BIG),                       /*  4609 0x1201 Program doesn't fit into RTC memory
251                                                                                 reserved for the ULP */
252 #   endif
253 #   ifdef      ESP_ERR_ULP_INVALID_LOAD_ADDR
254     ERR_TBL_IT(ESP_ERR_ULP_INVALID_LOAD_ADDR),                  /*  4610 0x1202 Load address is outside of RTC memory
255                                                                                 reserved for the ULP */
256 #   endif
257 #   ifdef      ESP_ERR_ULP_DUPLICATE_LABEL
258     ERR_TBL_IT(ESP_ERR_ULP_DUPLICATE_LABEL),                    /*  4611 0x1203 More than one label with the same number
259                                                                                 was defined */
260 #   endif
261 #   ifdef      ESP_ERR_ULP_UNDEFINED_LABEL
262     ERR_TBL_IT(ESP_ERR_ULP_UNDEFINED_LABEL),                    /*  4612 0x1204 Branch instructions references an undefined label */
263 #   endif
264 #   ifdef      ESP_ERR_ULP_BRANCH_OUT_OF_RANGE
265     ERR_TBL_IT(ESP_ERR_ULP_BRANCH_OUT_OF_RANGE),                /*  4613 0x1205 Branch target is out of range of B
266                                                                                 instruction (try replacing with BX) */
267 #   endif
268     // components/app_update/include/esp_ota_ops.h
269 #   ifdef      ESP_ERR_OTA_BASE
270     ERR_TBL_IT(ESP_ERR_OTA_BASE),                               /*  5376 0x1500 Base error code for ota_ops api */
271 #   endif
272 #   ifdef      ESP_ERR_OTA_PARTITION_CONFLICT
273     ERR_TBL_IT(ESP_ERR_OTA_PARTITION_CONFLICT),                 /*  5377 0x1501 Error if request was to write or erase
274                                                                                 the current running partition */
275 #   endif
276 #   ifdef      ESP_ERR_OTA_SELECT_INFO_INVALID
277     ERR_TBL_IT(ESP_ERR_OTA_SELECT_INFO_INVALID),                /*  5378 0x1502 Error if OTA data partition contains
278                                                                                 invalid content */
279 #   endif
280 #   ifdef      ESP_ERR_OTA_VALIDATE_FAILED
281     ERR_TBL_IT(ESP_ERR_OTA_VALIDATE_FAILED),                    /*  5379 0x1503 Error if OTA app image is invalid */
282 #   endif
283 #   ifdef      ESP_ERR_OTA_SMALL_SEC_VER
284     ERR_TBL_IT(ESP_ERR_OTA_SMALL_SEC_VER),                      /*  5380 0x1504 Error if the firmware has a secure
285                                                                                 version less than the running firmware. */
286 #   endif
287 #   ifdef      ESP_ERR_OTA_ROLLBACK_FAILED
288     ERR_TBL_IT(ESP_ERR_OTA_ROLLBACK_FAILED),                    /*  5381 0x1505 Error if flash does not have valid
289                                                                                 firmware in passive partition and hence
290                                                                                 rollback is not possible */
291 #   endif
292 #   ifdef      ESP_ERR_OTA_ROLLBACK_INVALID_STATE
293     ERR_TBL_IT(ESP_ERR_OTA_ROLLBACK_INVALID_STATE),             /*  5382 0x1506 Error if current active firmware is
294                                                                                 still marked in pending validation state
295                                                                                 (ESP_OTA_IMG_PENDING_VERIFY),
296                                                                                 essentially first boot of firmware image
297                                                                                 post upgrade and hence firmware upgrade
298                                                                                 is not possible */
299 #   endif
300     // components/efuse/include/esp_efuse.h
301 #   ifdef      ESP_ERR_EFUSE
302     ERR_TBL_IT(ESP_ERR_EFUSE),                                  /*  5632 0x1600 Base error code for efuse api. */
303 #   endif
304 #   ifdef      ESP_OK_EFUSE_CNT
305     ERR_TBL_IT(ESP_OK_EFUSE_CNT),                               /*  5633 0x1601 OK the required number of bits is set. */
306 #   endif
307 #   ifdef      ESP_ERR_EFUSE_CNT_IS_FULL
308     ERR_TBL_IT(ESP_ERR_EFUSE_CNT_IS_FULL),                      /*  5634 0x1602 Error field is full. */
309 #   endif
310 #   ifdef      ESP_ERR_EFUSE_REPEATED_PROG
311     ERR_TBL_IT(ESP_ERR_EFUSE_REPEATED_PROG),                    /*  5635 0x1603 Error repeated programming of programmed
312                                                                                 bits is strictly forbidden. */
313 #   endif
314 #   ifdef      ESP_ERR_CODING
315     ERR_TBL_IT(ESP_ERR_CODING),                                 /*  5636 0x1604 Error while a encoding operation. */
316 #   endif
317 #   ifdef      ESP_ERR_NOT_ENOUGH_UNUSED_KEY_BLOCKS
318     ERR_TBL_IT(ESP_ERR_NOT_ENOUGH_UNUSED_KEY_BLOCKS),           /*  5637 0x1605 Error not enough unused key blocks available */
319 #   endif
320 #   ifdef      ESP_ERR_DAMAGED_READING
321     ERR_TBL_IT(ESP_ERR_DAMAGED_READING),                        /*  5638 0x1606 Error. Burn or reset was done during a
322                                                                                 reading operation leads to damage read
323                                                                                 data. This error is internal to the
324                                                                                 efuse component and not returned by any
325                                                                                 public API. */
326 #   endif
327     // components/bootloader_support/include/esp_image_format.h
328 #   ifdef      ESP_ERR_IMAGE_BASE
329     ERR_TBL_IT(ESP_ERR_IMAGE_BASE),                             /*  8192 0x2000 */
330 #   endif
331 #   ifdef      ESP_ERR_IMAGE_FLASH_FAIL
332     ERR_TBL_IT(ESP_ERR_IMAGE_FLASH_FAIL),                       /*  8193 0x2001 */
333 #   endif
334 #   ifdef      ESP_ERR_IMAGE_INVALID
335     ERR_TBL_IT(ESP_ERR_IMAGE_INVALID),                          /*  8194 0x2002 */
336 #   endif
337     // components/esp_common/include/esp_err.h
338 #   ifdef      ESP_ERR_WIFI_BASE
339     ERR_TBL_IT(ESP_ERR_WIFI_BASE),                              /* 12288 0x3000 Starting number of WiFi error codes */
340 #   endif
341     // components/esp_wifi/include/esp_wifi.h
342 #   ifdef      ESP_ERR_WIFI_NOT_INIT
343     ERR_TBL_IT(ESP_ERR_WIFI_NOT_INIT),                          /* 12289 0x3001 WiFi driver was not installed by esp_wifi_init */
344 #   endif
345 #   ifdef      ESP_ERR_WIFI_NOT_STARTED
346     ERR_TBL_IT(ESP_ERR_WIFI_NOT_STARTED),                       /* 12290 0x3002 WiFi driver was not started by esp_wifi_start */
347 #   endif
348 #   ifdef      ESP_ERR_WIFI_NOT_STOPPED
349     ERR_TBL_IT(ESP_ERR_WIFI_NOT_STOPPED),                       /* 12291 0x3003 WiFi driver was not stopped by esp_wifi_stop */
350 #   endif
351 #   ifdef      ESP_ERR_WIFI_IF
352     ERR_TBL_IT(ESP_ERR_WIFI_IF),                                /* 12292 0x3004 WiFi interface error */
353 #   endif
354 #   ifdef      ESP_ERR_WIFI_MODE
355     ERR_TBL_IT(ESP_ERR_WIFI_MODE),                              /* 12293 0x3005 WiFi mode error */
356 #   endif
357 #   ifdef      ESP_ERR_WIFI_STATE
358     ERR_TBL_IT(ESP_ERR_WIFI_STATE),                             /* 12294 0x3006 WiFi internal state error */
359 #   endif
360 #   ifdef      ESP_ERR_WIFI_CONN
361     ERR_TBL_IT(ESP_ERR_WIFI_CONN),                              /* 12295 0x3007 WiFi internal control block of station
362                                                                                 or soft-AP error */
363 #   endif
364 #   ifdef      ESP_ERR_WIFI_NVS
365     ERR_TBL_IT(ESP_ERR_WIFI_NVS),                               /* 12296 0x3008 WiFi internal NVS module error */
366 #   endif
367 #   ifdef      ESP_ERR_WIFI_MAC
368     ERR_TBL_IT(ESP_ERR_WIFI_MAC),                               /* 12297 0x3009 MAC address is invalid */
369 #   endif
370 #   ifdef      ESP_ERR_WIFI_SSID
371     ERR_TBL_IT(ESP_ERR_WIFI_SSID),                              /* 12298 0x300a SSID is invalid */
372 #   endif
373 #   ifdef      ESP_ERR_WIFI_PASSWORD
374     ERR_TBL_IT(ESP_ERR_WIFI_PASSWORD),                          /* 12299 0x300b Password is invalid */
375 #   endif
376 #   ifdef      ESP_ERR_WIFI_TIMEOUT
377     ERR_TBL_IT(ESP_ERR_WIFI_TIMEOUT),                           /* 12300 0x300c Timeout error */
378 #   endif
379 #   ifdef      ESP_ERR_WIFI_WAKE_FAIL
380     ERR_TBL_IT(ESP_ERR_WIFI_WAKE_FAIL),                         /* 12301 0x300d WiFi is in sleep state(RF closed) and wakeup fail */
381 #   endif
382 #   ifdef      ESP_ERR_WIFI_WOULD_BLOCK
383     ERR_TBL_IT(ESP_ERR_WIFI_WOULD_BLOCK),                       /* 12302 0x300e The caller would block */
384 #   endif
385 #   ifdef      ESP_ERR_WIFI_NOT_CONNECT
386     ERR_TBL_IT(ESP_ERR_WIFI_NOT_CONNECT),                       /* 12303 0x300f Station still in disconnect status */
387 #   endif
388 #   ifdef      ESP_ERR_WIFI_POST
389     ERR_TBL_IT(ESP_ERR_WIFI_POST),                              /* 12306 0x3012 Failed to post the event to WiFi task */
390 #   endif
391 #   ifdef      ESP_ERR_WIFI_INIT_STATE
392     ERR_TBL_IT(ESP_ERR_WIFI_INIT_STATE),                        /* 12307 0x3013 Invalid WiFi state when init/deinit is called */
393 #   endif
394 #   ifdef      ESP_ERR_WIFI_STOP_STATE
395     ERR_TBL_IT(ESP_ERR_WIFI_STOP_STATE),                        /* 12308 0x3014 Returned when WiFi is stopping */
396 #   endif
397 #   ifdef      ESP_ERR_WIFI_NOT_ASSOC
398     ERR_TBL_IT(ESP_ERR_WIFI_NOT_ASSOC),                         /* 12309 0x3015 The WiFi connection is not associated */
399 #   endif
400 #   ifdef      ESP_ERR_WIFI_TX_DISALLOW
401     ERR_TBL_IT(ESP_ERR_WIFI_TX_DISALLOW),                       /* 12310 0x3016 The WiFi TX is disallowed */
402 #   endif
403 #   ifdef      ESP_ERR_WIFI_TWT_FULL
404     ERR_TBL_IT(ESP_ERR_WIFI_TWT_FULL),                          /* 12311 0x3017 no available flow id */
405 #   endif
406 #   ifdef      ESP_ERR_WIFI_TWT_SETUP_TIMEOUT
407     ERR_TBL_IT(ESP_ERR_WIFI_TWT_SETUP_TIMEOUT),                 /* 12312 0x3018 Timeout of receiving twt setup response
408                                                                                 frame, timeout times can be set during
409                                                                                 twt setup */
410 #   endif
411 #   ifdef      ESP_ERR_WIFI_TWT_SETUP_TXFAIL
412     ERR_TBL_IT(ESP_ERR_WIFI_TWT_SETUP_TXFAIL),                  /* 12313 0x3019 TWT setup frame tx failed */
413 #   endif
414 #   ifdef      ESP_ERR_WIFI_TWT_SETUP_REJECT
415     ERR_TBL_IT(ESP_ERR_WIFI_TWT_SETUP_REJECT),                  /* 12314 0x301a The twt setup request was rejected by the AP */
416 #   endif
417 #   ifdef      ESP_ERR_WIFI_DISCARD
418     ERR_TBL_IT(ESP_ERR_WIFI_DISCARD),                           /* 12315 0x301b Discard frame */
419 #   endif
420     // components/wpa_supplicant/esp_supplicant/include/esp_wps.h
421 #   ifdef      ESP_ERR_WIFI_REGISTRAR
422     ERR_TBL_IT(ESP_ERR_WIFI_REGISTRAR),                         /* 12339 0x3033 WPS registrar is not supported */
423 #   endif
424 #   ifdef      ESP_ERR_WIFI_WPS_TYPE
425     ERR_TBL_IT(ESP_ERR_WIFI_WPS_TYPE),                          /* 12340 0x3034 WPS type error */
426 #   endif
427 #   ifdef      ESP_ERR_WIFI_WPS_SM
428     ERR_TBL_IT(ESP_ERR_WIFI_WPS_SM),                            /* 12341 0x3035 WPS state machine is not initialized */
429 #   endif
430     // components/esp_wifi/include/esp_now.h
431 #   ifdef      ESP_ERR_ESPNOW_BASE
432     ERR_TBL_IT(ESP_ERR_ESPNOW_BASE),                            /* 12388 0x3064 ESPNOW error number base. */
433 #   endif
434 #   ifdef      ESP_ERR_ESPNOW_NOT_INIT
435     ERR_TBL_IT(ESP_ERR_ESPNOW_NOT_INIT),                        /* 12389 0x3065 ESPNOW is not initialized. */
436 #   endif
437 #   ifdef      ESP_ERR_ESPNOW_ARG
438     ERR_TBL_IT(ESP_ERR_ESPNOW_ARG),                             /* 12390 0x3066 Invalid argument */
439 #   endif
440 #   ifdef      ESP_ERR_ESPNOW_NO_MEM
441     ERR_TBL_IT(ESP_ERR_ESPNOW_NO_MEM),                          /* 12391 0x3067 Out of memory */
442 #   endif
443 #   ifdef      ESP_ERR_ESPNOW_FULL
444     ERR_TBL_IT(ESP_ERR_ESPNOW_FULL),                            /* 12392 0x3068 ESPNOW peer list is full */
445 #   endif
446 #   ifdef      ESP_ERR_ESPNOW_NOT_FOUND
447     ERR_TBL_IT(ESP_ERR_ESPNOW_NOT_FOUND),                       /* 12393 0x3069 ESPNOW peer is not found */
448 #   endif
449 #   ifdef      ESP_ERR_ESPNOW_INTERNAL
450     ERR_TBL_IT(ESP_ERR_ESPNOW_INTERNAL),                        /* 12394 0x306a Internal error */
451 #   endif
452 #   ifdef      ESP_ERR_ESPNOW_EXIST
453     ERR_TBL_IT(ESP_ERR_ESPNOW_EXIST),                           /* 12395 0x306b ESPNOW peer has existed */
454 #   endif
455 #   ifdef      ESP_ERR_ESPNOW_IF
456     ERR_TBL_IT(ESP_ERR_ESPNOW_IF),                              /* 12396 0x306c Interface error */
457 #   endif
458     // components/wpa_supplicant/esp_supplicant/include/esp_dpp.h
459 #   ifdef      ESP_ERR_DPP_FAILURE
460     ERR_TBL_IT(ESP_ERR_DPP_FAILURE),                            /* 12439 0x3097 Generic failure during DPP Operation */
461 #   endif
462 #   ifdef      ESP_ERR_DPP_TX_FAILURE
463     ERR_TBL_IT(ESP_ERR_DPP_TX_FAILURE),                         /* 12440 0x3098 DPP Frame Tx failed OR not Acked */
464 #   endif
465 #   ifdef      ESP_ERR_DPP_INVALID_ATTR
466     ERR_TBL_IT(ESP_ERR_DPP_INVALID_ATTR),                       /* 12441 0x3099 Encountered invalid DPP Attribute */
467 #   endif
468 #   ifdef      ESP_ERR_DPP_AUTH_TIMEOUT
469     ERR_TBL_IT(ESP_ERR_DPP_AUTH_TIMEOUT),                       /* 12442 0x309a DPP Auth response was not recieved in time */
470 #   endif
471     // components/esp_common/include/esp_err.h
472 #   ifdef      ESP_ERR_MESH_BASE
473     ERR_TBL_IT(ESP_ERR_MESH_BASE),                              /* 16384 0x4000 Starting number of MESH error codes */
474 #   endif
475     // components/esp_wifi/include/esp_mesh.h
476 #   ifdef      ESP_ERR_MESH_WIFI_NOT_START
477     ERR_TBL_IT(ESP_ERR_MESH_WIFI_NOT_START),                    /* 16385 0x4001 */
478 #   endif
479 #   ifdef      ESP_ERR_MESH_NOT_INIT
480     ERR_TBL_IT(ESP_ERR_MESH_NOT_INIT),                          /* 16386 0x4002 */
481 #   endif
482 #   ifdef      ESP_ERR_MESH_NOT_CONFIG
483     ERR_TBL_IT(ESP_ERR_MESH_NOT_CONFIG),                        /* 16387 0x4003 */
484 #   endif
485 #   ifdef      ESP_ERR_MESH_NOT_START
486     ERR_TBL_IT(ESP_ERR_MESH_NOT_START),                         /* 16388 0x4004 */
487 #   endif
488 #   ifdef      ESP_ERR_MESH_NOT_SUPPORT
489     ERR_TBL_IT(ESP_ERR_MESH_NOT_SUPPORT),                       /* 16389 0x4005 */
490 #   endif
491 #   ifdef      ESP_ERR_MESH_NOT_ALLOWED
492     ERR_TBL_IT(ESP_ERR_MESH_NOT_ALLOWED),                       /* 16390 0x4006 */
493 #   endif
494 #   ifdef      ESP_ERR_MESH_NO_MEMORY
495     ERR_TBL_IT(ESP_ERR_MESH_NO_MEMORY),                         /* 16391 0x4007 */
496 #   endif
497 #   ifdef      ESP_ERR_MESH_ARGUMENT
498     ERR_TBL_IT(ESP_ERR_MESH_ARGUMENT),                          /* 16392 0x4008 */
499 #   endif
500 #   ifdef      ESP_ERR_MESH_EXCEED_MTU
501     ERR_TBL_IT(ESP_ERR_MESH_EXCEED_MTU),                        /* 16393 0x4009 */
502 #   endif
503 #   ifdef      ESP_ERR_MESH_TIMEOUT
504     ERR_TBL_IT(ESP_ERR_MESH_TIMEOUT),                           /* 16394 0x400a */
505 #   endif
506 #   ifdef      ESP_ERR_MESH_DISCONNECTED
507     ERR_TBL_IT(ESP_ERR_MESH_DISCONNECTED),                      /* 16395 0x400b */
508 #   endif
509 #   ifdef      ESP_ERR_MESH_QUEUE_FAIL
510     ERR_TBL_IT(ESP_ERR_MESH_QUEUE_FAIL),                        /* 16396 0x400c */
511 #   endif
512 #   ifdef      ESP_ERR_MESH_QUEUE_FULL
513     ERR_TBL_IT(ESP_ERR_MESH_QUEUE_FULL),                        /* 16397 0x400d */
514 #   endif
515 #   ifdef      ESP_ERR_MESH_NO_PARENT_FOUND
516     ERR_TBL_IT(ESP_ERR_MESH_NO_PARENT_FOUND),                   /* 16398 0x400e */
517 #   endif
518 #   ifdef      ESP_ERR_MESH_NO_ROUTE_FOUND
519     ERR_TBL_IT(ESP_ERR_MESH_NO_ROUTE_FOUND),                    /* 16399 0x400f */
520 #   endif
521 #   ifdef      ESP_ERR_MESH_OPTION_NULL
522     ERR_TBL_IT(ESP_ERR_MESH_OPTION_NULL),                       /* 16400 0x4010 */
523 #   endif
524 #   ifdef      ESP_ERR_MESH_OPTION_UNKNOWN
525     ERR_TBL_IT(ESP_ERR_MESH_OPTION_UNKNOWN),                    /* 16401 0x4011 */
526 #   endif
527 #   ifdef      ESP_ERR_MESH_XON_NO_WINDOW
528     ERR_TBL_IT(ESP_ERR_MESH_XON_NO_WINDOW),                     /* 16402 0x4012 */
529 #   endif
530 #   ifdef      ESP_ERR_MESH_INTERFACE
531     ERR_TBL_IT(ESP_ERR_MESH_INTERFACE),                         /* 16403 0x4013 */
532 #   endif
533 #   ifdef      ESP_ERR_MESH_DISCARD_DUPLICATE
534     ERR_TBL_IT(ESP_ERR_MESH_DISCARD_DUPLICATE),                 /* 16404 0x4014 */
535 #   endif
536 #   ifdef      ESP_ERR_MESH_DISCARD
537     ERR_TBL_IT(ESP_ERR_MESH_DISCARD),                           /* 16405 0x4015 */
538 #   endif
539 #   ifdef      ESP_ERR_MESH_VOTING
540     ERR_TBL_IT(ESP_ERR_MESH_VOTING),                            /* 16406 0x4016 */
541 #   endif
542 #   ifdef      ESP_ERR_MESH_XMIT
543     ERR_TBL_IT(ESP_ERR_MESH_XMIT),                              /* 16407 0x4017 */
544 #   endif
545 #   ifdef      ESP_ERR_MESH_QUEUE_READ
546     ERR_TBL_IT(ESP_ERR_MESH_QUEUE_READ),                        /* 16408 0x4018 */
547 #   endif
548 #   ifdef      ESP_ERR_MESH_PS
549     ERR_TBL_IT(ESP_ERR_MESH_PS),                                /* 16409 0x4019 */
550 #   endif
551 #   ifdef      ESP_ERR_MESH_RECV_RELEASE
552     ERR_TBL_IT(ESP_ERR_MESH_RECV_RELEASE),                      /* 16410 0x401a */
553 #   endif
554     // components/esp_netif/include/esp_netif_types.h
555 #   ifdef      ESP_ERR_ESP_NETIF_BASE
556     ERR_TBL_IT(ESP_ERR_ESP_NETIF_BASE),                         /* 20480 0x5000 */
557 #   endif
558 #   ifdef      ESP_ERR_ESP_NETIF_INVALID_PARAMS
559     ERR_TBL_IT(ESP_ERR_ESP_NETIF_INVALID_PARAMS),               /* 20481 0x5001 */
560 #   endif
561 #   ifdef      ESP_ERR_ESP_NETIF_IF_NOT_READY
562     ERR_TBL_IT(ESP_ERR_ESP_NETIF_IF_NOT_READY),                 /* 20482 0x5002 */
563 #   endif
564 #   ifdef      ESP_ERR_ESP_NETIF_DHCPC_START_FAILED
565     ERR_TBL_IT(ESP_ERR_ESP_NETIF_DHCPC_START_FAILED),           /* 20483 0x5003 */
566 #   endif
567 #   ifdef      ESP_ERR_ESP_NETIF_DHCP_ALREADY_STARTED
568     ERR_TBL_IT(ESP_ERR_ESP_NETIF_DHCP_ALREADY_STARTED),         /* 20484 0x5004 */
569 #   endif
570 #   ifdef      ESP_ERR_ESP_NETIF_DHCP_ALREADY_STOPPED
571     ERR_TBL_IT(ESP_ERR_ESP_NETIF_DHCP_ALREADY_STOPPED),         /* 20485 0x5005 */
572 #   endif
573 #   ifdef      ESP_ERR_ESP_NETIF_NO_MEM
574     ERR_TBL_IT(ESP_ERR_ESP_NETIF_NO_MEM),                       /* 20486 0x5006 */
575 #   endif
576 #   ifdef      ESP_ERR_ESP_NETIF_DHCP_NOT_STOPPED
577     ERR_TBL_IT(ESP_ERR_ESP_NETIF_DHCP_NOT_STOPPED),             /* 20487 0x5007 */
578 #   endif
579 #   ifdef      ESP_ERR_ESP_NETIF_DRIVER_ATTACH_FAILED
580     ERR_TBL_IT(ESP_ERR_ESP_NETIF_DRIVER_ATTACH_FAILED),         /* 20488 0x5008 */
581 #   endif
582 #   ifdef      ESP_ERR_ESP_NETIF_INIT_FAILED
583     ERR_TBL_IT(ESP_ERR_ESP_NETIF_INIT_FAILED),                  /* 20489 0x5009 */
584 #   endif
585 #   ifdef      ESP_ERR_ESP_NETIF_DNS_NOT_CONFIGURED
586     ERR_TBL_IT(ESP_ERR_ESP_NETIF_DNS_NOT_CONFIGURED),           /* 20490 0x500a */
587 #   endif
588 #   ifdef      ESP_ERR_ESP_NETIF_MLD6_FAILED
589     ERR_TBL_IT(ESP_ERR_ESP_NETIF_MLD6_FAILED),                  /* 20491 0x500b */
590 #   endif
591 #   ifdef      ESP_ERR_ESP_NETIF_IP6_ADDR_FAILED
592     ERR_TBL_IT(ESP_ERR_ESP_NETIF_IP6_ADDR_FAILED),              /* 20492 0x500c */
593 #   endif
594 #   ifdef      ESP_ERR_ESP_NETIF_DHCPS_START_FAILED
595     ERR_TBL_IT(ESP_ERR_ESP_NETIF_DHCPS_START_FAILED),           /* 20493 0x500d */
596 #   endif
597     // components/esp_common/include/esp_err.h
598 #   ifdef      ESP_ERR_FLASH_BASE
599     ERR_TBL_IT(ESP_ERR_FLASH_BASE),                             /* 24576 0x6000 Starting number of flash error codes */
600 #   endif
601     // components/spi_flash/include/spi_flash_mmap.h
602 #   ifdef      ESP_ERR_FLASH_OP_FAIL
603     ERR_TBL_IT(ESP_ERR_FLASH_OP_FAIL),                          /* 24577 0x6001 */
604 #   endif
605 #   ifdef      ESP_ERR_FLASH_OP_TIMEOUT
606     ERR_TBL_IT(ESP_ERR_FLASH_OP_TIMEOUT),                       /* 24578 0x6002 */
607 #   endif
608     // components/hal/include/hal/esp_flash_err.h
609 #   ifdef      ESP_ERR_FLASH_NOT_INITIALISED
610     ERR_TBL_IT(ESP_ERR_FLASH_NOT_INITIALISED),                  /* 24579 0x6003 */
611 #   endif
612 #   ifdef      ESP_ERR_FLASH_UNSUPPORTED_HOST
613     ERR_TBL_IT(ESP_ERR_FLASH_UNSUPPORTED_HOST),                 /* 24580 0x6004 */
614 #   endif
615 #   ifdef      ESP_ERR_FLASH_UNSUPPORTED_CHIP
616     ERR_TBL_IT(ESP_ERR_FLASH_UNSUPPORTED_CHIP),                 /* 24581 0x6005 */
617 #   endif
618 #   ifdef      ESP_ERR_FLASH_PROTECTED
619     ERR_TBL_IT(ESP_ERR_FLASH_PROTECTED),                        /* 24582 0x6006 */
620 #   endif
621     // components/esp_http_client/include/esp_http_client.h
622 #   ifdef      ESP_ERR_HTTP_BASE
623     ERR_TBL_IT(ESP_ERR_HTTP_BASE),                              /* 28672 0x7000 Starting number of HTTP error codes */
624 #   endif
625 #   ifdef      ESP_ERR_HTTP_MAX_REDIRECT
626     ERR_TBL_IT(ESP_ERR_HTTP_MAX_REDIRECT),                      /* 28673 0x7001 The error exceeds the number of HTTP redirects */
627 #   endif
628 #   ifdef      ESP_ERR_HTTP_CONNECT
629     ERR_TBL_IT(ESP_ERR_HTTP_CONNECT),                           /* 28674 0x7002 Error open the HTTP connection */
630 #   endif
631 #   ifdef      ESP_ERR_HTTP_WRITE_DATA
632     ERR_TBL_IT(ESP_ERR_HTTP_WRITE_DATA),                        /* 28675 0x7003 Error write HTTP data */
633 #   endif
634 #   ifdef      ESP_ERR_HTTP_FETCH_HEADER
635     ERR_TBL_IT(ESP_ERR_HTTP_FETCH_HEADER),                      /* 28676 0x7004 Error read HTTP header from server */
636 #   endif
637 #   ifdef      ESP_ERR_HTTP_INVALID_TRANSPORT
638     ERR_TBL_IT(ESP_ERR_HTTP_INVALID_TRANSPORT),                 /* 28677 0x7005 There are no transport support for the
639                                                                                 input scheme */
640 #   endif
641 #   ifdef      ESP_ERR_HTTP_CONNECTING
642     ERR_TBL_IT(ESP_ERR_HTTP_CONNECTING),                        /* 28678 0x7006 HTTP connection hasn't been established yet */
643 #   endif
644 #   ifdef      ESP_ERR_HTTP_EAGAIN
645     ERR_TBL_IT(ESP_ERR_HTTP_EAGAIN),                            /* 28679 0x7007 Mapping of errno EAGAIN to esp_err_t */
646 #   endif
647 #   ifdef      ESP_ERR_HTTP_CONNECTION_CLOSED
648     ERR_TBL_IT(ESP_ERR_HTTP_CONNECTION_CLOSED),                 /* 28680 0x7008 Read FIN from peer and the connection closed */
649 #   endif
650     // components/esp-tls/esp_tls_errors.h
651 #   ifdef      ESP_ERR_ESP_TLS_BASE
652     ERR_TBL_IT(ESP_ERR_ESP_TLS_BASE),                           /* 32768 0x8000 Starting number of ESP-TLS error codes */
653 #   endif
654 #   ifdef      ESP_ERR_ESP_TLS_CANNOT_RESOLVE_HOSTNAME
655     ERR_TBL_IT(ESP_ERR_ESP_TLS_CANNOT_RESOLVE_HOSTNAME),        /* 32769 0x8001 Error if hostname couldn't be resolved
656                                                                                 upon tls connection */
657 #   endif
658 #   ifdef      ESP_ERR_ESP_TLS_CANNOT_CREATE_SOCKET
659     ERR_TBL_IT(ESP_ERR_ESP_TLS_CANNOT_CREATE_SOCKET),           /* 32770 0x8002 Failed to create socket */
660 #   endif
661 #   ifdef      ESP_ERR_ESP_TLS_UNSUPPORTED_PROTOCOL_FAMILY
662     ERR_TBL_IT(ESP_ERR_ESP_TLS_UNSUPPORTED_PROTOCOL_FAMILY),    /* 32771 0x8003 Unsupported protocol family */
663 #   endif
664 #   ifdef      ESP_ERR_ESP_TLS_FAILED_CONNECT_TO_HOST
665     ERR_TBL_IT(ESP_ERR_ESP_TLS_FAILED_CONNECT_TO_HOST),         /* 32772 0x8004 Failed to connect to host */
666 #   endif
667 #   ifdef      ESP_ERR_ESP_TLS_SOCKET_SETOPT_FAILED
668     ERR_TBL_IT(ESP_ERR_ESP_TLS_SOCKET_SETOPT_FAILED),           /* 32773 0x8005 failed to set/get socket option */
669 #   endif
670 #   ifdef      ESP_ERR_ESP_TLS_CONNECTION_TIMEOUT
671     ERR_TBL_IT(ESP_ERR_ESP_TLS_CONNECTION_TIMEOUT),             /* 32774 0x8006 new connection in esp_tls_low_level_conn
672                                                                                 connection timeouted */
673 #   endif
674 #   ifdef      ESP_ERR_ESP_TLS_SE_FAILED
675     ERR_TBL_IT(ESP_ERR_ESP_TLS_SE_FAILED),                      /* 32775 0x8007 */
676 #   endif
677 #   ifdef      ESP_ERR_ESP_TLS_TCP_CLOSED_FIN
678     ERR_TBL_IT(ESP_ERR_ESP_TLS_TCP_CLOSED_FIN),                 /* 32776 0x8008 */
679 #   endif
680 #   ifdef      ESP_ERR_MBEDTLS_CERT_PARTLY_OK
681     ERR_TBL_IT(ESP_ERR_MBEDTLS_CERT_PARTLY_OK),                 /* 32784 0x8010 mbedtls parse certificates was partly successful */
682 #   endif
683 #   ifdef      ESP_ERR_MBEDTLS_CTR_DRBG_SEED_FAILED
684     ERR_TBL_IT(ESP_ERR_MBEDTLS_CTR_DRBG_SEED_FAILED),           /* 32785 0x8011 mbedtls api returned error */
685 #   endif
686 #   ifdef      ESP_ERR_MBEDTLS_SSL_SET_HOSTNAME_FAILED
687     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_SET_HOSTNAME_FAILED),        /* 32786 0x8012 mbedtls api returned error */
688 #   endif
689 #   ifdef      ESP_ERR_MBEDTLS_SSL_CONFIG_DEFAULTS_FAILED
690     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_CONFIG_DEFAULTS_FAILED),     /* 32787 0x8013 mbedtls api returned error */
691 #   endif
692 #   ifdef      ESP_ERR_MBEDTLS_SSL_CONF_ALPN_PROTOCOLS_FAILED
693     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_CONF_ALPN_PROTOCOLS_FAILED), /* 32788 0x8014 mbedtls api returned error */
694 #   endif
695 #   ifdef      ESP_ERR_MBEDTLS_X509_CRT_PARSE_FAILED
696     ERR_TBL_IT(ESP_ERR_MBEDTLS_X509_CRT_PARSE_FAILED),          /* 32789 0x8015 mbedtls api returned error */
697 #   endif
698 #   ifdef      ESP_ERR_MBEDTLS_SSL_CONF_OWN_CERT_FAILED
699     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_CONF_OWN_CERT_FAILED),       /* 32790 0x8016 mbedtls api returned error */
700 #   endif
701 #   ifdef      ESP_ERR_MBEDTLS_SSL_SETUP_FAILED
702     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_SETUP_FAILED),               /* 32791 0x8017 mbedtls api returned error */
703 #   endif
704 #   ifdef      ESP_ERR_MBEDTLS_SSL_WRITE_FAILED
705     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_WRITE_FAILED),               /* 32792 0x8018 mbedtls api returned error */
706 #   endif
707 #   ifdef      ESP_ERR_MBEDTLS_PK_PARSE_KEY_FAILED
708     ERR_TBL_IT(ESP_ERR_MBEDTLS_PK_PARSE_KEY_FAILED),            /* 32793 0x8019 mbedtls api returned failed */
709 #   endif
710 #   ifdef      ESP_ERR_MBEDTLS_SSL_HANDSHAKE_FAILED
711     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_HANDSHAKE_FAILED),           /* 32794 0x801a mbedtls api returned failed */
712 #   endif
713 #   ifdef      ESP_ERR_MBEDTLS_SSL_CONF_PSK_FAILED
714     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_CONF_PSK_FAILED),            /* 32795 0x801b mbedtls api returned failed */
715 #   endif
716 #   ifdef      ESP_ERR_MBEDTLS_SSL_TICKET_SETUP_FAILED
717     ERR_TBL_IT(ESP_ERR_MBEDTLS_SSL_TICKET_SETUP_FAILED),        /* 32796 0x801c mbedtls api returned failed */
718 #   endif
719 #   ifdef      ESP_ERR_WOLFSSL_SSL_SET_HOSTNAME_FAILED
720     ERR_TBL_IT(ESP_ERR_WOLFSSL_SSL_SET_HOSTNAME_FAILED),        /* 32817 0x8031 wolfSSL api returned error */
721 #   endif
722 #   ifdef      ESP_ERR_WOLFSSL_SSL_CONF_ALPN_PROTOCOLS_FAILED
723     ERR_TBL_IT(ESP_ERR_WOLFSSL_SSL_CONF_ALPN_PROTOCOLS_FAILED), /* 32818 0x8032 wolfSSL api returned error */
724 #   endif
725 #   ifdef      ESP_ERR_WOLFSSL_CERT_VERIFY_SETUP_FAILED
726     ERR_TBL_IT(ESP_ERR_WOLFSSL_CERT_VERIFY_SETUP_FAILED),       /* 32819 0x8033 wolfSSL api returned error */
727 #   endif
728 #   ifdef      ESP_ERR_WOLFSSL_KEY_VERIFY_SETUP_FAILED
729     ERR_TBL_IT(ESP_ERR_WOLFSSL_KEY_VERIFY_SETUP_FAILED),        /* 32820 0x8034 wolfSSL api returned error */
730 #   endif
731 #   ifdef      ESP_ERR_WOLFSSL_SSL_HANDSHAKE_FAILED
732     ERR_TBL_IT(ESP_ERR_WOLFSSL_SSL_HANDSHAKE_FAILED),           /* 32821 0x8035 wolfSSL api returned failed */
733 #   endif
734 #   ifdef      ESP_ERR_WOLFSSL_CTX_SETUP_FAILED
735     ERR_TBL_IT(ESP_ERR_WOLFSSL_CTX_SETUP_FAILED),               /* 32822 0x8036 wolfSSL api returned failed */
736 #   endif
737 #   ifdef      ESP_ERR_WOLFSSL_SSL_SETUP_FAILED
738     ERR_TBL_IT(ESP_ERR_WOLFSSL_SSL_SETUP_FAILED),               /* 32823 0x8037 wolfSSL api returned failed */
739 #   endif
740 #   ifdef      ESP_ERR_WOLFSSL_SSL_WRITE_FAILED
741     ERR_TBL_IT(ESP_ERR_WOLFSSL_SSL_WRITE_FAILED),               /* 32824 0x8038 wolfSSL api returned failed */
742 #   endif
743     // components/esp_https_ota/include/esp_https_ota.h
744 #   ifdef      ESP_ERR_HTTPS_OTA_BASE
745     ERR_TBL_IT(ESP_ERR_HTTPS_OTA_BASE),                         /* 36864 0x9000 */
746 #   endif
747 #   ifdef      ESP_ERR_HTTPS_OTA_IN_PROGRESS
748     ERR_TBL_IT(ESP_ERR_HTTPS_OTA_IN_PROGRESS),                  /* 36865 0x9001 */
749 #   endif
750     // components/lwip/include/apps/esp_ping.h
751 #   ifdef      ESP_ERR_PING_BASE
752     ERR_TBL_IT(ESP_ERR_PING_BASE),                              /* 40960 0xa000 */
753 #   endif
754 #   ifdef      ESP_ERR_PING_INVALID_PARAMS
755     ERR_TBL_IT(ESP_ERR_PING_INVALID_PARAMS),                    /* 40961 0xa001 */
756 #   endif
757 #   ifdef      ESP_ERR_PING_NO_MEM
758     ERR_TBL_IT(ESP_ERR_PING_NO_MEM),                            /* 40962 0xa002 */
759 #   endif
760     // components/esp_http_server/include/esp_http_server.h
761 #   ifdef      ESP_ERR_HTTPD_BASE
762     ERR_TBL_IT(ESP_ERR_HTTPD_BASE),                             /* 45056 0xb000 Starting number of HTTPD error codes */
763 #   endif
764 #   ifdef      ESP_ERR_HTTPD_HANDLERS_FULL
765     ERR_TBL_IT(ESP_ERR_HTTPD_HANDLERS_FULL),                    /* 45057 0xb001 All slots for registering URI handlers
766                                                                                 have been consumed */
767 #   endif
768 #   ifdef      ESP_ERR_HTTPD_HANDLER_EXISTS
769     ERR_TBL_IT(ESP_ERR_HTTPD_HANDLER_EXISTS),                   /* 45058 0xb002 URI handler with same method and target
770                                                                                 URI already registered */
771 #   endif
772 #   ifdef      ESP_ERR_HTTPD_INVALID_REQ
773     ERR_TBL_IT(ESP_ERR_HTTPD_INVALID_REQ),                      /* 45059 0xb003 Invalid request pointer */
774 #   endif
775 #   ifdef      ESP_ERR_HTTPD_RESULT_TRUNC
776     ERR_TBL_IT(ESP_ERR_HTTPD_RESULT_TRUNC),                     /* 45060 0xb004 Result string truncated */
777 #   endif
778 #   ifdef      ESP_ERR_HTTPD_RESP_HDR
779     ERR_TBL_IT(ESP_ERR_HTTPD_RESP_HDR),                         /* 45061 0xb005 Response header field larger than supported */
780 #   endif
781 #   ifdef      ESP_ERR_HTTPD_RESP_SEND
782     ERR_TBL_IT(ESP_ERR_HTTPD_RESP_SEND),                        /* 45062 0xb006 Error occured while sending response packet */
783 #   endif
784 #   ifdef      ESP_ERR_HTTPD_ALLOC_MEM
785     ERR_TBL_IT(ESP_ERR_HTTPD_ALLOC_MEM),                        /* 45063 0xb007 Failed to dynamically allocate memory
786                                                                                 for resource */
787 #   endif
788 #   ifdef      ESP_ERR_HTTPD_TASK
789     ERR_TBL_IT(ESP_ERR_HTTPD_TASK),                             /* 45064 0xb008 Failed to launch server task/thread */
790 #   endif
791     // components/esp_common/include/esp_err.h
792 #   ifdef      ESP_ERR_HW_CRYPTO_BASE
793     ERR_TBL_IT(ESP_ERR_HW_CRYPTO_BASE),                         /* 49152 0xc000 Starting number of HW cryptography
794                                                                                 module error codes */
795 #   endif
796     // components/esp_hw_support/include/esp_ds_err.h
797 #   ifdef      ESP_ERR_HW_CRYPTO_DS_HMAC_FAIL
798     ERR_TBL_IT(ESP_ERR_HW_CRYPTO_DS_HMAC_FAIL),                 /* 49153 0xc001 HMAC peripheral problem */
799 #   endif
800 #   ifdef      ESP_ERR_HW_CRYPTO_DS_INVALID_KEY
801     ERR_TBL_IT(ESP_ERR_HW_CRYPTO_DS_INVALID_KEY),               /* 49154 0xc002 */
802 #   endif
803 #   ifdef      ESP_ERR_HW_CRYPTO_DS_INVALID_DIGEST
804     ERR_TBL_IT(ESP_ERR_HW_CRYPTO_DS_INVALID_DIGEST),            /* 49156 0xc004 */
805 #   endif
806 #   ifdef      ESP_ERR_HW_CRYPTO_DS_INVALID_PADDING
807     ERR_TBL_IT(ESP_ERR_HW_CRYPTO_DS_INVALID_PADDING),           /* 49157 0xc005 */
808 #   endif
809     // components/esp_common/include/esp_err.h
810 #   ifdef      ESP_ERR_MEMPROT_BASE
811     ERR_TBL_IT(ESP_ERR_MEMPROT_BASE),                           /* 53248 0xd000 Starting number of Memory Protection API
812                                                                                 error codes */
813 #   endif
814     // components/esp_hw_support/include/esp_memprot_err.h
815 #   ifdef      ESP_ERR_MEMPROT_MEMORY_TYPE_INVALID
816     ERR_TBL_IT(ESP_ERR_MEMPROT_MEMORY_TYPE_INVALID),            /* 53249 0xd001 */
817 #   endif
818 #   ifdef      ESP_ERR_MEMPROT_SPLIT_ADDR_INVALID
819     ERR_TBL_IT(ESP_ERR_MEMPROT_SPLIT_ADDR_INVALID),             /* 53250 0xd002 */
820 #   endif
821 #   ifdef      ESP_ERR_MEMPROT_SPLIT_ADDR_OUT_OF_RANGE
822     ERR_TBL_IT(ESP_ERR_MEMPROT_SPLIT_ADDR_OUT_OF_RANGE),        /* 53251 0xd003 */
823 #   endif
824 #   ifdef      ESP_ERR_MEMPROT_SPLIT_ADDR_UNALIGNED
825     ERR_TBL_IT(ESP_ERR_MEMPROT_SPLIT_ADDR_UNALIGNED),           /* 53252 0xd004 */
826 #   endif
827 #   ifdef      ESP_ERR_MEMPROT_UNIMGMT_BLOCK_INVALID
828     ERR_TBL_IT(ESP_ERR_MEMPROT_UNIMGMT_BLOCK_INVALID),          /* 53253 0xd005 */
829 #   endif
830 #   ifdef      ESP_ERR_MEMPROT_WORLD_INVALID
831     ERR_TBL_IT(ESP_ERR_MEMPROT_WORLD_INVALID),                  /* 53254 0xd006 */
832 #   endif
833 #   ifdef      ESP_ERR_MEMPROT_AREA_INVALID
834     ERR_TBL_IT(ESP_ERR_MEMPROT_AREA_INVALID),                   /* 53255 0xd007 */
835 #   endif
836 #   ifdef      ESP_ERR_MEMPROT_CPUID_INVALID
837     ERR_TBL_IT(ESP_ERR_MEMPROT_CPUID_INVALID),                  /* 53256 0xd008 */
838 #   endif
839     // components/tcp_transport/include/esp_transport.h
840 #   ifdef      ESP_ERR_TCP_TRANSPORT_BASE
841     ERR_TBL_IT(ESP_ERR_TCP_TRANSPORT_BASE),                     /* 57344 0xe000 Starting number of TCP Transport error codes */
842 #   endif
843 #   ifdef      ESP_ERR_TCP_TRANSPORT_CONNECTION_TIMEOUT
844     ERR_TBL_IT(ESP_ERR_TCP_TRANSPORT_CONNECTION_TIMEOUT),       /* 57345 0xe001 Connection has timed out */
845 #   endif
846 #   ifdef      ESP_ERR_TCP_TRANSPORT_CONNECTION_CLOSED_BY_FIN
847     ERR_TBL_IT(ESP_ERR_TCP_TRANSPORT_CONNECTION_CLOSED_BY_FIN), /* 57346 0xe002 Read FIN from peer and the connection
848                                                                                 has closed (in a clean way) */
849 #   endif
850 #   ifdef      ESP_ERR_TCP_TRANSPORT_CONNECTION_FAILED
851     ERR_TBL_IT(ESP_ERR_TCP_TRANSPORT_CONNECTION_FAILED),        /* 57347 0xe003 Failed to connect to the peer */
852 #   endif
853 #   ifdef      ESP_ERR_TCP_TRANSPORT_NO_MEM
854     ERR_TBL_IT(ESP_ERR_TCP_TRANSPORT_NO_MEM),                   /* 57348 0xe004 Memory allocation failed */
855 #   endif
856 };
857 #endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
858 
859 static const char esp_unknown_msg[] =
860 #ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
861     "ERROR";
862 #else
863     "UNKNOWN ERROR";
864 #endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
865 
esp_err_to_name(esp_err_t code)866 const char *esp_err_to_name(esp_err_t code)
867 {
868 #ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
869     size_t i;
870 
871     for (i = 0; i < sizeof(esp_err_msg_table)/sizeof(esp_err_msg_table[0]); ++i) {
872         if (esp_err_msg_table[i].code == code) {
873             return esp_err_msg_table[i].msg;
874         }
875     }
876 #endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
877 
878     return esp_unknown_msg;
879 }
880 
esp_err_to_name_r(esp_err_t code,char * buf,size_t buflen)881 const char *esp_err_to_name_r(esp_err_t code, char *buf, size_t buflen)
882 {
883 #ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP
884     size_t i;
885 
886     for (i = 0; i < sizeof(esp_err_msg_table)/sizeof(esp_err_msg_table[0]); ++i) {
887         if (esp_err_msg_table[i].code == code) {
888             strlcpy(buf, esp_err_msg_table[i].msg, buflen);
889             return buf;
890         }
891     }
892 #endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP
893 
894     if (strerror_r(code, buf, buflen) == 0) {
895         return buf;
896     }
897 
898     snprintf(buf, buflen, "%s 0x%x(%d)", esp_unknown_msg, code, code);
899 
900     return buf;
901 }
902