Fixes
This commit is contained in:
parent
36d210e1e2
commit
efde86778b
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -14,5 +14,6 @@
|
|||||||
"--background-index",
|
"--background-index",
|
||||||
"--query-driver=/home/thomas/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107/riscv32-esp-elf/bin/riscv32-esp-elf-gcc",
|
"--query-driver=/home/thomas/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107/riscv32-esp-elf/bin/riscv32-esp-elf-gcc",
|
||||||
"--compile-commands-dir=/home/thomas/projekte/test1/display/build"
|
"--compile-commands-dir=/home/thomas/projekte/test1/display/build"
|
||||||
]
|
],
|
||||||
|
"idf.flashType": "UART"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,19 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
|
espressif/button:
|
||||||
|
component_hash:
|
||||||
|
fccb18c37f1cfe0797b74a53a44d3f400f5fd01f4993b40052dfb7f401915089
|
||||||
|
dependencies:
|
||||||
|
- name: espressif/cmake_utilities
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: '*'
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=4.0'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
version: 4.1.5
|
||||||
espressif/cmake_utilities:
|
espressif/cmake_utilities:
|
||||||
component_hash:
|
component_hash:
|
||||||
351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f
|
351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f
|
||||||
@ -36,6 +51,100 @@ dependencies:
|
|||||||
registry_url: https://components.espressif.com/
|
registry_url: https://components.espressif.com/
|
||||||
type: service
|
type: service
|
||||||
version: 1.2.0~1
|
version: 1.2.0~1
|
||||||
|
espressif/esp_lv_decoder:
|
||||||
|
component_hash:
|
||||||
|
0eb7b2bceaf73484ef80f5004337ee31617b2450a3d40621812998a47e7dd349
|
||||||
|
dependencies:
|
||||||
|
- name: espressif/esp_new_jpeg
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: 0.*
|
||||||
|
- name: espressif/libpng
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: 1.*
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=5.3'
|
||||||
|
- name: lvgl/lvgl
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: '>=8,<10'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
targets:
|
||||||
|
- esp32
|
||||||
|
- esp32s2
|
||||||
|
- esp32s3
|
||||||
|
- esp32p4
|
||||||
|
- esp32c2
|
||||||
|
- esp32c3
|
||||||
|
- esp32c5
|
||||||
|
- esp32c6
|
||||||
|
version: 0.3.2
|
||||||
|
espressif/esp_lv_fs:
|
||||||
|
component_hash:
|
||||||
|
66896007884b817df34c964f9a114fff538ee2674e99fee7159162498b93f94b
|
||||||
|
dependencies:
|
||||||
|
- name: espressif/cmake_utilities
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: 0.*
|
||||||
|
- name: espressif/esp_mmap_assets
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: '>=1.2'
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=4.4'
|
||||||
|
- name: lvgl/lvgl
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: '>=8,<10'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
version: 1.0.1
|
||||||
|
espressif/esp_lvgl_adapter:
|
||||||
|
component_hash:
|
||||||
|
4ba6ad754b2533cb582bff81ba672ea7a682f4724a02327e57f96e9c73d330c2
|
||||||
|
dependencies:
|
||||||
|
- name: espressif/button
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: public
|
||||||
|
version: 4.*
|
||||||
|
- name: espressif/esp_lcd_touch
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: public
|
||||||
|
version: 1.*
|
||||||
|
- name: espressif/esp_lv_decoder
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: public
|
||||||
|
version: 0.*
|
||||||
|
- name: espressif/esp_lv_fs
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: public
|
||||||
|
version: 1.*
|
||||||
|
- name: espressif/freetype
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: public
|
||||||
|
version: 2.*
|
||||||
|
- name: espressif/knob
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: public
|
||||||
|
version: 1.*
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=5.5'
|
||||||
|
- name: lvgl/lvgl
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: '>=8,<10'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com/
|
||||||
|
type: service
|
||||||
|
version: 0.3.0
|
||||||
espressif/esp_lvgl_port:
|
espressif/esp_lvgl_port:
|
||||||
component_hash:
|
component_hash:
|
||||||
f872401524cb645ee6ff1c9242d44fb4ddcfd4d37d7be8b9ed3f4e85a404efcd
|
f872401524cb645ee6ff1c9242d44fb4ddcfd4d37d7be8b9ed3f4e85a404efcd
|
||||||
@ -51,6 +160,49 @@ dependencies:
|
|||||||
registry_url: https://components.espressif.com/
|
registry_url: https://components.espressif.com/
|
||||||
type: service
|
type: service
|
||||||
version: 2.7.0
|
version: 2.7.0
|
||||||
|
espressif/esp_mmap_assets:
|
||||||
|
component_hash:
|
||||||
|
91d785326b03db15e2f7f1314d8c976d38f21aa5759b570dcbbc89bcf247fd27
|
||||||
|
dependencies:
|
||||||
|
- name: espressif/cmake_utilities
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: 0.*
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=5.0'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
version: 1.4.0
|
||||||
|
espressif/esp_new_jpeg:
|
||||||
|
component_hash:
|
||||||
|
e6af208a875abd0ecfc0213d3751a11b504b463ebde6930f24096047925fa5c1
|
||||||
|
dependencies: []
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
targets:
|
||||||
|
- esp32
|
||||||
|
- esp32s2
|
||||||
|
- esp32s3
|
||||||
|
- esp32p4
|
||||||
|
- esp32c2
|
||||||
|
- esp32c3
|
||||||
|
- esp32c5
|
||||||
|
- esp32c6
|
||||||
|
version: 0.6.1
|
||||||
|
espressif/freetype:
|
||||||
|
component_hash:
|
||||||
|
cd5e2d8458e6e8d73f1120ac474467cabb669d8ea4b25050bf6a348c1e89225e
|
||||||
|
dependencies:
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=4.4'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
version: 2.13.3~1
|
||||||
espressif/i2c_bus:
|
espressif/i2c_bus:
|
||||||
component_hash:
|
component_hash:
|
||||||
4e990dc11734316186b489b362c61d41f23f79d58bc169795cec215e528cba14
|
4e990dc11734316186b489b362c61d41f23f79d58bc169795cec215e528cba14
|
||||||
@ -66,6 +218,47 @@ dependencies:
|
|||||||
registry_url: https://components.espressif.com
|
registry_url: https://components.espressif.com
|
||||||
type: service
|
type: service
|
||||||
version: 1.5.0
|
version: 1.5.0
|
||||||
|
espressif/knob:
|
||||||
|
component_hash:
|
||||||
|
138ed090b4c9090a0a678f695b9d1884b368130c729b7333ed35bd7f4e8da80e
|
||||||
|
dependencies:
|
||||||
|
- name: espressif/cmake_utilities
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: 0.*
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=4.4.1'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
version: 1.0.2
|
||||||
|
espressif/libpng:
|
||||||
|
component_hash:
|
||||||
|
6eb993575e30da281faa37cecda2338ccf6d11dbd12234937758278d1c78b4fd
|
||||||
|
dependencies:
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=5.0'
|
||||||
|
- name: espressif/zlib
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
require: private
|
||||||
|
version: ^1.2.13
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
version: 1.6.52
|
||||||
|
espressif/zlib:
|
||||||
|
component_hash:
|
||||||
|
d901723af51f13fc8e5824f39f32239c847956e8fd951a05266588dc5cfbb9ae
|
||||||
|
dependencies:
|
||||||
|
- name: idf
|
||||||
|
require: private
|
||||||
|
version: '>=4.4'
|
||||||
|
source:
|
||||||
|
registry_url: https://components.espressif.com
|
||||||
|
type: service
|
||||||
|
version: 1.3.1
|
||||||
idf:
|
idf:
|
||||||
source:
|
source:
|
||||||
type: idf
|
type: idf
|
||||||
@ -101,10 +294,11 @@ dependencies:
|
|||||||
version: 1.0.4
|
version: 1.0.4
|
||||||
direct_dependencies:
|
direct_dependencies:
|
||||||
- espressif/esp_lcd_touch_gt911
|
- espressif/esp_lcd_touch_gt911
|
||||||
|
- espressif/esp_lvgl_adapter
|
||||||
- espressif/esp_lvgl_port
|
- espressif/esp_lvgl_port
|
||||||
- idf
|
- idf
|
||||||
- lvgl/lvgl
|
- lvgl/lvgl
|
||||||
- waveshare/esp_lcd_jd9365_10_1
|
- waveshare/esp_lcd_jd9365_10_1
|
||||||
manifest_hash: 1b3972520800645b8020e1ad5d7fcfe89a9006c17fff1fcaa83ae8df9e2314ff
|
manifest_hash: df48f0c889a77855e4d9de37a676a02669553fe2b7fdf43547783bcf8f97c123
|
||||||
target: esp32p4
|
target: esp32p4
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
idf_component_register(SRCS "hello_world_main.c"
|
idf_component_register(SRCS "hello_world_main.c"
|
||||||
PRIV_REQUIRES spi_flash esp_lcd
|
PRIV_REQUIRES spi_flash esp_driver_ppa esp_lcd
|
||||||
REQUIRES esp_timer lvgl
|
REQUIRES esp_mm esp_driver_ppa esp_timer lvgl
|
||||||
INCLUDE_DIRS "")
|
INCLUDE_DIRS "")
|
||||||
|
|||||||
@ -16,6 +16,8 @@
|
|||||||
#include "esp_ldo_regulator.h"
|
#include "esp_ldo_regulator.h"
|
||||||
#include "esp_lcd_touch_gt911.h"
|
#include "esp_lcd_touch_gt911.h"
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
|
#include "esp_timer.h"
|
||||||
|
#include "esp_lv_adapter.h"
|
||||||
#include "esp_lcd_jd9365_10_1.h"
|
#include "esp_lcd_jd9365_10_1.h"
|
||||||
|
|
||||||
#define TAG "JD9365_LVGL"
|
#define TAG "JD9365_LVGL"
|
||||||
@ -43,26 +45,19 @@
|
|||||||
static esp_lcd_panel_handle_t panel_handle = NULL;
|
static esp_lcd_panel_handle_t panel_handle = NULL;
|
||||||
static esp_lcd_touch_handle_t touch_handle = NULL;
|
static esp_lcd_touch_handle_t touch_handle = NULL;
|
||||||
static lv_display_t *display = NULL;
|
static lv_display_t *display = NULL;
|
||||||
|
static uint8_t *buf1 = NULL;
|
||||||
|
static uint8_t *buf2 = NULL;
|
||||||
|
|
||||||
// ================= Callbacks ===================
|
// ================= Callbacks ===================
|
||||||
static bool on_color_trans_done(esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t *event_data, void *user_ctx)
|
static bool on_color_trans_done(esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t *event_data, void *user_ctx)
|
||||||
{
|
{
|
||||||
BaseType_t high_task_awoken = pdFALSE;
|
|
||||||
if (display) {
|
if (display) {
|
||||||
lv_display_flush_ready(display);
|
lv_display_flush_ready(display);
|
||||||
}
|
}
|
||||||
return high_task_awoken == pdTRUE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ================= Flush Callback ===================
|
|
||||||
static void lvgl_flush_cb(lv_display_t *disp, const lv_area_t *area, uint8_t *color_p)
|
|
||||||
{
|
|
||||||
// Warte bis vorheriger Transfer fertig ist
|
|
||||||
esp_lcd_panel_draw_bitmap(panel_handle, area->x1, area->y1,
|
|
||||||
area->x2 + 1, area->y2 + 1, color_p);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void lvgl_touch_cb(lv_indev_t *indev, lv_indev_data_t *data)
|
static void lvgl_touch_cb(lv_indev_t *indev, lv_indev_data_t *data)
|
||||||
{
|
{
|
||||||
uint16_t x[1], y[1];
|
uint16_t x[1], y[1];
|
||||||
@ -98,6 +93,10 @@ static void lcd_init(void)
|
|||||||
esp_lcd_new_panel_io_dbi(mipi_dsi_bus, &io_cfg, &mipi_dbi_io);
|
esp_lcd_new_panel_io_dbi(mipi_dsi_bus, &io_cfg, &mipi_dbi_io);
|
||||||
|
|
||||||
esp_lcd_dpi_panel_config_t dpi_cfg = JD9365_800_1280_PANEL_60HZ_DPI_CONFIG(LCD_COLOR_PIXEL_FORMAT_RGB565);
|
esp_lcd_dpi_panel_config_t dpi_cfg = JD9365_800_1280_PANEL_60HZ_DPI_CONFIG(LCD_COLOR_PIXEL_FORMAT_RGB565);
|
||||||
|
dpi_cfg.num_fbs = esp_lv_adapter_get_required_frame_buffer_count(
|
||||||
|
ESP_LV_ADAPTER_TEAR_AVOID_MODE_DEFAULT_MIPI_DSI, // Tearing mode
|
||||||
|
ESP_LV_ADAPTER_ROTATE_90 // Rotation
|
||||||
|
);
|
||||||
jd9365_vendor_config_t vendor_cfg = {
|
jd9365_vendor_config_t vendor_cfg = {
|
||||||
.flags = { .use_mipi_interface = 1 },
|
.flags = { .use_mipi_interface = 1 },
|
||||||
.mipi_config = { .dsi_bus = mipi_dsi_bus, .dpi_config = &dpi_cfg, .lane_num = MIPI_DSI_LANE_NUM }
|
.mipi_config = { .dsi_bus = mipi_dsi_bus, .dpi_config = &dpi_cfg, .lane_num = MIPI_DSI_LANE_NUM }
|
||||||
@ -112,10 +111,10 @@ static void lcd_init(void)
|
|||||||
|
|
||||||
esp_lcd_panel_reset(panel_handle);
|
esp_lcd_panel_reset(panel_handle);
|
||||||
esp_lcd_panel_init(panel_handle);
|
esp_lcd_panel_init(panel_handle);
|
||||||
|
ESP_ERROR_CHECK(esp_lcd_dpi_panel_get_frame_buffer(panel_handle, 2, (void **)&buf1, (void **)&buf2));
|
||||||
esp_lcd_panel_disp_on_off(panel_handle, true);
|
esp_lcd_panel_disp_on_off(panel_handle, true);
|
||||||
|
|
||||||
esp_lcd_dpi_panel_event_callbacks_t cbs = { .on_color_trans_done = on_color_trans_done };
|
|
||||||
esp_lcd_dpi_panel_register_event_callbacks(panel_handle, &cbs, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================= Touch init ===================
|
// ================= Touch init ===================
|
||||||
@ -143,7 +142,7 @@ static void touch_init(void)
|
|||||||
.rst_gpio_num = TOUCH_RST_GPIO,
|
.rst_gpio_num = TOUCH_RST_GPIO,
|
||||||
.int_gpio_num = TOUCH_INT_GPIO,
|
.int_gpio_num = TOUCH_INT_GPIO,
|
||||||
.levels = { .reset = 0, .interrupt = 0 },
|
.levels = { .reset = 0, .interrupt = 0 },
|
||||||
.flags = { .swap_xy = 0, .mirror_x = 0, .mirror_y = 0 },
|
.flags = { .swap_xy = 1, .mirror_x = 1, .mirror_y = 0 },
|
||||||
};
|
};
|
||||||
ESP_ERROR_CHECK(esp_lcd_touch_new_i2c_gt911(touch_io, &touch_cfg, &touch_handle));
|
ESP_ERROR_CHECK(esp_lcd_touch_new_i2c_gt911(touch_io, &touch_cfg, &touch_handle));
|
||||||
}
|
}
|
||||||
@ -151,54 +150,74 @@ static void touch_init(void)
|
|||||||
// ================= LVGL init ===================
|
// ================= LVGL init ===================
|
||||||
static void lvgl_init(void)
|
static void lvgl_init(void)
|
||||||
{
|
{
|
||||||
lv_init();
|
|
||||||
|
|
||||||
lv_display_t *disp = lv_display_create(LCD_H_RES, LCD_V_RES);
|
esp_lv_adapter_config_t cfg = ESP_LV_ADAPTER_DEFAULT_CONFIG();
|
||||||
display = disp;
|
ESP_ERROR_CHECK(esp_lv_adapter_init(&cfg));
|
||||||
lv_display_set_color_format(disp, LV_COLOR_FORMAT_RGB565);
|
|
||||||
|
|
||||||
// Full-screen double buffer für bessere Performance mit DPI Panel
|
esp_lv_adapter_display_config_t disp_cfg = ESP_LV_ADAPTER_DISPLAY_MIPI_DEFAULT_CONFIG(
|
||||||
size_t buf_size = LCD_H_RES * 200 * sizeof(uint16_t);
|
panel_handle, // LCD panel handle
|
||||||
uint8_t *buf1 = heap_caps_aligned_alloc(64, buf_size, MALLOC_CAP_SPIRAM | MALLOC_CAP_DMA);
|
NULL, // LCD panel IO handle (can be NULL for some interfaces)
|
||||||
uint8_t *buf2 = heap_caps_aligned_alloc(64, buf_size, MALLOC_CAP_SPIRAM | MALLOC_CAP_DMA);
|
LCD_H_RES, // Horizontal resolution
|
||||||
|
LCD_V_RES, // Vertical resolution
|
||||||
|
ESP_LV_ADAPTER_ROTATE_90 // Rotation
|
||||||
|
);
|
||||||
|
display = esp_lv_adapter_register_display(&disp_cfg);
|
||||||
|
assert(display != NULL);
|
||||||
|
|
||||||
if (!buf1 || !buf2) {
|
esp_lv_adapter_touch_config_t touch_cfg = ESP_LV_ADAPTER_TOUCH_DEFAULT_CONFIG(display, touch_handle);
|
||||||
ESP_LOGE(TAG, "Failed to allocate buffers!");
|
lv_indev_t *touch = esp_lv_adapter_register_touch(&touch_cfg);
|
||||||
return;
|
lv_indev_set_read_cb(touch, lvgl_touch_cb);
|
||||||
|
assert(touch != NULL);
|
||||||
|
|
||||||
|
ESP_ERROR_CHECK(esp_lv_adapter_start());
|
||||||
}
|
}
|
||||||
|
|
||||||
lv_display_set_buffers(disp, buf1, buf2, buf_size, LV_DISPLAY_RENDER_MODE_PARTIAL);
|
static lv_obj_t * label2;
|
||||||
lv_display_set_flush_cb(disp, lvgl_flush_cb);
|
|
||||||
lv_display_set_default(disp);
|
|
||||||
|
|
||||||
lv_indev_t *indev = lv_indev_create();
|
static void slider_event_cb(lv_event_t * e)
|
||||||
lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER);
|
{
|
||||||
lv_indev_set_read_cb(indev, lvgl_touch_cb);
|
lv_obj_t * slider = lv_event_get_target_obj(e);
|
||||||
lv_indev_set_display(indev, disp);
|
|
||||||
|
/*Refresh the text*/
|
||||||
|
lv_label_set_text_fmt(label2, "%" LV_PRId32, lv_slider_get_value(slider));
|
||||||
|
//lv_obj_align_to(label2, slider, LV_ALIGN_OUT_TOP_MID, 0, -15); /*Align top of the slider*/
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t my_get_milliseconds()
|
||||||
|
{
|
||||||
|
return esp_timer_get_time() / 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================= UI ===================
|
// ================= UI ===================
|
||||||
static void create_ui(void)
|
static void create_ui(void)
|
||||||
{
|
{
|
||||||
lv_obj_t *tileview = lv_tileview_create(lv_screen_active());
|
if (esp_lv_adapter_lock(-1) == ESP_OK) {
|
||||||
|
lv_obj_t *tileview = lv_tileview_create(lv_scr_act());
|
||||||
|
|
||||||
// Page 1 - Blue
|
// Page 1 - Blue
|
||||||
lv_obj_t *tile1 = lv_tileview_add_tile(tileview, 0, 0, LV_DIR_BOTTOM);
|
lv_obj_t *tile1 = lv_tileview_add_tile(tileview, 0, 0, LV_DIR_BOTTOM);
|
||||||
lv_obj_set_style_bg_color(tile1, lv_color_hex(0x2196F3), 0);
|
lv_obj_set_style_bg_color(tile1, lv_color_hex(0x2196F3), 0);
|
||||||
lv_obj_t *label1 = lv_label_create(tile1);
|
lv_obj_t *label1 = lv_label_create(tile1);
|
||||||
lv_label_set_text(label1, "Seite 1\n\nSwipe nach oben");
|
lv_label_set_text(label1, "Seite 1\n\nSwipe nach oben");
|
||||||
lv_obj_set_style_text_color(label1, lv_color_white(), 0);
|
lv_obj_set_style_text_color(label1, lv_color_black(), 0);
|
||||||
lv_obj_set_style_text_font(label1, &lv_font_montserrat_28, 0);
|
lv_obj_set_style_text_font(label1, &lv_font_montserrat_14, 0);
|
||||||
lv_obj_center(label1);
|
lv_obj_center(label1);
|
||||||
|
|
||||||
|
lv_obj_t * slider = lv_slider_create(tile1);
|
||||||
|
lv_obj_set_width(slider, 200); /*Set the width*/
|
||||||
|
lv_obj_center(slider); /*Align to the center of the parent (screen)*/
|
||||||
|
lv_obj_add_event_cb(slider, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
|
||||||
|
|
||||||
// Page 2 - Green
|
// Page 2 - Green
|
||||||
lv_obj_t *tile2 = lv_tileview_add_tile(tileview, 0, 1, LV_DIR_TOP);
|
lv_obj_t *tile2 = lv_tileview_add_tile(tileview, 0, 1, LV_DIR_TOP);
|
||||||
lv_obj_set_style_bg_color(tile2, lv_color_hex(0x4CAF50), 0);
|
lv_obj_set_style_bg_color(tile2, lv_color_hex(0x4CAF50), 0);
|
||||||
lv_obj_t *label2 = lv_label_create(tile2);
|
label2 = lv_label_create(tile2);
|
||||||
lv_label_set_text(label2, "Seite 2\n\nSwipe nach unten");
|
lv_label_set_text(label2, "Seite 2\n\nSwipe nach unten");
|
||||||
lv_obj_set_style_text_color(label2, lv_color_white(), 0);
|
lv_obj_set_style_text_color(label2, lv_color_black(), 0);
|
||||||
lv_obj_set_style_text_font(label2, &lv_font_montserrat_28, 0);
|
lv_obj_set_style_text_font(label2, &lv_font_montserrat_14, 0);
|
||||||
lv_obj_center(label2);
|
lv_obj_center(label2);
|
||||||
|
esp_lv_adapter_unlock();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================= Main ===================
|
// ================= Main ===================
|
||||||
@ -208,12 +227,13 @@ void app_main(void)
|
|||||||
|
|
||||||
lcd_init();
|
lcd_init();
|
||||||
touch_init();
|
touch_init();
|
||||||
|
|
||||||
lvgl_init();
|
lvgl_init();
|
||||||
create_ui();
|
create_ui();
|
||||||
|
//lv_tick_set_cb(xTaskGetTickCount);
|
||||||
|
//lv_tick_set_cb(my_get_milliseconds);
|
||||||
while (1) {
|
while (1) {
|
||||||
lv_tick_inc(10);
|
lv_timer_handler();
|
||||||
lv_task_handler();
|
|
||||||
vTaskDelay(pdMS_TO_TICKS(10));
|
vTaskDelay(pdMS_TO_TICKS(10));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,3 +18,4 @@ dependencies:
|
|||||||
lvgl/lvgl: ^9.4.0
|
lvgl/lvgl: ^9.4.0
|
||||||
espressif/esp_lvgl_port: ^2.3.0
|
espressif/esp_lvgl_port: ^2.3.0
|
||||||
espressif/esp_lcd_touch_gt911: '*'
|
espressif/esp_lcd_touch_gt911: '*'
|
||||||
|
espressif/esp_lvgl_adapter: '*'
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user