2025-02-16 06:38:47 -05:00

27 lines
778 B
C++

#include "panel.h"
Panel::Panel(IPanelDevice &device) :
device_(&device),
esp_io_handle_(nullptr),
esp_panel_(nullptr),
esp_panel_config_(
(esp_lcd_panel_dev_config_t) {
.reset_gpio_num = device_->rst_num_,
.bits_per_pixel = 1,
.vendor_config = device_->vendor_config(),
}
)
{
esp_io_handle_ = device_->create_io_handle();
device_->create_panel(esp_panel_config_, esp_io_handle_, esp_panel_);
ESP_LOGI(TAG, "Resetting panel display");
ESP_ERROR_CHECK(esp_lcd_panel_reset(esp_panel_));
ESP_LOGI(TAG, "Initializing panel display");
ESP_ERROR_CHECK(esp_lcd_panel_init(esp_panel_));
ESP_LOGI(TAG, "Turning on panel display");
ESP_ERROR_CHECK(esp_lcd_panel_disp_on_off(esp_panel_, true));
}