summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDave Hylands <dhylands@gmail.com>2016-10-04 22:10:44 -0700
committerDamien George <damien.p.george@gmail.com>2016-10-06 11:47:45 +1100
commitc08f50bcf7740885863224509d56229d55ac1193 (patch)
treec2d116d618e8cd0d64796819a87ede193ca4fa4a
parent7f19b1c3eb488a8466fd1fca0530dba6a02d9f1a (diff)
downloadmicropython-c08f50bcf7740885863224509d56229d55ac1193.tar.gz
micropython-c08f50bcf7740885863224509d56229d55ac1193.zip
stmhal: Disable network and usocket for ESPRUINO_PICO
-rw-r--r--stmhal/boards/ESPRUINO_PICO/mpconfigboard.h3
-rw-r--r--stmhal/main.c2
-rw-r--r--stmhal/modnetwork.c4
-rw-r--r--stmhal/modusocket.c4
-rw-r--r--stmhal/mpconfigport.h34
5 files changed, 41 insertions, 6 deletions
diff --git a/stmhal/boards/ESPRUINO_PICO/mpconfigboard.h b/stmhal/boards/ESPRUINO_PICO/mpconfigboard.h
index 0da57b6078..885cedc893 100644
--- a/stmhal/boards/ESPRUINO_PICO/mpconfigboard.h
+++ b/stmhal/boards/ESPRUINO_PICO/mpconfigboard.h
@@ -2,6 +2,9 @@
#define MICROPY_HW_MCU_NAME "STM32F401CD"
#define MICROPY_PY_SYS_PLATFORM "pyboard"
+#define MICROPY_PY_USOCKET (0)
+#define MICROPY_PY_NETWORK (0)
+
#define MICROPY_HW_HAS_SWITCH (1)
#define MICROPY_HW_HAS_FLASH (1)
#define MICROPY_HW_HAS_SDCARD (0)
diff --git a/stmhal/main.c b/stmhal/main.c
index e7fff69d9b..f39a86b7ae 100644
--- a/stmhal/main.c
+++ b/stmhal/main.c
@@ -586,7 +586,9 @@ soft_reset:
dac_init();
#endif
+#if MICROPY_PY_NETWORK
mod_network_init();
+#endif
// At this point everything is fully configured and initialised.
diff --git a/stmhal/modnetwork.c b/stmhal/modnetwork.c
index 1ea224cbfc..c15bfc7b24 100644
--- a/stmhal/modnetwork.c
+++ b/stmhal/modnetwork.c
@@ -33,6 +33,8 @@
#include "py/runtime.h"
#include "modnetwork.h"
+#if MICROPY_PY_NETWORK
+
/// \module network - network configuration
///
/// This module provides network drivers and routing configuration.
@@ -88,3 +90,5 @@ const mp_obj_module_t mp_module_network = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_network_globals,
};
+
+#endif // MICROPY_PY_NETWORK
diff --git a/stmhal/modusocket.c b/stmhal/modusocket.c
index 36f149c450..30536bc156 100644
--- a/stmhal/modusocket.c
+++ b/stmhal/modusocket.c
@@ -35,6 +35,8 @@
#include "netutils.h"
#include "modnetwork.h"
+#if MICROPY_PY_USOCKET
+
/******************************************************************************/
// socket class
@@ -446,3 +448,5 @@ const mp_obj_module_t mp_module_usocket = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&mp_module_usocket_globals,
};
+
+#endif // MICROPY_PY_USOCKET
diff --git a/stmhal/mpconfigport.h b/stmhal/mpconfigport.h
index aff13f329b..ef02cbf927 100644
--- a/stmhal/mpconfigport.h
+++ b/stmhal/mpconfigport.h
@@ -28,6 +28,9 @@
#ifndef __INCLUDED_MPCONFIGPORT_H
#define __INCLUDED_MPCONFIGPORT_H
+// board specific definitions
+#include "mpconfigboard.h"
+
// options to control how Micro Python is built
#define MICROPY_ALLOC_PATH_MAX (128)
@@ -97,6 +100,14 @@
#define MICROPY_PY_MACHINE_SPI_MIN_DELAY (0)
#define MICROPY_PY_FRAMEBUF (1)
+#ifndef MICROPY_PY_USOCKET
+#define MICROPY_PY_USOCKET (1)
+#endif
+
+#ifndef MICROPY_PY_NETWORK
+#define MICROPY_PY_NETWORK (1)
+#endif
+
#define MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF (1)
#define MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE (0)
@@ -122,6 +133,20 @@ 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;
+#if MICROPY_PY_USOCKET
+#define SOCKET_BUILTIN_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_usocket), (mp_obj_t)&mp_module_usocket },
+#define SOCKET_BUILTIN_MODULE_WEAK_LINKS { MP_OBJ_NEW_QSTR(MP_QSTR_socket), (mp_obj_t)&mp_module_usocket },
+#else
+#define SOCKET_BUILTIN_MODULE
+#define SOCKET_BUILTIN_MODULE_WEAK_LINKS
+#endif
+
+#if MICROPY_PY_NETWORK
+#define NETWORK_BUILTIN_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_network), (mp_obj_t)&mp_module_network },
+#else
+#define NETWORK_BUILTIN_MODULE
+#endif
+
#define MICROPY_PORT_BUILTIN_MODULES \
{ MP_OBJ_NEW_QSTR(MP_QSTR_umachine), (mp_obj_t)&machine_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_pyb), (mp_obj_t)&pyb_module }, \
@@ -129,8 +154,8 @@ extern const struct _mp_obj_module_t mp_module_network;
{ 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 }, \
- { MP_OBJ_NEW_QSTR(MP_QSTR_usocket), (mp_obj_t)&mp_module_usocket }, \
- { MP_OBJ_NEW_QSTR(MP_QSTR_network), (mp_obj_t)&mp_module_network }, \
+ SOCKET_BUILTIN_MODULE \
+ NETWORK_BUILTIN_MODULE \
#define MICROPY_PORT_BUILTIN_MODULE_WEAK_LINKS \
{ MP_OBJ_NEW_QSTR(MP_QSTR_binascii), (mp_obj_t)&mp_module_ubinascii }, \
@@ -142,7 +167,7 @@ extern const struct _mp_obj_module_t mp_module_network;
{ MP_OBJ_NEW_QSTR(MP_QSTR_os), (mp_obj_t)&mp_module_uos }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_time), (mp_obj_t)&mp_module_utime }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_select), (mp_obj_t)&mp_module_uselect }, \
- { MP_OBJ_NEW_QSTR(MP_QSTR_socket), (mp_obj_t)&mp_module_usocket }, \
+ SOCKET_BUILTIN_MODULE_WEAK_LINKS \
{ MP_OBJ_NEW_QSTR(MP_QSTR_struct), (mp_obj_t)&mp_module_ustruct }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_machine), (mp_obj_t)&machine_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_errno), (mp_obj_t)&mp_module_uerrno }, \
@@ -244,9 +269,6 @@ static inline mp_uint_t disable_irq(void) {
#define USE_DEVICE_MODE
//#define USE_HOST_MODE
-// board specific definitions
-#include "mpconfigboard.h"
-
// We need to provide a declaration/definition of alloca()
#include <alloca.h>