forked from fvanroie/esphome-lvgl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
esphome-lvgl.yaml
118 lines (102 loc) · 3 KB
/
esphome-lvgl.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
esphome:
name: esphome-lvgl
platform: ESP32
board: lolin_d32_pro
# Include customized header files for TFT_eSPI, LVGL components and the demo UI
includes:
# - tftespi-component.h
- bootlogo.h
- lv_conf.h
- lv_demo_conf.h
- LvglComponent.h
- LvglCheckbox.h
- LvglSwitch.h
- LvglToggleButton.h
# Dowload extra libraries for TFT_eSPI, LVGL and the demo UI
libraries:
- bodmer/tft_espi
- lvgl/lvgl
- lvgl/lv_examples
platformio_options:
upload_speed: 1500000
build_flags:
- "-D LV_CONF_INCLUDE_SIMPLE"
- "-D LV_LVGL_H_INCLUDE_SIMPLE"
- "-D LV_DEMO_CONF_INCLUDE_SIMPLE"
- "-I src ; for lv_conf.h"
# - "-I .piolibdeps/hasp-esphome ; for hasplib"
- "-D LV_MEM_SIZE=49152U ; 48 kB lvgl memory"
# The folowing defines will configure the TFT display driver, size and pins
- "-D USER_SETUP_LOADED=1"
- "-D ILI9341_DRIVER=1"
# - "-D SUPPORT_TRANSACTIONS ; Default on ESP32"
- "-D TFT_WIDTH=240"
- "-D TFT_HEIGHT=320"
- "-D TFT_ROTATION=0 ; Use default, see TFT_ROTATION values"
- "-D TFT_MISO=19"
- "-D TFT_MOSI=23"
- "-D TFT_SCLK=18"
- "-D TFT_BCKL=32 ; Configurable via web UI (default 32)"
- "-D TOUCH_CS=12 ; Default for TFT connector"
- "-D TOUCH_CAL_DATA=268,3553,383,3532,6 ; Touch Calibration Data"
- "-D SPI_FREQUENCY=40000000"
- "-D SPI_TOUCH_FREQUENCY=2500000"
- "-D SPI_READ_FREQUENCY=20000000"
# board_build.f_flash: 80000000L
# mqtt:
# broker:
# username:
# password:
# discovery: True
# discovery_retain: true
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
## use fast_connect of you are connecting to a hidden WiFi network, else comment it out
fast_connect: true
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Hasp-Esphome Fallback Hotspot"
password: "9lwafyKa5sIp"
captive_portal:
# Enable logging
logger:
# For capacitive screens
i2c:
# Enable Home Assistant API
api:
password: !secret esplibapi_password
# ota:
# password: ""
web_server:
port: 80
custom_component:
#- lambda: |-
# auto tftespi_component = new TFTeSPIComponent();
# return {tftespi_component};
- lambda: |-
auto lvgl_component = new LvglComponent();
return {lvgl_component};
# Example configuration entry
switch:
- platform: custom
lambda: |-
auto my_switch1 = new LvglSwitch(50,50,80,45);
App.register_component(my_switch1);
return {my_switch1};
switches:
name: "My Switch 1"
- platform: custom
lambda: |-
auto my_switch2 = new LvglCheckbox(50,100,150,30);
App.register_component(my_switch2);
return {my_switch2};
switches:
name: "My Switch 2"
- platform: custom
lambda: |-
auto my_switch3 = new LvglToggleButton(50,200,150,45);
App.register_component(my_switch3);
return {my_switch3};
switches:
name: "My Switch 3"