summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-04-11 01:16:38 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-04-11 01:16:38 +0300
commit1cc81ed449fe51c787d002e786cd5afe5c632f97 (patch)
treef9c39bc9242dea9178f9e76b060f285e7cf0c4ed /esp8266
parentc734de490a03927dfb244224aec90d333606a3ef (diff)
downloadmicropython-1cc81ed449fe51c787d002e786cd5afe5c632f97.tar.gz
micropython-1cc81ed449fe51c787d002e786cd5afe5c632f97.zip
esp8266/modesp: Add freemem() and meminfo() functions.
They call into vendor SDK functions system_get_free_heap_size() and system_print_meminfo() respectively.
Diffstat (limited to 'esp8266')
-rw-r--r--esp8266/modesp.c13
-rw-r--r--esp8266/qstrdefsport.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/esp8266/modesp.c b/esp8266/modesp.c
index 3a82cc1f20..83d0c4a11f 100644
--- a/esp8266/modesp.c
+++ b/esp8266/modesp.c
@@ -617,6 +617,17 @@ STATIC mp_obj_t esp_neopixel_write_(mp_obj_t pin, mp_obj_t buf, mp_obj_t is800k)
}
STATIC MP_DEFINE_CONST_FUN_OBJ_3(esp_neopixel_write_obj, esp_neopixel_write_);
+STATIC mp_obj_t esp_freemem() {
+ return MP_OBJ_NEW_SMALL_INT(system_get_free_heap_size());
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_freemem_obj, esp_freemem);
+
+STATIC mp_obj_t esp_meminfo() {
+ system_print_meminfo();
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_meminfo_obj, esp_meminfo);
+
STATIC const mp_map_elem_t esp_module_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_esp) },
@@ -632,6 +643,8 @@ STATIC const mp_map_elem_t esp_module_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_getaddrinfo), (mp_obj_t)&esp_getaddrinfo_obj },
#endif
{ MP_OBJ_NEW_QSTR(MP_QSTR_neopixel_write), (mp_obj_t)&esp_neopixel_write_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_freemem), (mp_obj_t)&esp_freemem_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_meminfo), (mp_obj_t)&esp_meminfo_obj },
#if MODESP_INCLUDE_CONSTANTS
{ MP_OBJ_NEW_QSTR(MP_QSTR_SLEEP_NONE),
diff --git a/esp8266/qstrdefsport.h b/esp8266/qstrdefsport.h
index df9c2fb4fd..1819395fa4 100644
--- a/esp8266/qstrdefsport.h
+++ b/esp8266/qstrdefsport.h
@@ -69,6 +69,8 @@ Q(flash_read)
Q(flash_write)
Q(flash_erase)
Q(sdk_version)
+Q(freemem)
+Q(meminfo)
Q(getaddrinfo)
Q(send)
Q(sendto)