diff --git a/src_main/io_devices/pifile.cpp b/src_main/io_devices/pifile.cpp index 8031d170..649453d7 100755 --- a/src_main/io_devices/pifile.cpp +++ b/src_main/io_devices/pifile.cpp @@ -20,11 +20,6 @@ #include "pifile.h" #include "pidir.h" #include "pitime_win.h" -//#ifdef ESP_PLATFORM -//extern "C" { -//# include "esp_spiffs.h" -//} -//#endif #ifdef WINDOWS # undef S_IFDIR # undef S_IFREG @@ -729,7 +724,6 @@ bool PIFile::applyFileInfo(const PIString & path, const PIFile::FileInfo & info) } CloseHandle(hFile); #else -//#ifndef ESP_PLATFORM int mode(0); if (info.perm_user.read) mode |= S_IRUSR; if (info.perm_user.write) mode |= S_IWUSR; @@ -759,7 +753,6 @@ bool PIFile::applyFileInfo(const PIString & path, const PIFile::FileInfo & info) piCout << "[PIFile] applyFileInfo: \"utimes\" error:" << errorString(); //return false; } -//#endif #endif return true; } diff --git a/src_main/system/pisysteminfo.cpp b/src_main/system/pisysteminfo.cpp index 2fb15ff3..dda2995b 100644 --- a/src_main/system/pisysteminfo.cpp +++ b/src_main/system/pisysteminfo.cpp @@ -20,7 +20,6 @@ #include "piincludes_p.h" #ifdef ESP_PLATFORM -# include "esp_heap_caps.h" # include "esp_system.h" # include "esp_spi_flash.h" #endif @@ -37,35 +36,6 @@ PISystemInfo * PISystemInfo::instance() { } -ullong PISystemInfo::totalRAM() { -#ifdef ESP_PLATFORM - multi_heap_info_t heap_info; - memset(&heap_info, 0, sizeof(multi_heap_info_t)); - heap_caps_get_info(&heap_info, MALLOC_CAP_8BIT); - return heap_info.total_allocated_bytes + heap_info.total_free_bytes; -#endif -} - - -ullong PISystemInfo::freeRAM() { -#ifdef ESP_PLATFORM - multi_heap_info_t heap_info; - memset(&heap_info, 0, sizeof(multi_heap_info_t)); - heap_caps_get_info(&heap_info, MALLOC_CAP_8BIT); - return heap_info.total_free_bytes; -#endif -} - - -ullong PISystemInfo::usedRAM() { -#ifdef ESP_PLATFORM - multi_heap_info_t heap_info; - memset(&heap_info, 0, sizeof(multi_heap_info_t)); - heap_caps_get_info(&heap_info, MALLOC_CAP_8BIT); - return heap_info.total_allocated_bytes; -#endif -} - PIStringList PISystemInfo::mountRoots() { PIStringList ret; diff --git a/src_main/system/pisysteminfo.h b/src_main/system/pisysteminfo.h index 86dc5659..ad691caa 100644 --- a/src_main/system/pisysteminfo.h +++ b/src_main/system/pisysteminfo.h @@ -38,7 +38,6 @@ public: }; PIString ifconfigPath, execCommand, hostname, user, OS_name, OS_version, architecture; - ullong RAM_total, RAM_free; PIDateTime execDateTime; int processorsCount; @@ -46,9 +45,6 @@ public: static PIVector mountInfo(); static PISystemInfo * instance(); - static ullong totalRAM(); - static ullong freeRAM(); - static ullong usedRAM(); }; diff --git a/src_main/system/pisystemmonitor.cpp b/src_main/system/pisystemmonitor.cpp index 3c7d111a..85dc9337 100755 --- a/src_main/system/pisystemmonitor.cpp +++ b/src_main/system/pisystemmonitor.cpp @@ -32,6 +32,9 @@ # include # include #endif +#ifdef ESP_PLATFORM +# include "esp_heap_caps.h" +#endif #ifndef FREERTOS @@ -320,7 +323,9 @@ void PISystemMonitor::run() { lock(); cur_ts = cur_tm.values(); unlock(); - + stat.ram_total = totalRAM(); + stat.ram_used = usedRAM(); + stat.ram_free = freeRAM(); makeStrings(); } @@ -390,3 +395,36 @@ float PISystemMonitor::calcThreadUsage(PISystemTime & t_new, PISystemTime & t_ol if (delay_ <= 0) return -1.; return piClampf(100. * ((t_new - t_old).toMilliseconds() / delay_), 0.f, 100.f); } + + +ullong PISystemMonitor::totalRAM() { +#ifdef ESP_PLATFORM + multi_heap_info_t heap_info; + memset(&heap_info, 0, sizeof(multi_heap_info_t)); + heap_caps_get_info(&heap_info, MALLOC_CAP_8BIT); + return heap_info.total_allocated_bytes + heap_info.total_free_bytes; +#endif + return 0; +} + + +ullong PISystemMonitor::freeRAM() { +#ifdef ESP_PLATFORM + multi_heap_info_t heap_info; + memset(&heap_info, 0, sizeof(multi_heap_info_t)); + heap_caps_get_info(&heap_info, MALLOC_CAP_8BIT); + return heap_info.total_free_bytes; +#endif + return 0; +} + + +ullong PISystemMonitor::usedRAM() { +#ifdef ESP_PLATFORM + multi_heap_info_t heap_info; + memset(&heap_info, 0, sizeof(multi_heap_info_t)); + heap_caps_get_info(&heap_info, MALLOC_CAP_8BIT); + return heap_info.total_allocated_bytes; +#endif + return 0; +} diff --git a/src_main/system/pisystemmonitor.h b/src_main/system/pisystemmonitor.h index 68212d5a..26537355 100755 --- a/src_main/system/pisystemmonitor.h +++ b/src_main/system/pisystemmonitor.h @@ -40,11 +40,14 @@ public: int session_ID; int priority; int threads; - ulong physical_memsize; - ulong resident_memsize; - ulong share_memsize; - ulong virtual_memsize; - ulong data_memsize; + ullong physical_memsize; + ullong resident_memsize; + ullong share_memsize; + ullong virtual_memsize; + ullong data_memsize; + ullong ram_total; + ullong ram_free; + ullong ram_used; PIString physical_memsize_readable; PIString resident_memsize_readable; PIString share_memsize_readable; @@ -80,12 +83,18 @@ public: PIVector threadsStatistic() const; void setStatistic(const ProcessStats & s) {stat = s; makeStrings();} + static ullong totalRAM(); + static ullong freeRAM(); + static ullong usedRAM(); + + private: void run(); void makeStrings(); void gatherThread(llong id); float calcThreadUsage(PISystemTime & t_new, PISystemTime & t_old); + ProcessStats stat; PIVector cur_ts; PIMap last_tm, cur_tm;