| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #include "ClassLogFile.h"
- #include "esp_heap_caps.h"
- static const char* TAG = "PSRAM";
- using namespace std;
- void *malloc_psram_heap(std::string name, size_t size, uint32_t caps) {
- void *ptr;
- ptr = heap_caps_malloc(size, caps);
- if (ptr != NULL) {
- LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Allocated " + to_string(size) + " bytes in PSRAM for '" + name + "'");
- }
- else {
- LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to allocate " + to_string(size) + " bytes in PSRAM for '" + name + "'!");
- }
- return ptr;
- }
- void *calloc_psram_heap(std::string name, size_t n, size_t size, uint32_t caps) {
- void *ptr;
- ptr = heap_caps_calloc(n, size, caps);
- if (ptr != NULL) {
- LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Allocated " + to_string(size) + " bytes in PSRAM for '" + name + "'");
- }
- else {
- LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "Failed to allocate " + to_string(size) + " bytes in PSRAM for '" + name + "'!");
- }
- return ptr;
- }
- void free_psram_heap(std::string name, void *ptr) {
- LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Freeing memory in PSRAM used for '" + name + "'...");
- heap_caps_free(ptr);
- }
|