From 83b2d2d59263481a7726555fac41b73cd5351ed4 Mon Sep 17 00:00:00 2001 From: IFX-Anusha Date: Thu, 3 Oct 2024 13:46:46 +0530 Subject: [PATCH] ports/psoc6: Cleanup code. Signed-off-by: IFX-Anusha --- ports/psoc6/Makefile | 1 - ports/psoc6/lwip_inc/lwipopts.h | 2 +- ports/psoc6/modsocket.c | 73 ++------------------------------- 3 files changed, 5 insertions(+), 71 deletions(-) diff --git a/ports/psoc6/Makefile b/ports/psoc6/Makefile index 5ce93f4adf34c..d6839d1bd5000 100644 --- a/ports/psoc6/Makefile +++ b/ports/psoc6/Makefile @@ -134,7 +134,6 @@ ifeq ($(MICROPY_PSOC6_LWIP),1) netutils/netutils.c \ netutils/trace.c \ ) - CFLAGS += -DMICROPY_PY_LWIP=0 MOD_SRC_C += modsocket.c endif diff --git a/ports/psoc6/lwip_inc/lwipopts.h b/ports/psoc6/lwip_inc/lwipopts.h index eec0f5eaa1a39..31351a76a3484 100644 --- a/ports/psoc6/lwip_inc/lwipopts.h +++ b/ports/psoc6/lwip_inc/lwipopts.h @@ -36,7 +36,7 @@ #define MEM_ALIGNMENT (4) #define LWIP_RAW (1) -#define NO_SYS 0 +#define NO_SYS (0) // // Enable IPV4 networking diff --git a/ports/psoc6/modsocket.c b/ports/psoc6/modsocket.c index 864267e8d9760..5b653c179bf7d 100644 --- a/ports/psoc6/modsocket.c +++ b/ports/psoc6/modsocket.c @@ -1,12 +1,9 @@ /* * This file is part of the MicroPython project, http://micropython.org/ * - * Development of the code in this file was sponsored by Microbric Pty Ltd - * and Mnemote Pty Ltd - * * The MIT License (MIT) * - * Copyright (c) 2016, 2017 Nick Moore @mnemote + * Copyright (c) 2022-2024 Infineon Technologies AG * * Based on extmod/modlwip.c * Copyright (c) 2013, 2014 Damien P. George @@ -83,7 +80,6 @@ typedef struct _socket_obj_t { #endif } socket_obj_t; -// static const char *TAG = "modsocket"; void _socket_settimeout(socket_obj_t *sock, uint64_t timeout_ms); @@ -156,62 +152,6 @@ static inline void check_for_exceptions(void) { mp_handle_pending(true); } -#if MICROPY_HW_ENABLE_MDNS_QUERIES -// This function mimics lwip_getaddrinfo, but makes an mDNS query -static int mdns_getaddrinfo(const char *host_str, const char *port_str, - const struct addrinfo *hints, struct addrinfo **res) { - int host_len = strlen(host_str); - const int local_len = sizeof(MDNS_LOCAL_SUFFIX) - 1; - if (host_len <= local_len || - strcasecmp(host_str + host_len - local_len, MDNS_LOCAL_SUFFIX) != 0) { - return 0; - } - - // mDNS query - char host_no_local[host_len - local_len + 1]; - memcpy(host_no_local, host_str, host_len - local_len); - host_no_local[host_len - local_len] = '\0'; - - esp_ip4_addr_t addr = {0}; - - esp_err_t err = mdns_query_a(host_no_local, MDNS_QUERY_TIMEOUT_MS, &addr); - if (err != ESP_OK) { - if (err == ESP_ERR_NOT_FOUND) { - *res = NULL; - return 0; - } - *res = NULL; - return err; - } - - struct addrinfo *ai = memp_malloc(MEMP_NETDB); - if (ai == NULL) { - *res = NULL; - return EAI_MEMORY; - } - memset(ai, 0, sizeof(struct addrinfo) + sizeof(struct sockaddr_storage)); - - struct sockaddr_in *sa = (struct sockaddr_in *)((uint8_t *)ai + sizeof(struct addrinfo)); - inet_addr_from_ip4addr(&sa->sin_addr, &addr); - sa->sin_family = AF_INET; - sa->sin_len = sizeof(struct sockaddr_in); - sa->sin_port = lwip_htons((u16_t)atoi(port_str)); - ai->ai_family = AF_INET; - ai->ai_canonname = ((char *)sa + sizeof(struct sockaddr_storage)); - memcpy(ai->ai_canonname, host_str, host_len + 1); - ai->ai_addrlen = sizeof(struct sockaddr_storage); - ai->ai_addr = (struct sockaddr *)sa; - ai->ai_socktype = SOCK_STREAM; - if (hints) { - ai->ai_socktype = hints->ai_socktype; - ai->ai_protocol = hints->ai_protocol; - } - - *res = ai; - return 0; -} -#endif // MICROPY_HW_ENABLE_MDNS_QUERIES - static void _getaddrinfo_inner(const mp_obj_t host, const mp_obj_t portx, const struct addrinfo *hints, struct addrinfo **res) { int retval = 0; @@ -235,10 +175,6 @@ static void _getaddrinfo_inner(const mp_obj_t host, const mp_obj_t portx, MP_THREAD_GIL_EXIT(); - #if MICROPY_HW_ENABLE_MDNS_QUERIES - retval = mdns_getaddrinfo(host_str, port_str, hints, res); - #endif - if (retval == 0 && *res == NULL) { // Normal query retval = lwip_getaddrinfo(host_str, port_str, hints, res); @@ -288,7 +224,7 @@ static mp_obj_t socket_make_new(const mp_obj_type_t *type_in, size_t n_args, siz sock->fd = lwip_socket(sock->domain, sock->type, sock->proto); if (sock->fd < 0 && errno == ENFILE) { - // ESP32 LWIP has a hard socket limit, ENFILE is returned when this is + // LWIP has a hard socket limit, ENFILE is returned when this is // reached. Similar to the logic elsewhere for MemoryError, try running // GC before failing outright. gc_collect(); @@ -408,7 +344,7 @@ static mp_obj_t socket_connect(const mp_obj_t arg0, const mp_obj_t arg1) { // - Allows emulating a connect timeout, which is not supported by LWIP or // required by POSIX but is normal behaviour for CPython. if (fcntl(self->fd, F_SETFL, flags | O_NONBLOCK) < 0) { - // ESP_LOGE(TAG, "fcntl set failed %d", errno); // Unexpected internal failure + mp_raise_msg_varg(&mp_type_ValueError, MP_ERROR_TEXT("fcntl set failed %d"), errno); raise_err = errno; } } @@ -425,7 +361,7 @@ static mp_obj_t socket_connect(const mp_obj_t arg0, const mp_obj_t arg1) { // Set the socket back to blocking. We can still pass it to select() in this state. int r = fcntl(self->fd, F_SETFL, flags); if (r != 0 && (raise_err == 0 || raise_err == EINPROGRESS)) { - // ESP_LOGE(TAG, "fcntl restore failed %d", errno); // Unexpected internal failure + mp_raise_msg_varg(&mp_type_ValueError, MP_ERROR_TEXT("fcntl restore failed %d"), errno); raise_err = errno; } } @@ -978,7 +914,6 @@ static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(psoc6_socket_getaddrinfo_obj, 2, 6, p static mp_obj_t psoc6_socket_initialize() { static int initialized = 0; if (!initialized) { - // ESP_LOGI(TAG, "Initializing"); cy_network_init(); initialized = 1;