This commit is contained in:
2026-09-12 03:40:10 +02:00
parent 029ceee69a
commit 8ac465229c
20 changed files with 220 additions and 422 deletions

View File

@@ -1,6 +1,3 @@
/*
* MTG RFID Companion - ST7789 display manager with LVGL (ponytail: native library)
*/
#include "esp_log.h"
#include "esp_lcd_panel_io.h"
@@ -27,6 +24,21 @@ esp_err_t display_manager_init(void)
return ESP_OK;
}
/* ponytail: native SPI bus init directly in display manager */
spi_bus_config_t buscfg = {
.sclk_io_num = HW_SPI_SCK_GPIO,
.mosi_io_num = HW_SPI_MOSI_GPIO,
.miso_io_num = HW_SPI_MISO_GPIO,
.quadwp_io_num = -1,
.quadhd_io_num = -1,
.max_transfer_sz = 240 * 80 * sizeof(uint16_t),
};
esp_err_t ret = spi_bus_initialize(LCD_HOST, &buscfg, SPI_DMA_CH_AUTO);
if (ret != ESP_OK && ret != ESP_ERR_INVALID_STATE) {
ESP_LOGE(TAG, "spi_bus_initialize failed: %s", esp_err_to_name(ret));
return ret;
}
/* 1. Initialize ST7789 panel via esp_lcd */
esp_lcd_panel_io_handle_t io = NULL;
esp_lcd_panel_io_spi_config_t io_config = {
@@ -38,7 +50,7 @@ esp_err_t display_manager_init(void)
.spi_mode = 0,
.trans_queue_depth = 10,
};
esp_err_t ret = esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)LCD_HOST, &io_config, &io);
ret = esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)LCD_HOST, &io_config, &io);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "panel io init failed: %s", esp_err_to_name(ret));
return ret;