forked from xiaozhi/xiaozhi-esp32
add lcd touch for esp32-s3-touch-amoled-1.8 (#550)
This commit is contained in:
@@ -21,6 +21,10 @@
|
|||||||
#include "esp_io_expander_tca9554.h"
|
#include "esp_io_expander_tca9554.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
|
#include <esp_lcd_touch_ft5x06.h>
|
||||||
|
#include <esp_lvgl_port.h>
|
||||||
|
#include <lvgl.h>
|
||||||
|
|
||||||
#define TAG "waveshare_amoled_1_8"
|
#define TAG "waveshare_amoled_1_8"
|
||||||
|
|
||||||
LV_FONT_DECLARE(font_puhui_30_4);
|
LV_FONT_DECLARE(font_puhui_30_4);
|
||||||
@@ -252,6 +256,38 @@ private:
|
|||||||
backlight_->RestoreBrightness();
|
backlight_->RestoreBrightness();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InitializeTouch()
|
||||||
|
{
|
||||||
|
esp_lcd_touch_handle_t tp;
|
||||||
|
esp_lcd_touch_config_t tp_cfg = {
|
||||||
|
.x_max = DISPLAY_WIDTH,
|
||||||
|
.y_max = DISPLAY_HEIGHT,
|
||||||
|
.rst_gpio_num = GPIO_NUM_NC,
|
||||||
|
.int_gpio_num = GPIO_NUM_21,
|
||||||
|
.levels = {
|
||||||
|
.reset = 0,
|
||||||
|
.interrupt = 0,
|
||||||
|
},
|
||||||
|
.flags = {
|
||||||
|
.swap_xy = 0,
|
||||||
|
.mirror_x = 0,
|
||||||
|
.mirror_y = 0,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
esp_lcd_panel_io_handle_t tp_io_handle = NULL;
|
||||||
|
esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_FT5x06_CONFIG();
|
||||||
|
tp_io_config.scl_speed_hz = 400 * 1000;
|
||||||
|
ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(codec_i2c_bus_, &tp_io_config, &tp_io_handle));
|
||||||
|
ESP_LOGI(TAG, "Initialize touch controller");
|
||||||
|
ESP_ERROR_CHECK(esp_lcd_touch_new_i2c_ft5x06(tp_io_handle, &tp_cfg, &tp));
|
||||||
|
const lvgl_port_touch_cfg_t touch_cfg = {
|
||||||
|
.disp = lv_display_get_default(),
|
||||||
|
.handle = tp,
|
||||||
|
};
|
||||||
|
lvgl_port_add_touch(&touch_cfg);
|
||||||
|
ESP_LOGI(TAG, "Touch panel initialized successfully");
|
||||||
|
}
|
||||||
|
|
||||||
// 物联网初始化,添加对 AI 可见设备
|
// 物联网初始化,添加对 AI 可见设备
|
||||||
void InitializeIot() {
|
void InitializeIot() {
|
||||||
auto& thing_manager = iot::ThingManager::GetInstance();
|
auto& thing_manager = iot::ThingManager::GetInstance();
|
||||||
@@ -270,6 +306,7 @@ public:
|
|||||||
InitializeAxp2101();
|
InitializeAxp2101();
|
||||||
InitializeSpi();
|
InitializeSpi();
|
||||||
InitializeSH8601Display();
|
InitializeSH8601Display();
|
||||||
|
InitializeTouch();
|
||||||
InitializeButtons();
|
InitializeButtons();
|
||||||
InitializeIot();
|
InitializeIot();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user