// (C) 2018-2023 by Folkert van Heusden // Released under MIT license #if defined(ESP32) #include #endif #include #include "memory.h" memory::memory(const uint32_t size) : size(size) { #if defined(ESP32) Serial.print(F("Memory size (in bytes, decimal): ")); Serial.println(size); if (size > 12 * 8192) { Serial.println(F("Using PSRAM")); is_psram = true; m = reinterpret_cast(ps_malloc(size)); reset(); } else { m = new uint8_t[size](); } #else m = new uint8_t[size](); #endif } memory::~memory() { #if defined(ESP32) if (is_psram) free(m); else delete [] m; #else delete [] m; #endif } void memory::reset() { memset(m, 0x00, size); }