@@ -617,6 +617,17 @@ STATIC mp_obj_t esp_neopixel_write_(mp_obj_t pin, mp_obj_t buf, mp_obj_t is800k)
617617}
618618STATIC MP_DEFINE_CONST_FUN_OBJ_3 (esp_neopixel_write_obj , esp_neopixel_write_ );
619619
620+ STATIC mp_obj_t esp_freemem () {
621+ return MP_OBJ_NEW_SMALL_INT (system_get_free_heap_size ());
622+ }
623+ STATIC MP_DEFINE_CONST_FUN_OBJ_0 (esp_freemem_obj , esp_freemem );
624+
625+ STATIC mp_obj_t esp_meminfo () {
626+ system_print_meminfo ();
627+ return mp_const_none ;
628+ }
629+ STATIC MP_DEFINE_CONST_FUN_OBJ_0 (esp_meminfo_obj , esp_meminfo );
630+
620631STATIC const mp_map_elem_t esp_module_globals_table [] = {
621632 { MP_OBJ_NEW_QSTR (MP_QSTR___name__ ), MP_OBJ_NEW_QSTR (MP_QSTR_esp ) },
622633
@@ -632,6 +643,8 @@ STATIC const mp_map_elem_t esp_module_globals_table[] = {
632643 { MP_OBJ_NEW_QSTR (MP_QSTR_getaddrinfo ), (mp_obj_t )& esp_getaddrinfo_obj },
633644 #endif
634645 { MP_OBJ_NEW_QSTR (MP_QSTR_neopixel_write ), (mp_obj_t )& esp_neopixel_write_obj },
646+ { MP_OBJ_NEW_QSTR (MP_QSTR_freemem ), (mp_obj_t )& esp_freemem_obj },
647+ { MP_OBJ_NEW_QSTR (MP_QSTR_meminfo ), (mp_obj_t )& esp_meminfo_obj },
635648
636649#if MODESP_INCLUDE_CONSTANTS
637650 { MP_OBJ_NEW_QSTR (MP_QSTR_SLEEP_NONE ),
0 commit comments