Skip to content
This repository was archived by the owner on Sep 16, 2024. It is now read-only.

Commit d41b229

Browse files
author
iwahdan88
committed
Amended Micropython Error Codes with ESP, LWIP, MBEDTLS, DNS error codes
1 parent c1982fa commit d41b229

File tree

6 files changed

+196
-31
lines changed

6 files changed

+196
-31
lines changed

esp32/mods/modusocket.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@ STATIC mp_obj_t mod_usocket_getaddrinfo(size_t n_args, const mp_obj_t *args) {
903903
sprintf(port_s, "%d", port);
904904
int32_t result = getaddrinfo(host, port_s, &hints, &res);
905905
if(result != 0 || res == NULL) {
906-
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(-result)));
906+
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(result)));
907907
}
908908
addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr;
909909
mp_obj_tuple_t *tuple = mp_obj_new_tuple(5, NULL);

esp32/mp_pycom_err.h

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/*
2+
* mp_pycom_err.h
3+
*
4+
* Created on: 22 Feb 2019
5+
* Author: iwahdan
6+
*/
7+
8+
#ifndef ESP32_MP_PYCOM_ERR_H_
9+
#define ESP32_MP_PYCOM_ERR_H_
10+
11+
#include "mbedtls/net_sockets.h"
12+
#include "lwip/err.h"
13+
#include "lwip/netdb.h"
14+
#include "esp_err.h"
15+
16+
#define MP_MBEDTLS_ERR_SSL_TIMEOUT MBEDTLS_ERR_SSL_TIMEOUT
17+
#define MP_MBEDTLS_ERR_NET_SOCKET_FAILED MBEDTLS_ERR_NET_SOCKET_FAILED
18+
#define MP_MBEDTLS_ERR_NET_CONNECT_FAILED MBEDTLS_ERR_NET_CONNECT_FAILED
19+
#define MP_MBEDTLS_ERR_NET_BIND_FAILED MBEDTLS_ERR_NET_BIND_FAILED
20+
#define MP_MBEDTLS_ERR_NET_LISTEN_FAILED MBEDTLS_ERR_NET_LISTEN_FAILED
21+
#define MP_MBEDTLS_ERR_NET_ACCEPT_FAILED MBEDTLS_ERR_NET_ACCEPT_FAILED
22+
#define MP_MBEDTLS_ERR_NET_RECV_FAILED MBEDTLS_ERR_NET_RECV_FAILED
23+
#define MP_MBEDTLS_ERR_NET_SEND_FAILED MBEDTLS_ERR_NET_SEND_FAILED
24+
#define MP_MBEDTLS_ERR_NET_CONN_RESET MBEDTLS_ERR_NET_CONN_RESET
25+
#define MP_MBEDTLS_ERR_NET_UNKNOWN_HOST MBEDTLS_ERR_NET_UNKNOWN_HOST
26+
#define MP_MBEDTLS_ERR_NET_BUFFER_TOO_SMALL MBEDTLS_ERR_NET_BUFFER_TOO_SMALL
27+
#define MP_MBEDTLS_ERR_NET_INVALID_CONTEXT MBEDTLS_ERR_NET_INVALID_CONTEXT
28+
#define MP_MBEDTLS_ERR_NET_POLL_FAILED MBEDTLS_ERR_NET_POLL_FAILED
29+
#define MP_MBEDTLS_ERR_NET_BAD_INPUT_DATA MBEDTLS_ERR_NET_BAD_INPUT_DATA
30+
31+
#define MP_ERR_MEM ERR_MEM
32+
#define MP_ERR_BUF ERR_BUF
33+
#define MP_ERR_TIMEOUT ERR_TIMEOUT
34+
#define MP_ERR_RTE ERR_RTE
35+
#define MP_ERR_INPROGRESS ERR_INPROGRESS
36+
#define MP_ERR_VAL ERR_VAL
37+
#define MP_ERR_WOULDBLOCK ERR_WOULDBLOCK
38+
#define MP_ERR_USE ERR_USE
39+
40+
#define MP_ERR_ALREADY ERR_ALREADY
41+
#define MP_ERR_ISCONN ERR_ISCONN
42+
#define MP_ERR_ABRT ERR_ABRT
43+
#define MP_ERR_RST ERR_RST
44+
#define MP_ERR_CLSD ERR_CLSD
45+
#define MP_ERR_CONN ERR_CONN
46+
#define MP_ERR_ARG ERR_ARG
47+
#define MP_ERR_IF ERR_IF
48+
49+
#define MP_ESP_ERR_NO_MEM ESP_ERR_NO_MEM /*!< Out of memory */
50+
#define MP_ESP_ERR_INVALID_ARG ESP_ERR_INVALID_ARG /*!< Invalid argument */
51+
#define MP_ESP_ERR_INVALID_STATE ESP_ERR_INVALID_STATE /*!< Invalid state */
52+
#define MP_ESP_ERR_INVALID_SIZE ESP_ERR_INVALID_SIZE /*!< Invalid size */
53+
#define MP_ESP_ERR_NOT_FOUND ESP_ERR_NOT_FOUND /*!< Requested resource not found */
54+
#define MP_ESP_ERR_NOT_SUPPORTED ESP_ERR_NOT_SUPPORTED /*!< Operation or feature not supported */
55+
#define MP_ESP_ERR_TIMEOUT ESP_ERR_TIMEOUT /*!< Operation timed out */
56+
#define MP_ESP_ERR_INVALID_RESPONSE ESP_ERR_INVALID_RESPONSE /*!< Received response was invalid */
57+
#define MP_ESP_ERR_INVALID_CRC ESP_ERR_INVALID_CRC /*!< CRC or checksum was invalid */
58+
#define MP_ESP_ERR_INVALID_VERSION ESP_ERR_INVALID_VERSION /*!< Version was invalid */
59+
#define MP_ESP_ERR_INVALID_MAC ESP_ERR_INVALID_MAC /*!< MAC address was invalid */
60+
61+
#define MP_EAI_NONAME EAI_NONAME
62+
#define MP_EAI_SERVICE EAI_SERVICE
63+
#define MP_EAI_FAIL EAI_FAIL
64+
#define MP_EAI_MEMORY EAI_MEMORY
65+
#define MP_EAI_FAMILY EAI_FAMILY
66+
#define MP_HOST_NOT_FOUND HOST_NOT_FOUND
67+
#define MP_NO_DATA NO_DATA
68+
#define MP_NO_RECOVERY NO_RECOVERY
69+
#define MP_TRY_AGAIN TRY_AGAIN
70+
71+
#endif /* ESP32_MP_PYCOM_ERR_H_ */

esp32/mpconfigport.h

Lines changed: 75 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#define __INCLUDED_MPCONFIGPORT_H
4141

4242
#include <stdint.h>
43+
#include "mp_pycom_err.h"
4344

4445
// options to control how Micro Python is built
4546
#define MICROPY_OBJ_REPR (MICROPY_OBJ_REPR_A)
@@ -269,31 +270,80 @@ extern const struct _mp_obj_module_t mp_module_uqueue;
269270
#define _assert(expr) ((expr) ? (void)0 : __assert_func(__FILE__, __LINE__, __func__, #expr))
270271

271272
#define MICROPY_PY_UERRNO_LIST \
272-
X(EPERM) \
273-
X(ENOENT) \
274-
X(EIO) \
275-
X(EBADF) \
276-
X(EAGAIN) \
277-
X(ENOMEM) \
278-
X(EACCES) \
279-
X(EEXIST) \
280-
X(ENODEV) \
281-
X(EISDIR) \
282-
X(EINVAL) \
283-
X(EMSGSIZE) \
284-
X(EOPNOTSUPP) \
285-
X(EADDRINUSE) \
286-
X(ENETDOWN) \
287-
X(ECONNABORTED) \
288-
X(ECONNRESET) \
289-
X(ENOBUFS) \
290-
X(ENOTCONN) \
291-
X(ETIMEDOUT) \
292-
X(ECONNREFUSED) \
293-
X(EHOSTUNREACH) \
294-
X(EALREADY) \
295-
X(EINPROGRESS) \
296-
X(MBEDTLS_ERR_SSL_TIMEOUT) \
273+
X(EPERM) \
274+
X(ENOENT) \
275+
X(EIO) \
276+
X(EBADF) \
277+
X(EAGAIN) \
278+
X(ENOMEM) \
279+
X(EACCES) \
280+
X(EEXIST) \
281+
X(ENODEV) \
282+
X(EISDIR) \
283+
X(EINVAL) \
284+
X(EMSGSIZE) \
285+
X(EOPNOTSUPP) \
286+
X(EADDRINUSE) \
287+
X(ENETDOWN) \
288+
X(ECONNABORTED) \
289+
X(ECONNRESET) \
290+
X(ENOBUFS) \
291+
X(ENOTCONN) \
292+
X(ETIMEDOUT) \
293+
X(ECONNREFUSED) \
294+
X(EHOSTUNREACH) \
295+
X(EALREADY) \
296+
X(EINPROGRESS) \
297+
X(MBEDTLS_ERR_SSL_TIMEOUT) \
298+
X(MBEDTLS_ERR_NET_SOCKET_FAILED) \
299+
X(MBEDTLS_ERR_NET_CONNECT_FAILED) \
300+
X(MBEDTLS_ERR_NET_BIND_FAILED) \
301+
X(MBEDTLS_ERR_NET_LISTEN_FAILED) \
302+
X(MBEDTLS_ERR_NET_ACCEPT_FAILED) \
303+
X(MBEDTLS_ERR_NET_RECV_FAILED) \
304+
X(MBEDTLS_ERR_NET_SEND_FAILED) \
305+
X(MBEDTLS_ERR_NET_CONN_RESET) \
306+
X(MBEDTLS_ERR_NET_UNKNOWN_HOST) \
307+
X(MBEDTLS_ERR_NET_BUFFER_TOO_SMALL) \
308+
X(MBEDTLS_ERR_NET_INVALID_CONTEXT) \
309+
X(MBEDTLS_ERR_NET_POLL_FAILED) \
310+
X(MBEDTLS_ERR_NET_BAD_INPUT_DATA) \
311+
X(ERR_MEM) \
312+
X(ERR_BUF) \
313+
X(ERR_TIMEOUT) \
314+
X(ERR_RTE) \
315+
X(ERR_INPROGRESS) \
316+
X(ERR_VAL) \
317+
X(ERR_WOULDBLOCK) \
318+
X(ERR_USE) \
319+
X(ERR_ALREADY) \
320+
X(ERR_ISCONN) \
321+
X(ERR_ABRT) \
322+
X(ERR_RST) \
323+
X(ERR_CLSD) \
324+
X(ERR_CONN) \
325+
X(ERR_ARG) \
326+
X(ERR_IF) \
327+
X(ESP_ERR_NO_MEM) \
328+
X(ESP_ERR_INVALID_ARG) \
329+
X(ESP_ERR_INVALID_STATE) \
330+
X(ESP_ERR_INVALID_SIZE) \
331+
X(ESP_ERR_NOT_FOUND) \
332+
X(ESP_ERR_NOT_SUPPORTED) \
333+
X(ESP_ERR_TIMEOUT) \
334+
X(ESP_ERR_INVALID_RESPONSE) \
335+
X(ESP_ERR_INVALID_CRC) \
336+
X(ESP_ERR_INVALID_VERSION) \
337+
X(ESP_ERR_INVALID_MAC) \
338+
X(EAI_NONAME) \
339+
X(EAI_SERVICE) \
340+
X(EAI_FAIL) \
341+
X(EAI_MEMORY) \
342+
X(EAI_FAMILY) \
343+
X(HOST_NOT_FOUND) \
344+
X(NO_DATA) \
345+
X(NO_RECOVERY) \
346+
X(TRY_AGAIN) \
297347

298348
#include "mpconfigboard.h"
299349

esp32/qstrdefsport.h

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,52 @@ Q(/)
1313
Q(/flash)
1414
Q(/flash/lib)
1515
Q(MBEDTLS_ERR_SSL_TIMEOUT)
16+
Q(MP_MBEDTLS_ERR_NET_SOCKET_FAILED)
17+
Q(MP_MBEDTLS_ERR_NET_CONNECT_FAILED)
18+
Q(MP_MBEDTLS_ERR_NET_BIND_FAILED)
19+
Q(MP_MBEDTLS_ERR_NET_LISTEN_FAILED)
20+
Q(MP_MBEDTLS_ERR_NET_ACCEPT_FAILED)
21+
Q(MP_MBEDTLS_ERR_NET_RECV_FAILED)
22+
Q(MP_MBEDTLS_ERR_NET_SEND_FAILED)
23+
Q(MP_MBEDTLS_ERR_NET_CONN_RESET)
24+
Q(MP_MBEDTLS_ERR_NET_UNKNOWN_HOST)
25+
Q(MP_MBEDTLS_ERR_NET_BUFFER_TOO_SMALL)
26+
Q(MP_MBEDTLS_ERR_NET_INVALID_CONTEXT)
27+
Q(MP_MBEDTLS_ERR_NET_POLL_FAILED)
28+
Q(MP_MBEDTLS_ERR_NET_BAD_INPUT_DATA)
29+
Q(MP_ERR_MEM)
30+
Q(MP_ERR_BUF)
31+
Q(MP_ERR_TIMEOUT)
32+
Q(MP_ERR_RTE)
33+
Q(MP_ERR_INPROGRESS)
34+
Q(MP_ERR_VAL)
35+
Q(MP_ERR_WOULDBLOCK)
36+
Q(MP_ERR_USE)
37+
Q(MP_ERR_ALREADY)
38+
Q(MP_ERR_ISCONN)
39+
Q(MP_ERR_ABRT)
40+
Q(MP_ERR_RST)
41+
Q(MP_ERR_CLSD)
42+
Q(MP_ERR_CONN)
43+
Q(MP_ERR_ARG)
44+
Q(MP_ERR_IF)
45+
Q(MP_ESP_ERR_NO_MEM)
46+
Q(MP_ESP_ERR_INVALID_ARG)
47+
Q(MP_ESP_ERR_INVALID_STATE)
48+
Q(MP_ESP_ERR_INVALID_SIZE)
49+
Q(MP_ESP_ERR_NOT_FOUND)
50+
Q(MP_ESP_ERR_NOT_SUPPORTED)
51+
Q(MP_ESP_ERR_TIMEOUT)
52+
Q(MP_ESP_ERR_INVALID_RESPONSE)
53+
Q(MP_ESP_ERR_INVALID_CRC)
54+
Q(MP_ESP_ERR_INVALID_VERSION)
55+
Q(MP_ESP_ERR_INVALID_MAC)
56+
Q(EAI_NONAME)
57+
Q(EAI_SERVICE)
58+
Q(EAI_FAIL)
59+
Q(EAI_MEMORY)
60+
Q(EAI_FAMILY)
61+
Q(HOST_NOT_FOUND)
62+
Q(NO_DATA)
63+
Q(NO_RECOVERY)
64+
Q(TRY_AGAIN)

py/moduerrno.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929

3030
#include "py/obj.h"
3131
#include "py/mperrno.h"
32-
#include "mbedtls/net_sockets.h"
3332

3433
#if MICROPY_PY_UERRNO
3534

py/mperrno.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,6 @@
142142
#define MP_EHOSTUNREACH EHOSTUNREACH
143143
#define MP_EALREADY EALREADY
144144
#define MP_EINPROGRESS EINPROGRESS
145-
#define MP_MBEDTLS_ERR_SSL_TIMEOUT MBEDTLS_ERR_SSL_TIMEOUT
146-
#define MP_MBEDTLS_ERR_NET_SOCKET_FAILED MBEDTLS_ERR_NET_SOCKET_FAILED
147-
#define MP_MBEDTLS_ERR_NET_CONNECT_FAILED MBEDTLS_ERR_NET_CONNECT_FAILED
148-
#define MP_MBEDTLS_ERR_NET_BIND_FAILED MBEDTLS_ERR_NET_BIND_FAILED
149145

150146
#endif
151147

0 commit comments

Comments
 (0)