summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-07-03 12:55:57 +1000
committerDamien George <damien.p.george@gmail.com>2019-07-03 12:55:57 +1000
commitef00048fed079c922a4e2bc9ce854cc3824e2bfc (patch)
tree05ab4e7b127c9959eec6ae31ce149358d5781772
parentfa2c7ece8f0c48cab77098f8f4ffe940c459dfee (diff)
extmod/modwebrepl: Add config option to put filebuf[512] on stack/bss.
Since the esp8266 has a small stack this buffer is kept in the BSS.
-rw-r--r--extmod/modwebrepl.c6
-rw-r--r--ports/esp8266/mpconfigport.h1
2 files changed, 6 insertions, 1 deletions
diff --git a/extmod/modwebrepl.c b/extmod/modwebrepl.c
index 3c0cfe72f..c92d1dc1b 100644
--- a/extmod/modwebrepl.c
+++ b/extmod/modwebrepl.c
@@ -245,7 +245,11 @@ STATIC mp_uint_t _webrepl_read(mp_obj_t self_in, void *buf, mp_uint_t size, int
}
if (self->data_to_recv != 0) {
- static byte filebuf[512];
+ // Ports that don't have much available stack can make this filebuf static
+ #if MICROPY_PY_WEBREPL_STATIC_FILEBUF
+ static
+ #endif
+ byte filebuf[512];
filebuf[0] = *(byte*)buf;
mp_uint_t buf_sz = 1;
if (--self->data_to_recv != 0) {
diff --git a/ports/esp8266/mpconfigport.h b/ports/esp8266/mpconfigport.h
index 03be59b06..3bf822028 100644
--- a/ports/esp8266/mpconfigport.h
+++ b/ports/esp8266/mpconfigport.h
@@ -90,6 +90,7 @@
#define MICROPY_PY_UWEBSOCKET (1)
#define MICROPY_PY_WEBREPL (1)
#define MICROPY_PY_WEBREPL_DELAY (20)
+#define MICROPY_PY_WEBREPL_STATIC_FILEBUF (1)
#define MICROPY_PY_FRAMEBUF (1)
#define MICROPY_PY_MICROPYTHON_MEM_INFO (1)
#define MICROPY_PY_OS_DUPTERM (2)