فهرست منبع

add:rtos.meminfo支持psrama

Dozingfiretruck 2 سال پیش
والد
کامیت
8c6c2a9cc2
2فایلهای تغییر یافته به همراه12 افزوده شده و 5 حذف شده
  1. 6 4
      luat/modules/luat_lib_rtos.c
  2. 6 1
      luat/weak/luat_mem_weak.c

+ 6 - 4
luat/modules/luat_lib_rtos.c

@@ -263,7 +263,7 @@ static int l_rtos_standy(lua_State *L) {
 /*
 获取内存信息
 @api    rtos.meminfo(type)
-@type   "sys"系统内存, "lua"虚拟机内存, 默认为lua虚拟机内存
+@type   "sys"系统内存, "lua"虚拟机内存,"psram"psram内存, 默认为lua虚拟机内存
 @return int 总内存大小,单位字节
 @return int 当前已使用的内存大小,单位字节
 @return int 历史最高已使用的内存大小,单位字节
@@ -279,13 +279,15 @@ static int l_rtos_meminfo(lua_State *L) {
     size_t max_used = 0;
     const char * str = luaL_optlstring(L, 1, "lua", &len);
     if (strcmp("sys", str) == 0) {
-        //lua_gc(L, LUA_GCCOLLECT, 0);
-        //lua_gc(L, LUA_GCCOLLECT, 0);
-        luat_meminfo_sys(&total, &used, &max_used);
+        luat_meminfo_opt_sys(LUAT_HEAP_SRAM, &total, &used, &max_used);
+    }
+    else if(strcmp("psram", str) == 0){
+        luat_meminfo_opt_sys(LUAT_HEAP_PSRAM, &total, &used, &max_used);
     }
     else {
         luat_meminfo_luavm(&total, &used, &max_used);
     }
+    
     lua_pushinteger(L, total);
     lua_pushinteger(L, used);
     lua_pushinteger(L, max_used);

+ 6 - 1
luat/weak/luat_mem_weak.c

@@ -34,7 +34,12 @@ LUAT_WEAK void* luat_heap_opt_zalloc(LUAT_HEAP_TYPE_E type,size_t size){
 }
 
 LUAT_WEAK void luat_meminfo_opt_sys(LUAT_HEAP_TYPE_E type,size_t* total, size_t* used, size_t* max_used){
-    luat_meminfo_sys(total, used, max_used);
+    if (type == LUAT_HEAP_PSRAM){
+        *total = 0;
+        *used = 0;
+        *max_used = 0;
+    }else
+        luat_meminfo_sys(total, used, max_used);
 }