From 8f5bc3ffc0603bbc338f9a24bd7d278b72d5c9d7 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 20 Nov 2016 23:49:45 +0300 Subject: [PATCH] stmhal/moduselect: Move to extmod/ for reuse by other ports. --- {stmhal => extmod}/moduselect.c | 5 +++++ py/builtin.h | 1 + py/mpconfig.h | 5 +++++ py/objmodule.c | 3 +++ py/py.mk | 1 + stmhal/Makefile | 1 - stmhal/mpconfigport.h | 3 +-- stmhal/portmodules.h | 1 - 8 files changed, 16 insertions(+), 4 deletions(-) rename {stmhal => extmod}/moduselect.c (99%) diff --git a/stmhal/moduselect.c b/extmod/moduselect.c similarity index 99% rename from stmhal/moduselect.c rename to extmod/moduselect.c index 0d76953c61..6cf1e70a2b 100644 --- a/stmhal/moduselect.c +++ b/extmod/moduselect.c @@ -24,6 +24,9 @@ * THE SOFTWARE. */ +#include "py/mpconfig.h" +#if MICROPY_PY_USELECT + #include #include "py/runtime.h" @@ -309,3 +312,5 @@ const mp_obj_module_t mp_module_uselect = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)&mp_module_select_globals, }; + +#endif // MICROPY_PY_WEBSOCKET diff --git a/py/builtin.h b/py/builtin.h index 4477fd2462..893e47104f 100644 --- a/py/builtin.h +++ b/py/builtin.h @@ -108,6 +108,7 @@ extern const mp_obj_module_t mp_module_uheapq; extern const mp_obj_module_t mp_module_uhashlib; extern const mp_obj_module_t mp_module_ubinascii; extern const mp_obj_module_t mp_module_urandom; +extern const mp_obj_module_t mp_module_uselect; extern const mp_obj_module_t mp_module_ussl; extern const mp_obj_module_t mp_module_machine; extern const mp_obj_module_t mp_module_lwip; diff --git a/py/mpconfig.h b/py/mpconfig.h index 1980e649ca..4572fc4cc9 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -873,6 +873,11 @@ typedef double mp_float_t; #define MICROPY_PY_UERRNO (0) #endif +// Whether to provide "uselect" module (baremetal implementation) +#ifndef MICROPY_PY_USELECT +#define MICROPY_PY_USELECT (0) +#endif + // Whether to provide "utime" module functions implementation // in terms of mp_hal_* functions. #ifndef MICROPY_PY_UTIME_MP_HAL diff --git a/py/objmodule.c b/py/objmodule.c index 9b06e3b7b5..6f7d35d426 100644 --- a/py/objmodule.c +++ b/py/objmodule.c @@ -198,6 +198,9 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = { #if MICROPY_PY_URANDOM { MP_ROM_QSTR(MP_QSTR_urandom), MP_ROM_PTR(&mp_module_urandom) }, #endif +#if MICROPY_PY_USELECT + { MP_ROM_QSTR(MP_QSTR_uselect), MP_ROM_PTR(&mp_module_uselect) }, +#endif #if MICROPY_PY_USSL { MP_ROM_QSTR(MP_QSTR_ussl), MP_ROM_PTR(&mp_module_ussl) }, #endif diff --git a/py/py.mk b/py/py.mk index 82e0661ef3..ec67ac2a08 100644 --- a/py/py.mk +++ b/py/py.mk @@ -219,6 +219,7 @@ PY_O_BASENAME = \ ../extmod/modussl_axtls.o \ ../extmod/modussl_mbedtls.o \ ../extmod/modurandom.o \ + ../extmod/moduselect.o \ ../extmod/modwebsocket.o \ ../extmod/modwebrepl.o \ ../extmod/modframebuf.o \ diff --git a/stmhal/Makefile b/stmhal/Makefile index c08484db1c..3b70f6b935 100644 --- a/stmhal/Makefile +++ b/stmhal/Makefile @@ -150,7 +150,6 @@ SRC_C = \ modstm.c \ moduos.c \ modutime.c \ - moduselect.c \ modusocket.c \ modnetwork.c \ import.c \ diff --git a/stmhal/mpconfigport.h b/stmhal/mpconfigport.h index 3eec0fcce0..66ec364724 100644 --- a/stmhal/mpconfigport.h +++ b/stmhal/mpconfigport.h @@ -92,6 +92,7 @@ #define MICROPY_PY_UBINASCII (1) #define MICROPY_PY_URANDOM (1) #define MICROPY_PY_URANDOM_EXTRA_FUNCS (1) +#define MICROPY_PY_USELECT (1) #define MICROPY_PY_UCTYPES (1) #define MICROPY_PY_UZLIB (1) #define MICROPY_PY_UJSON (1) @@ -135,7 +136,6 @@ extern const struct _mp_obj_module_t mp_module_uheapq; extern const struct _mp_obj_module_t mp_module_uhashlib; extern const struct _mp_obj_module_t mp_module_uos; extern const struct _mp_obj_module_t mp_module_utime; -extern const struct _mp_obj_module_t mp_module_uselect; extern const struct _mp_obj_module_t mp_module_usocket; extern const struct _mp_obj_module_t mp_module_network; @@ -159,7 +159,6 @@ extern const struct _mp_obj_module_t mp_module_network; { MP_OBJ_NEW_QSTR(MP_QSTR_stm), (mp_obj_t)&stm_module }, \ { MP_OBJ_NEW_QSTR(MP_QSTR_uos), (mp_obj_t)&mp_module_uos }, \ { MP_OBJ_NEW_QSTR(MP_QSTR_utime), (mp_obj_t)&mp_module_utime }, \ - { MP_OBJ_NEW_QSTR(MP_QSTR_uselect), (mp_obj_t)&mp_module_uselect }, \ SOCKET_BUILTIN_MODULE \ NETWORK_BUILTIN_MODULE \ diff --git a/stmhal/portmodules.h b/stmhal/portmodules.h index 173d53cc68..0b460f38c2 100644 --- a/stmhal/portmodules.h +++ b/stmhal/portmodules.h @@ -28,7 +28,6 @@ extern const mp_obj_module_t pyb_module; extern const mp_obj_module_t stm_module; extern const mp_obj_module_t mp_module_uos; extern const mp_obj_module_t mp_module_utime; -extern const mp_obj_module_t mp_module_uselect; extern const mp_obj_module_t mp_module_usocket; // additional helper functions exported by the modules