Clean up RAMAllocators in display related code (#9141)

This commit is contained in:
Jesse Hills 2025-06-19 17:17:08 +12:00 committed by GitHub
parent d4cb4ef994
commit 30bea20f7a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 27 additions and 27 deletions

View File

@ -11,7 +11,7 @@ namespace display {
static const char *const TAG = "display"; static const char *const TAG = "display";
void DisplayBuffer::init_internal_(uint32_t buffer_length) { void DisplayBuffer::init_internal_(uint32_t buffer_length) {
ExternalRAMAllocator<uint8_t> allocator(ExternalRAMAllocator<uint8_t>::ALLOW_FAILURE); RAMAllocator<uint8_t> allocator;
this->buffer_ = allocator.allocate(buffer_length); this->buffer_ = allocator.allocate(buffer_length);
if (this->buffer_ == nullptr) { if (this->buffer_ == nullptr) {
ESP_LOGE(TAG, "Could not allocate buffer for display!"); ESP_LOGE(TAG, "Could not allocate buffer for display!");

View File

@ -67,10 +67,10 @@ class Font
inline int get_height() { return this->height_; } inline int get_height() { return this->height_; }
inline int get_bpp() { return this->bpp_; } inline int get_bpp() { return this->bpp_; }
const std::vector<Glyph, ExternalRAMAllocator<Glyph>> &get_glyphs() const { return glyphs_; } const std::vector<Glyph, RAMAllocator<Glyph>> &get_glyphs() const { return glyphs_; }
protected: protected:
std::vector<Glyph, ExternalRAMAllocator<Glyph>> glyphs_; std::vector<Glyph, RAMAllocator<Glyph>> glyphs_;
int baseline_; int baseline_;
int height_; int height_;
uint8_t bpp_; // bits per pixel uint8_t bpp_; // bits per pixel

View File

@ -57,8 +57,8 @@ void Inkplate6::setup() {
* Allocate buffers. May be called after setup to re-initialise if e.g. greyscale is changed. * Allocate buffers. May be called after setup to re-initialise if e.g. greyscale is changed.
*/ */
void Inkplate6::initialize_() { void Inkplate6::initialize_() {
ExternalRAMAllocator<uint8_t> allocator(ExternalRAMAllocator<uint8_t>::ALLOW_FAILURE); RAMAllocator<uint8_t> allocator;
ExternalRAMAllocator<uint32_t> allocator32(ExternalRAMAllocator<uint32_t>::ALLOW_FAILURE); RAMAllocator<uint32_t> allocator32;
uint32_t buffer_size = this->get_buffer_length_(); uint32_t buffer_size = this->get_buffer_length_();
if (buffer_size == 0) if (buffer_size == 0)
return; return;

View File

@ -1,8 +1,8 @@
#include "nextion.h" #include "nextion.h"
#include "esphome/core/util.h"
#include "esphome/core/log.h"
#include "esphome/core/application.h"
#include <cinttypes> #include <cinttypes>
#include "esphome/core/application.h"
#include "esphome/core/log.h"
#include "esphome/core/util.h"
namespace esphome { namespace esphome {
namespace nextion { namespace nextion {
@ -1003,7 +1003,7 @@ void Nextion::add_no_result_to_queue_(const std::string &variable_name) {
} }
#endif #endif
ExternalRAMAllocator<nextion::NextionQueue> allocator(ExternalRAMAllocator<nextion::NextionQueue>::ALLOW_FAILURE); RAMAllocator<nextion::NextionQueue> allocator;
nextion::NextionQueue *nextion_queue = allocator.allocate(1); nextion::NextionQueue *nextion_queue = allocator.allocate(1);
if (nextion_queue == nullptr) { if (nextion_queue == nullptr) {
ESP_LOGW(TAG, "Queue alloc failed"); ESP_LOGW(TAG, "Queue alloc failed");
@ -1159,7 +1159,7 @@ void Nextion::add_to_get_queue(NextionComponentBase *component) {
} }
#endif #endif
ExternalRAMAllocator<nextion::NextionQueue> allocator(ExternalRAMAllocator<nextion::NextionQueue>::ALLOW_FAILURE); RAMAllocator<nextion::NextionQueue> allocator;
nextion::NextionQueue *nextion_queue = allocator.allocate(1); nextion::NextionQueue *nextion_queue = allocator.allocate(1);
if (nextion_queue == nullptr) { if (nextion_queue == nullptr) {
ESP_LOGW(TAG, "Queue alloc failed"); ESP_LOGW(TAG, "Queue alloc failed");
@ -1191,7 +1191,7 @@ void Nextion::add_addt_command_to_queue(NextionComponentBase *component) {
if ((!this->is_setup() && !this->ignore_is_setup_) || this->is_sleeping()) if ((!this->is_setup() && !this->ignore_is_setup_) || this->is_sleeping())
return; return;
ExternalRAMAllocator<nextion::NextionQueue> allocator(ExternalRAMAllocator<nextion::NextionQueue>::ALLOW_FAILURE); RAMAllocator<nextion::NextionQueue> allocator;
nextion::NextionQueue *nextion_queue = allocator.allocate(1); nextion::NextionQueue *nextion_queue = allocator.allocate(1);
if (nextion_queue == nullptr) { if (nextion_queue == nullptr) {
ESP_LOGW(TAG, "Queue alloc failed"); ESP_LOGW(TAG, "Queue alloc failed");

View File

@ -3,12 +3,12 @@
#ifdef USE_NEXTION_TFT_UPLOAD #ifdef USE_NEXTION_TFT_UPLOAD
#ifdef USE_ARDUINO #ifdef USE_ARDUINO
#include <cinttypes>
#include "esphome/components/network/util.h"
#include "esphome/core/application.h" #include "esphome/core/application.h"
#include "esphome/core/defines.h" #include "esphome/core/defines.h"
#include "esphome/core/util.h"
#include "esphome/core/log.h" #include "esphome/core/log.h"
#include "esphome/components/network/util.h" #include "esphome/core/util.h"
#include <cinttypes>
#ifdef USE_ESP32 #ifdef USE_ESP32
#include <esp_heap_caps.h> #include <esp_heap_caps.h>
@ -52,7 +52,7 @@ int Nextion::upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start) {
} }
// Allocate the buffer dynamically // Allocate the buffer dynamically
ExternalRAMAllocator<uint8_t> allocator(ExternalRAMAllocator<uint8_t>::ALLOW_FAILURE); RAMAllocator<uint8_t> allocator;
uint8_t *buffer = allocator.allocate(4096); uint8_t *buffer = allocator.allocate(4096);
if (!buffer) { if (!buffer) {
ESP_LOGE(TAG, "Buffer alloc failed"); ESP_LOGE(TAG, "Buffer alloc failed");

View File

@ -3,14 +3,14 @@
#ifdef USE_NEXTION_TFT_UPLOAD #ifdef USE_NEXTION_TFT_UPLOAD
#ifdef USE_ESP_IDF #ifdef USE_ESP_IDF
#include "esphome/core/application.h"
#include "esphome/core/defines.h"
#include "esphome/core/util.h"
#include "esphome/core/log.h"
#include "esphome/components/network/util.h"
#include <cinttypes>
#include <esp_heap_caps.h> #include <esp_heap_caps.h>
#include <esp_http_client.h> #include <esp_http_client.h>
#include <cinttypes>
#include "esphome/components/network/util.h"
#include "esphome/core/application.h"
#include "esphome/core/defines.h"
#include "esphome/core/log.h"
#include "esphome/core/util.h"
namespace esphome { namespace esphome {
namespace nextion { namespace nextion {
@ -51,7 +51,7 @@ int Nextion::upload_by_chunks_(esp_http_client_handle_t http_client, uint32_t &r
} }
// Allocate the buffer dynamically // Allocate the buffer dynamically
ExternalRAMAllocator<uint8_t> allocator(ExternalRAMAllocator<uint8_t>::ALLOW_FAILURE); RAMAllocator<uint8_t> allocator;
uint8_t *buffer = allocator.allocate(4096); uint8_t *buffer = allocator.allocate(4096);
if (!buffer) { if (!buffer) {
ESP_LOGE(TAG, "Buffer alloc failed"); ESP_LOGE(TAG, "Buffer alloc failed");

View File

@ -1,9 +1,9 @@
#include "waveshare_epaper.h" #include "waveshare_epaper.h"
#include <bitset>
#include <cinttypes>
#include "esphome/core/application.h" #include "esphome/core/application.h"
#include "esphome/core/helpers.h" #include "esphome/core/helpers.h"
#include "esphome/core/log.h" #include "esphome/core/log.h"
#include <cinttypes>
#include <bitset>
namespace esphome { namespace esphome {
namespace waveshare_epaper { namespace waveshare_epaper {
@ -185,7 +185,7 @@ void WaveshareEPaper7C::setup() {
this->initialize(); this->initialize();
} }
void WaveshareEPaper7C::init_internal_7c_(uint32_t buffer_length) { void WaveshareEPaper7C::init_internal_7c_(uint32_t buffer_length) {
ExternalRAMAllocator<uint8_t> allocator(ExternalRAMAllocator<uint8_t>::ALLOW_FAILURE); RAMAllocator<uint8_t> allocator;
uint32_t small_buffer_length = buffer_length / NUM_BUFFERS; uint32_t small_buffer_length = buffer_length / NUM_BUFFERS;
for (int i = 0; i < NUM_BUFFERS; i++) { for (int i = 0; i < NUM_BUFFERS; i++) {
@ -2054,7 +2054,7 @@ void GDEW029T5::initialize() {
this->deep_sleep_between_updates_ = true; this->deep_sleep_between_updates_ = true;
// old buffer for partial update // old buffer for partial update
ExternalRAMAllocator<uint8_t> allocator(ExternalRAMAllocator<uint8_t>::ALLOW_FAILURE); RAMAllocator<uint8_t> allocator;
this->old_buffer_ = allocator.allocate(this->get_buffer_length_()); this->old_buffer_ = allocator.allocate(this->get_buffer_length_());
if (this->old_buffer_ == nullptr) { if (this->old_buffer_ == nullptr) {
ESP_LOGE(TAG, "Could not allocate old buffer for display!"); ESP_LOGE(TAG, "Could not allocate old buffer for display!");
@ -2199,7 +2199,7 @@ void GDEW029T5::dump_config() {
void GDEW0154M09::initialize() { void GDEW0154M09::initialize() {
this->init_internal_(); this->init_internal_();
ExternalRAMAllocator<uint8_t> allocator(ExternalRAMAllocator<uint8_t>::ALLOW_FAILURE); RAMAllocator<uint8_t> allocator;
this->lastbuff_ = allocator.allocate(this->get_buffer_length_()); this->lastbuff_ = allocator.allocate(this->get_buffer_length_());
if (this->lastbuff_ != nullptr) { if (this->lastbuff_ != nullptr) {
memset(this->lastbuff_, 0xff, sizeof(uint8_t) * this->get_buffer_length_()); memset(this->lastbuff_, 0xff, sizeof(uint8_t) * this->get_buffer_length_());