51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
#include "dzbj_init.h"
|
||
#include "dzbj_gpio.h"
|
||
#include "lcd.h"
|
||
#include "pages_pwm.h"
|
||
#include "ui/ui.h"
|
||
#include "freertos/FreeRTOS.h"
|
||
#include "freertos/task.h"
|
||
#include "esp_log.h"
|
||
|
||
#define TAG "DZBJ"
|
||
|
||
// 仅硬件+LVGL 初始化(不加载 SquareLine UI,不点亮背光)
|
||
void dzbj_hw_display_init(i2c_master_bus_handle_t i2c_bus) {
|
||
ESP_LOGI(TAG, "开始初始化显示硬件...");
|
||
|
||
// 1. LCD 硬件初始化(QSPI ST77916)
|
||
lcd_init();
|
||
ESP_LOGI(TAG, "LCD 硬件初始化完成");
|
||
|
||
#if DZBJ_ENABLE_TOUCH
|
||
// 2. 传入 I2C 总线句柄(与音频编解码器共享)
|
||
lcd_set_i2c_bus(i2c_bus);
|
||
|
||
// 3. 触摸控制器初始化(CST816S)
|
||
touch_init();
|
||
#else
|
||
(void)i2c_bus;
|
||
ESP_LOGI(TAG, "屏幕触摸已禁用 (DZBJ_ENABLE_TOUCH=0)");
|
||
#endif
|
||
|
||
// 4. LVGL 初始化(显示)
|
||
lvgl_lcd_init();
|
||
ESP_LOGI(TAG, "LVGL 初始化完成");
|
||
}
|
||
|
||
// 完整初始化(硬件+LVGL + SquareLine UI + 背光)
|
||
void dzbj_display_init(i2c_master_bus_handle_t i2c_bus) {
|
||
dzbj_hw_display_init(i2c_bus);
|
||
|
||
// SquareLine UI 初始化
|
||
ui_init();
|
||
ESP_LOGI(TAG, "UI 初始化完成");
|
||
|
||
// 等待首帧渲染完成
|
||
vTaskDelay(pdMS_TO_TICKS(100));
|
||
|
||
// 点亮背光
|
||
pwm_init();
|
||
ESP_LOGI(TAG, "背光已点亮,dzbj 显示模块初始化完成");
|
||
}
|