├── smallTVpro-lvgl.jpg ├── smallTVpro-lambda.jpg ├── README.md ├── small-tv-pro-lambda.yaml ├── small-tv-pro-lvgl-esp-idf-working.yaml ├── small-tv-pro-lvgl.yaml ├── LVGL-logs.txt ├── geekmagic-lvgl-working-ESP32E-N8R2 └── lambda-logs.txt /smallTVpro-lvgl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clowrey/esphome-geekmagic-small-TV-pro/HEAD/smallTVpro-lvgl.jpg -------------------------------------------------------------------------------- /smallTVpro-lambda.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clowrey/esphome-geekmagic-small-TV-pro/HEAD/smallTVpro-lambda.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # esphome-geekmagic-small-TV-pro 2 | 3 | 4 | 5 | By default this product does not have any PSRAM - which is basically necessary for 240x240 resolution with the LVGL component + ESPhome - from what I can tell so far. I have now replaced some of the modules with these: https://www.mouser.com/ProductDetail/356-ESP32WRM32EN8R2 6 | 7 | I have asked about an upgraded version from the manufacturer and they responded that they will create one with the S3 16MB + 8MB PSRAM! So I would wait for that version for ESPhome use as removing and replacing the WROOM module is a little time consuming... https://github.com/GeekMagicClock/smalltv-pro/issues/44 8 | 9 | 10 | ![geek_psram3](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/1fdc9e2b-47fd-4b6e-977b-85750b69c947) 11 | 12 | ![geek_psram4](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/9772359a-9c05-4097-82f5-c06b855eb192) 13 | 14 | ![geek_psram2](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/79a1c3a8-da3e-443b-93fd-42c934041e9d) 15 | 16 | ![geek_psram5](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/ad22d69b-c36b-4708-a54e-dc3af056e522) 17 | 18 | ![geek_psram6](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/fdfe5702-3306-4ad9-95ce-fd54b24404d1) 19 | 20 | ![geek_psram1](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/231e46d1-497c-4549-b8fe-3d33d9f484f3) 21 | 22 | 23 | 24 | -- OLD before replacing WROOM with PSRAM version -- 25 | 26 | static shows it does not load LVGL 27 | ![smallTVpro-lvgl](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/dac09d62-dfbb-40f6-a41d-26fb225005dc) 28 | 29 | works with default older lambda display methods in ESPhome 30 | ![smallTVpro-lambda](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/d775ecc8-17b4-4f8c-88b6-391e46f03dc1) 31 | 32 | works at 160x160 resolution 33 | ![smalltvLVGL160](https://github.com/clowrey/esphome-geekmagic-small-TV-pro/assets/6935928/08fcb36b-ec0c-4536-8dc2-74ee0688883d) 34 | -------------------------------------------------------------------------------- /small-tv-pro-lambda.yaml: -------------------------------------------------------------------------------- 1 | esphome: 2 | name: geekmagic-hilo 3 | friendly_name: geekmagic-hilo 4 | 5 | esp32: 6 | board: esp32dev 7 | framework: 8 | type: arduino 9 | 10 | # Enable logging 11 | logger: 12 | level: VERBOSE 13 | logs: 14 | #lvgl.component: VERBOSE 15 | light.component: ERROR 16 | light.output: ERROR 17 | number.component: ERROR 18 | ledc.output: ERROR 19 | template.number: ERROR 20 | 21 | baud_rate: 0 #no hardware serial connected to USB - unless using the internal programming header 22 | 23 | # Enable Home Assistant API 24 | api: 25 | encryption: 26 | key: 27 | 28 | ota: 29 | password: 30 | 31 | wifi: 32 | ssid: !secret wifi_ssid 33 | password: !secret wifi_password 34 | 35 | # Enable fallback hotspot (captive portal) in case wifi connection fails 36 | ap: 37 | ssid: "Geekmagic-Hilo Fallback Hotspot" 38 | password: 39 | 40 | captive_portal: 41 | 42 | external_components: 43 | - source: github://clydebarrow/esphome@lvgl 44 | components: [ lvgl ] 45 | 46 | # Define a PWM output on the ESP32 47 | output: 48 | - platform: ledc 49 | pin: GPIO25 50 | inverted: True 51 | id: backlight_pwm 52 | 53 | # Define a monochromatic, dimmable light for the backlight 54 | light: 55 | - platform: monochromatic 56 | output: backlight_pwm 57 | name: "Display Backlight" 58 | id: back_light 59 | restore_mode: ALWAYS_ON 60 | 61 | 62 | esp32_touch: 63 | # setup_mode: true 64 | 65 | spi: 66 | clk_pin: GPIO18 67 | mosi_pin: GPIO23 68 | interface: hardware 69 | id: spihwd 70 | 71 | color: 72 | - id: my_red 73 | red: 100% 74 | green: 0% 75 | blue: 0% 76 | - id: my_orange 77 | red: 100% 78 | green: 50% 79 | blue: 0% 80 | - id: my_yellow 81 | red: 100% 82 | green: 100% 83 | blue: 0% 84 | - id: my_green 85 | red: 0% 86 | green: 100% 87 | blue: 0% 88 | - id: my_blue 89 | red: 0% 90 | green: 0% 91 | blue: 100% 92 | - id: my_teal 93 | red: 0% 94 | green: 100% 95 | blue: 100% 96 | - id: my_gray 97 | red: 70% 98 | green: 70% 99 | blue: 70% 100 | - id: my_white 101 | red: 100% 102 | green: 100% 103 | blue: 100% 104 | - id: my_black 105 | red: 0% 106 | green: 0% 107 | blue: 0% 108 | 109 | font: 110 | - file: "gfonts://Roboto" 111 | id: font_48 112 | size: 48 113 | - file: "gfonts://Roboto" 114 | id: font_36 115 | size: 36 116 | - file: "gfonts://Roboto" 117 | id: font_24 118 | size: 24 119 | - file: "gfonts://Roboto" 120 | id: font_12 121 | size: 12 122 | 123 | display: 124 | - platform: ili9xxx 125 | id: lcd_display 126 | model: st7789v 127 | spi_id: spihwd 128 | data_rate: 20MHz #oringal device uses 20mhz - 40 is default and works - does not work at 80mhz 129 | #cs_pin: GPIO03 #CS pin is connected to gnd I believe 130 | dc_pin: GPIO02 131 | reset_pin: GPIO04 132 | spi_mode: MODE3 #since no cs pin default is mode0 133 | dimensions: 134 | width: 240 135 | height: 240 136 | offset_height: 0 137 | offset_width: 0 138 | invert_colors: true 139 | #update_interval: never 140 | #auto_clear_enabled: false 141 | lambda: |- 142 | it.rectangle(0, 0, it.get_width(), it.get_height(), id(my_blue)); 143 | it.rectangle(0, 20, it.get_width(), it.get_height(), id(my_blue)); // header bar 144 | 145 | //it.print(5, 5, id(font_12), id(my_yellow), TextAlign::TOP_LEFT, "ESPHome"); 146 | it.strftime(5, 5, id(font_12), id(my_yellow), TextAlign::TOP_LEFT, "%H:%M:%S", id(time_comp).now()); 147 | 148 | it.print((it.get_width() / 2), (240 / 6.5) * 1 - 8, id(font_12), id(my_yellow), TextAlign::CENTER, "Testing"); 149 | it.printf((it.get_width() / 2), (240 / 6.5) * 1 + 9, id(font_24), id(my_yellow), TextAlign::CENTER, "%.2fC", 0.000); 150 | it.line(0, (240 / 6.5) * 1 + 18, it.get_width(), (240 / 6.5) * 1 + 18, id(my_blue)); 151 | 152 | it.print((it.get_width() / 2), (240 / 6.5) * 2 - 8, id(font_12), id(my_green), TextAlign::CENTER, "Testing 1"); 153 | it.printf((it.get_width() / 2), (240 / 6.5) * 2 + 9, id(font_24), id(my_green), TextAlign::CENTER, "%.2fC", "1.111"); 154 | it.line(0, (240 / 6.5) * 2 + 18, it.get_width(), (240 / 6.5) * 2 + 18, id(my_blue)); 155 | 156 | it.print((it.get_width() / 2), (240 / 6.5) * 3 - 8, id(font_12), id(my_orange), TextAlign::CENTER, "Testing 2"); 157 | it.printf((it.get_width() / 2), (240 / 6.5) * 3 + 9, id(font_24), id(my_orange), TextAlign::CENTER, "%.2fC", 2.222); 158 | it.line(0, (240 / 6.5) * 3 + 18, it.get_width(), (240 / 6.5) * 3 + 18, id(my_blue)); 159 | 160 | it.print((it.get_width() / 2), (240 / 6.5) * 4 - 8, id(font_12), id(my_gray), TextAlign::CENTER, "Testing 3"); 161 | it.printf((it.get_width() / 2), (240 / 6.5) * 4 + 9, id(font_24), id(my_gray), TextAlign::CENTER, "%.2fC", "3.333"); 162 | it.line(0, (240 / 6.5) * 4 + 18, it.get_width(), (240 / 6.5) * 4 + 18, id(my_blue)); 163 | 164 | it.print((it.get_width() / 2), (240 / 6.5) * 5 - 8, id(font_12), id(my_teal), TextAlign::CENTER, "Testing 4"); 165 | it.printf((it.get_width() / 2), (240 / 6.5) * 5 + 9, id(font_24), id(my_teal), TextAlign::CENTER, "%.2fC", 4.444); 166 | it.line(0, (240 / 6.5) * 5 + 18, it.get_width(), (240 / 6.5) * 5 + 18, id(my_blue)); 167 | 168 | it.print((it.get_width() / 2), (240 / 6.5) * 6 - 8, id(font_12), id(my_red), TextAlign::CENTER, "Testing 5"); 169 | it.printf((it.get_width() / 2), (240 / 6.5) * 6 + 9, id(font_24), id(my_red), TextAlign::CENTER, "%.2fC", 5.555); 170 | 171 | time: 172 | - platform: sntp 173 | id: time_comp 174 | -------------------------------------------------------------------------------- /small-tv-pro-lvgl-esp-idf-working.yaml: -------------------------------------------------------------------------------- 1 | esphome: 2 | name: geekmagic-hilo 3 | friendly_name: geekmagic-hilo 4 | 5 | esp32: 6 | board: esp32dev 7 | framework: 8 | type: esp-idf 9 | 10 | # Enable logging 11 | logger: 12 | level: DEBUG 13 | baud_rate: 0 #no hardware serial connected to USB - unless using the internal programming header 14 | 15 | # Enable Home Assistant API 16 | api: 17 | encryption: 18 | key: 19 | 20 | ota: 21 | password: 22 | 23 | wifi: 24 | ssid: !secret wifi_ssid 25 | password: !secret wifi_password 26 | 27 | # Enable fallback hotspot (captive portal) in case wifi connection fails 28 | ap: 29 | ssid: "Geekmagic-Hilo Fallback Hotspot" 30 | password: 31 | 32 | captive_portal: 33 | 34 | external_components: 35 | - source: github://clydebarrow/esphome@lvgl 36 | components: [ lvgl ] 37 | 38 | # Define a PWM output on the ESP32 39 | output: 40 | - platform: ledc 41 | pin: GPIO25 42 | inverted: True 43 | id: backlight_pwm 44 | 45 | # Define a monochromatic, dimmable light for the backlight 46 | light: 47 | - platform: monochromatic 48 | output: backlight_pwm 49 | name: "Display Backlight" 50 | id: back_light 51 | restore_mode: ALWAYS_ON 52 | 53 | esp32_touch: 54 | # setup_mode: true 55 | 56 | spi: 57 | clk_pin: GPIO18 58 | mosi_pin: GPIO23 59 | interface: hardware 60 | id: spihwd 61 | 62 | display: 63 | - platform: ili9xxx 64 | id: lcd_display 65 | model: st7789v 66 | spi_id: spihwd 67 | data_rate: 20MHz #oringal device uses 20mhz - 40 is default and works - does not work at 80mhz 68 | #cs_pin: GPIO03 #CS pin is connected to gnd I believe 69 | dc_pin: GPIO02 70 | reset_pin: GPIO04 71 | spi_mode: MODE3 #since no cs pin default is mode0 72 | dimensions: 73 | width: 240 74 | height: 240 75 | offset_height: 0 76 | offset_width: 0 77 | invert_colors: true 78 | update_interval: never 79 | auto_clear_enabled: false 80 | 81 | time: 82 | - platform: sntp 83 | id: time_comp 84 | on_time_sync: 85 | then: 86 | - script.execute: time_update 87 | 88 | interval: 89 | - interval: 1s 90 | then: 91 | - script.execute: time_update 92 | 93 | script: 94 | - id: time_update 95 | then: 96 | - lvgl.indicator.line.update: 97 | id: minute_hand 98 | value: !lambda |- 99 | return id(time_comp).now().minute; 100 | - lvgl.indicator.line.update: 101 | id: hour_hand 102 | value: !lambda |- 103 | auto now = id(time_comp).now(); 104 | return std::fmod(now.hour, 12) * 60 + now.minute; 105 | - lvgl.label.update: 106 | id: date_label 107 | text: !lambda |- 108 | static const char * const mon_names[] = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"}; 109 | static char date_buf[8]; 110 | auto now = id(time_comp).now(); 111 | snprintf(date_buf, sizeof(date_buf), "%s %2d", mon_names[now.month-1], now.day_of_month); 112 | return date_buf; 113 | - lvgl.label.update: 114 | id: day_label 115 | text: !lambda |- 116 | static const char * const day_names[] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; 117 | return day_names[id(time_comp).now().day_of_week-1]; 118 | 119 | 120 | lvgl: 121 | log_level: INFO 122 | bg_color: 0x0F0F0F 123 | text_font: unscii_8 124 | align: center 125 | style_definitions: 126 | - id: date_style 127 | text_font: unscii_8 128 | align: center 129 | text_color: 0x000000 130 | bg_opa: cover 131 | radius: 4 132 | pad_all: 2 133 | widgets: 134 | - obj: # Clock container 135 | height: 100% 136 | width: 100% 137 | widgets: 138 | - meter: # Gradient color arc 139 | height: 100% 140 | width: 100% 141 | align: center 142 | bg_color: 0 143 | scales: 144 | angle_range: 360 145 | rotation: 255 146 | range_from: 0 147 | range_to: 12 148 | ticks: 149 | width: 35 150 | count: 13 151 | length: 8 152 | indicators: 153 | - ticks: 154 | local: true 155 | start_value: 0 156 | end_value: 12 157 | color_start: 0xFF0000 158 | color_end: 0x0000FF 159 | - meter: 160 | height: 100% 161 | width: 100% 162 | align: center 163 | 164 | bg_opa: TRANSP 165 | text_color: 0xFFFFFF 166 | scales: 167 | - ticks: 168 | width: 1 169 | count: 61 170 | length: 10 171 | color: 0xFFFFFF 172 | range_from: 0 173 | range_to: 60 174 | angle_range: 360 175 | rotation: 270 176 | indicators: 177 | - line: 178 | id: minute_hand 179 | width: 3 180 | color: 0xE0E0E0 181 | r_mod: -1 182 | 183 | - 184 | angle_range: 330 185 | rotation: 300 186 | range_from: 1 187 | range_to: 12 188 | ticks: 189 | width: 1 190 | count: 12 191 | length: 1 192 | major: 193 | stride: 1 194 | width: 4 195 | length: 8 196 | color: 0xC0C0C0 197 | label_gap: 6 198 | 199 | - angle_range: 360 200 | rotation: 270 201 | range_from: 0 202 | range_to: 720 203 | indicators: 204 | - line: 205 | id: hour_hand 206 | width: 4 207 | color: 0xA0A0A0 208 | r_mod: -20 209 | - label: 210 | styles: date_style 211 | id: day_label 212 | y: -20 213 | - label: 214 | id: date_label 215 | styles: date_style 216 | y: +20 -------------------------------------------------------------------------------- /small-tv-pro-lvgl.yaml: -------------------------------------------------------------------------------- 1 | esphome: 2 | name: geekmagic-hilo 3 | friendly_name: geekmagic-hilo 4 | 5 | esp32: 6 | board: esp32dev 7 | framework: 8 | type: arduino 9 | 10 | # Enable logging 11 | logger: 12 | level: VERBOSE 13 | logs: 14 | #lvgl.component: VERBOSE 15 | light.component: ERROR 16 | light.output: ERROR 17 | number.component: ERROR 18 | ledc.output: ERROR 19 | template.number: ERROR 20 | 21 | 22 | 23 | baud_rate: 0 #no hardware serial connected to USB - unless using the internal programming header 24 | 25 | # Enable Home Assistant API 26 | api: 27 | encryption: 28 | key: 29 | 30 | ota: 31 | password: 32 | 33 | wifi: 34 | ssid: !secret wifi_ssid 35 | password: !secret wifi_password 36 | 37 | # Enable fallback hotspot (captive portal) in case wifi connection fails 38 | ap: 39 | ssid: 40 | password: 41 | 42 | captive_portal: 43 | 44 | external_components: 45 | - source: github://clydebarrow/esphome@lvgl 46 | components: [ lvgl ] 47 | 48 | # Define a PWM output on the ESP32 49 | output: 50 | - platform: ledc 51 | pin: GPIO25 52 | inverted: True 53 | id: backlight_pwm 54 | 55 | # Define a monochromatic, dimmable light for the backlight 56 | light: 57 | - platform: monochromatic 58 | output: backlight_pwm 59 | name: "Display Backlight" 60 | id: back_light 61 | restore_mode: ALWAYS_ON 62 | 63 | 64 | esp32_touch: 65 | # setup_mode: true 66 | 67 | spi: 68 | clk_pin: GPIO18 69 | mosi_pin: GPIO23 70 | interface: hardware 71 | id: spihwd 72 | 73 | color: 74 | - id: my_red 75 | red: 100% 76 | green: 0% 77 | blue: 0% 78 | - id: my_orange 79 | red: 100% 80 | green: 50% 81 | blue: 0% 82 | - id: my_yellow 83 | red: 100% 84 | green: 100% 85 | blue: 0% 86 | - id: my_green 87 | red: 0% 88 | green: 100% 89 | blue: 0% 90 | - id: my_blue 91 | red: 0% 92 | green: 0% 93 | blue: 100% 94 | - id: my_teal 95 | red: 0% 96 | green: 100% 97 | blue: 100% 98 | - id: my_gray 99 | red: 70% 100 | green: 70% 101 | blue: 70% 102 | - id: my_white 103 | red: 100% 104 | green: 100% 105 | blue: 100% 106 | - id: my_black 107 | red: 0% 108 | green: 0% 109 | blue: 0% 110 | 111 | font: 112 | - file: "gfonts://Roboto" 113 | id: Roboto_48 114 | size: 48 115 | - file: "gfonts://Roboto" 116 | id: Roboto_36 117 | size: 36 118 | - file: "gfonts://Roboto" 119 | id: Roboto_24 120 | size: 24 121 | - file: "gfonts://Roboto" 122 | id: Roboto_12 123 | size: 12 124 | 125 | display: 126 | - platform: ili9xxx 127 | id: lcd_display 128 | model: st7789v 129 | spi_id: spihwd 130 | data_rate: 20MHz #oringal device uses 20mhz - 40 is default and works - does not work at 80mhz 131 | #cs_pin: GPIO03 #CS pin is connected to gnd I believe 132 | dc_pin: GPIO02 133 | reset_pin: GPIO04 134 | spi_mode: MODE3 #since no cs pin default is mode0 135 | dimensions: 136 | width: 240 137 | height: 240 138 | offset_height: 0 139 | offset_width: 0 140 | invert_colors: true 141 | update_interval: never 142 | auto_clear_enabled: false 143 | 144 | time: 145 | - platform: sntp 146 | id: time_comp 147 | on_time_sync: 148 | then: 149 | - script.execute: time_update 150 | 151 | interval: 152 | - interval: 5s 153 | then: 154 | - script.execute: time_update 155 | 156 | script: 157 | - id: time_update 158 | then: 159 | - lvgl.indicator.line.update: 160 | id: minute_hand 161 | value: !lambda |- 162 | return id(time_comp).now().minute; 163 | - lvgl.indicator.line.update: 164 | id: hour_hand 165 | value: !lambda |- 166 | auto now = id(time_comp).now(); 167 | return std::fmod(now.hour, 12) * 60 + now.minute; 168 | - lvgl.label.update: 169 | id: date_label 170 | text: !lambda |- 171 | static const char * const mon_names[] = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"}; 172 | static char date_buf[8]; 173 | auto now = id(time_comp).now(); 174 | snprintf(date_buf, sizeof(date_buf), "%s %2d", mon_names[now.month-1], now.day_of_month); 175 | return date_buf; 176 | - lvgl.label.update: 177 | id: day_label 178 | text: !lambda |- 179 | static const char * const day_names[] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; 180 | return day_names[id(time_comp).now().day_of_week-1]; 181 | 182 | 183 | lvgl: 184 | log_level: INFO 185 | color_depth: 8 186 | bg_color: 0x0F0F0F 187 | text_font: unscii_8 188 | align: center 189 | style_definitions: 190 | - id: date_style 191 | text_font: unscii_8 192 | align: center 193 | text_color: 0x000000 194 | bg_opa: cover 195 | radius: 4 196 | pad_all: 2 197 | widgets: 198 | - obj: # Clock container 199 | height: size_content 200 | width: size_content 201 | widgets: 202 | - meter: # Gradient color arc 203 | height: 160 204 | width: 160 205 | align: center 206 | bg_color: 0 207 | scales: 208 | angle_range: 360 209 | rotation: 255 210 | range_from: 0 211 | range_to: 12 212 | ticks: 213 | width: 35 214 | count: 13 215 | length: 8 216 | indicators: 217 | - ticks: 218 | local: true 219 | start_value: 0 220 | end_value: 12 221 | color_start: 0xFF0000 222 | color_end: 0x0000FF 223 | - meter: 224 | height: 160 225 | width: 160 226 | align: center 227 | 228 | bg_opa: TRANSP 229 | text_color: 0xFFFFFF 230 | scales: 231 | - ticks: 232 | width: 1 233 | count: 61 234 | length: 10 235 | color: 0xFFFFFF 236 | range_from: 0 237 | range_to: 60 238 | angle_range: 360 239 | rotation: 270 240 | indicators: 241 | - line: 242 | id: minute_hand 243 | width: 3 244 | color: 0xE0E0E0 245 | r_mod: -1 246 | 247 | - 248 | angle_range: 330 249 | rotation: 300 250 | range_from: 1 251 | range_to: 12 252 | ticks: 253 | width: 1 254 | count: 12 255 | length: 1 256 | major: 257 | stride: 1 258 | width: 4 259 | length: 8 260 | color: 0xC0C0C0 261 | label_gap: 6 262 | 263 | - angle_range: 360 264 | rotation: 270 265 | range_from: 0 266 | range_to: 720 267 | indicators: 268 | - line: 269 | id: hour_hand 270 | width: 4 271 | color: 0xA0A0A0 272 | r_mod: -20 273 | - label: 274 | styles: date_style 275 | id: day_label 276 | y: -20 277 | - label: 278 | id: date_label 279 | styles: date_style 280 | y: +20 -------------------------------------------------------------------------------- /LVGL-logs.txt: -------------------------------------------------------------------------------- 1 | [13:12:41][C][logger:166]: Logger: 2 | [13:12:41][C][logger:167]: Level: VERBOSE 3 | [13:12:41][C][logger:169]: Log Baud Rate: 0 4 | [13:12:41][C][logger:170]: Hardware UART: UART0 5 | [13:12:41][C][logger:174]: Level for 'light.component': ERROR 6 | [13:12:41][C][logger:174]: Level for 'light.output': ERROR 7 | [13:12:41][C][logger:174]: Level for 'number.component': ERROR 8 | [13:12:41][C][logger:174]: Level for 'ledc.output': ERROR 9 | [13:12:41][C][logger:174]: Level for 'template.number': ERROR 10 | [13:12:41][C][spi:068]: SPI bus: 11 | [13:12:41][C][spi:069]: CLK Pin: GPIO18 12 | [13:12:41][C][spi:070]: SDI Pin: 13 | [13:12:41][C][spi:071]: SDO Pin: GPIO23 14 | [13:12:41][C][spi:076]: Using HW SPI: SPI 15 | [13:12:41][C][ili9xxx:075]: ili9xxx 16 | [13:12:41][C][ili9xxx:075]: Rotations: 0 ° 17 | [13:12:41][C][ili9xxx:075]: Dimensions: 240px x 240px 18 | [13:12:41][C][ili9xxx:076]: Width Offset: 0 19 | [13:12:41][C][ili9xxx:077]: Height Offset: 0 20 | [13:12:41][C][ili9xxx:086]: Color mode: 8bit 332 mode 21 | [13:12:41][C][ili9xxx:092]: Data rate: 20MHz 22 | [13:12:41][C][ili9xxx:094]: Reset Pin: GPIO4 23 | [13:12:41][C][ili9xxx:096]: DC Pin: GPIO2 24 | [13:12:41][C][ili9xxx:098]: Color order: BGR 25 | [13:12:41][C][ili9xxx:099]: Swap_xy: NO 26 | [13:12:41][C][ili9xxx:100]: Mirror_x: NO 27 | [13:12:41][C][ili9xxx:101]: Mirror_y: NO 28 | [13:12:41][C][ili9xxx:106]: Update Interval: never 29 | [13:12:41][C][light:103]: Light 'Display Backlight' 30 | [13:12:41][C][light:105]: Default Transition Length: 1.0s 31 | [13:12:41][C][light:106]: Gamma Correct: 2.80 32 | [13:12:41][C][esp32_touch:073]: Config for ESP32 Touch Hub: 33 | [13:12:41][C][esp32_touch:074]: Meas cycle: 8.19ms 34 | [13:12:41][C][esp32_touch:075]: Sleep cycle: 27.31ms 35 | [13:12:41][C][esp32_touch:095]: Low Voltage Reference: 0.5V 36 | [13:12:41][C][esp32_touch:115]: High Voltage Reference: 2.7V 37 | [13:12:41][C][esp32_touch:135]: Voltage Attenuation: 0V 38 | [13:12:41][C][esp32_touch:251]: IIR Filter DISABLED 39 | [13:12:41][C][psram:020]: PSRAM: 40 | [13:12:41][C][psram:021]: Available: NO 41 | [13:12:41][C][lvgl:376]: LVGL: 42 | [13:12:41][C][captive_portal:088]: Captive Portal: 43 | [13:12:41][C][sntp:055]: SNTP Time: 44 | [13:12:41][C][sntp:056]: Server 1: '0.pool.ntp.org' 45 | [13:12:41][C][sntp:057]: Server 2: '1.pool.ntp.org' 46 | [13:12:41][C][sntp:058]: Server 3: '2.pool.ntp.org' 47 | [13:12:41][C][sntp:059]: Timezone: 'HST10' 48 | [13:12:41][C][mdns:115]: mDNS: 49 | [13:12:41][C][mdns:116]: Hostname: geekmagic-hilo 50 | [13:12:41][V][mdns:117]: Services: 51 | [13:12:41][V][mdns:119]: - _esphomelib, _tcp, 6053 52 | [13:12:41][V][mdns:121]: TXT: friendly_name = geekmagic-hilo 53 | [13:12:41][V][mdns:121]: TXT: version = 2024.4.0-dev 54 | [13:12:41][V][mdns:121]: TXT: mac = cc7b5ca729e0 55 | [13:12:41][V][mdns:121]: TXT: platform = ESP32 56 | [13:12:41][V][mdns:121]: TXT: board = esp32dev 57 | [13:12:41][V][mdns:121]: TXT: network = wifi 58 | [13:12:41][V][mdns:121]: TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256 59 | [13:12:41][C][ota:096]: Over-The-Air Updates: 60 | [13:12:41][C][ota:097]: Address: geekmagic-hilo.local:3232 61 | [13:12:41][C][ota:100]: Using Password. 62 | [13:12:41][C][ota:103]: OTA version: 2. 63 | [13:12:41][C][api:139]: API Server: 64 | [13:12:41][C][api:140]: Address: geekmagic-hilo.local:6053 65 | [13:12:41][C][api:142]: Using noise encryption: YES 66 | [13:12:43][V][lvgl:038]: free 0x3ffb4b0c 67 | [13:12:43][V][lvgl:031]: allocate 7 - > 0x3ffb4b0c 68 | [13:12:43][V][lvgl:038]: free 0x3ffb3320 69 | [13:12:43][V][lvgl:031]: allocate 4 - > 0x3ffb3320 70 | [13:12:43][I][lvgl:000]: [Info] (13.517, +5005) lv_obj_update_layout: Layout update begin (in lv_obj_pos.c line #314) 71 | [13:12:43][V][lvgl:047]: realloc 0x0: 92 72 | [13:12:43][V][lvgl:031]: allocate 48 - > 0x3ffe3e10 73 | [13:12:43][V][lvgl:047]: realloc 0x0: 64 74 | [13:12:43][V][lvgl:031]: allocate 480 - > 0x3fff3d80 75 | [13:12:43][V][lvgl:047]: realloc 0x3ffe331c: 640 76 | [13:12:43][V][lvgl:031]: allocate 348 - > 0x3fff502c 77 | [13:12:43][V][lvgl:031]: allocate 396 - > 0x3fff2cd4 78 | [13:12:43][V][lvgl:038]: free 0x3ffe3e10 79 | [13:12:43][V][lvgl:031]: allocate 42 - > 0x3ffe3e10 80 | [13:12:43][V][lvgl:038]: free 0x3ffe3e10 81 | [13:12:43][V][lvgl:031]: allocate 486 - > 0x3fff3160 82 | [13:12:43][V][lvgl:047]: realloc 0x3fff4cac: 648 83 | [13:12:43][V][lvgl:038]: free 0x3fff502c 84 | [13:12:43][V][lvgl:031]: allocate 474 - > 0x3fff3b90 85 | [13:12:43][V][lvgl:038]: free 0x3fff3d80 86 | [13:12:43][V][lvgl:031]: allocate 336 - > 0x3fff3468 87 | [13:12:43][V][lvgl:038]: free 0x3fff3468 88 | [13:12:43][V][lvgl:031]: allocate 390 - > 0x3fff3358 89 | [13:12:43][V][lvgl:038]: free 0x3fff3b90 90 | [13:12:43][V][lvgl:031]: allocate 348 - > 0x3fff3b00 91 | [13:12:43][V][lvgl:038]: free 0x3fff3358 92 | [13:12:43][V][lvgl:031]: allocate 42 - > 0x3ffe3e10 93 | [13:12:43][V][lvgl:038]: free 0x3ffe3e10 94 | [13:12:43][V][lvgl:031]: allocate 474 - > 0x3fff3c6c 95 | [13:12:43][V][lvgl:038]: free 0x3fff3c6c 96 | [13:12:43][V][lvgl:031]: allocate 30 - > 0x3ffe333c 97 | [13:12:43][V][lvgl:038]: free 0x3ffe333c 98 | [13:12:43][V][lvgl:031]: allocate 48 - > 0x3ffe3e10 99 | [13:12:43][V][lvgl:038]: free 0x3fff3b00 100 | [13:12:43][V][lvgl:031]: allocate 36 - > 0x3ffe2c48 101 | [13:12:43][V][lvgl:455]: flush_cb, area=74/48, 92/60 took 12ms 102 | [13:12:43][V][lvgl:038]: free 0x3ffe3e10 103 | [13:12:43][V][lvgl:031]: allocate 480 - > 0x3fff3968 104 | [13:12:43][V][lvgl:038]: free 0x3ffe2c48 105 | [13:12:43][V][lvgl:031]: allocate 348 - > 0x3fff3468 106 | [13:12:43][V][lvgl:038]: free 0x3fff3468 107 | [13:12:43][V][lvgl:031]: allocate 474 - > 0x3fff3358 108 | [13:12:43][V][lvgl:038]: free 0x3fff3968 109 | [13:12:43][V][lvgl:031]: allocate 336 - > 0x3fff4778 110 | [13:12:43][V][lvgl:038]: free 0x3fff4778 111 | [13:12:43][V][lvgl:031]: allocate 390 - > 0x3fff49e8 112 | [13:12:43][V][lvgl:038]: free 0x3fff3358 113 | [13:12:43][V][lvgl:031]: allocate 348 - > 0x3fff3358 114 | [13:12:43][V][lvgl:038]: free 0x3fff49e8 115 | [13:12:43][V][lvgl:031]: allocate 474 - > 0x3fff34c4 116 | [13:12:43][V][lvgl:038]: free 0x3fff34c4 117 | [13:12:43][V][lvgl:031]: allocate 30 - > 0x3ffe3ef4 118 | [13:12:43][V][lvgl:038]: free 0x3ffe3ef4 119 | [13:12:43][V][lvgl:031]: allocate 48 - > 0x3ffe331c 120 | [13:12:43][V][lvgl:038]: free 0x3fff3358 121 | [13:12:43][V][lvgl:031]: allocate 36 - > 0x3ffe3ef4 122 | [13:12:43][V][lvgl:455]: flush_cb, area=62/102, 66/28 took 4ms 123 | [13:12:43][V][lvgl:038]: free 0x3ffe3b6c 124 | [13:12:43][V][lvgl:038]: free 0x3fff4cac 125 | [13:12:43][V][lvgl:038]: free 0x3fff3160 126 | [13:12:43][V][lvgl:038]: free 0x3ffe331c 127 | [13:12:43][V][lvgl:038]: free 0x3ffe3ef4 128 | [13:12:43][V][lvgl:038]: free 0x3fff2cd4 129 | [13:12:43][W][component:232]: Component lvgl took a long time for an operation (164 ms). 130 | [13:12:43][W][component:233]: Components should block for at most 30 ms. 131 | [13:12:48][V][lvgl:038]: free 0x3ffb4b0c 132 | [13:12:48][V][lvgl:031]: allocate 7 - > 0x3ffb4b0c 133 | [13:12:48][V][lvgl:038]: free 0x3ffb3320 134 | [13:12:48][V][lvgl:031]: allocate 4 - > 0x3ffb3320 135 | [13:12:48][I][lvgl:000]: [Info] (18.519, +5002) lv_obj_update_layout: Layout update begin (in lv_obj_pos.c line #314) 136 | [13:12:48][V][lvgl:047]: realloc 0x0: 92 137 | [13:12:48][V][lvgl:031]: allocate 48 - > 0x3ffe3e10 138 | [13:12:48][V][lvgl:047]: realloc 0x0: 64 139 | [13:12:48][V][lvgl:031]: allocate 480 - > 0x3ffe344c 140 | [13:12:48][V][lvgl:047]: realloc 0x3ffe2fd4: 640 141 | [13:12:48][V][lvgl:031]: allocate 348 - > 0x3fff3050 142 | [13:12:48][V][lvgl:031]: allocate 396 - > 0x3ffe363c 143 | [13:12:48][V][lvgl:038]: free 0x3ffe3e10 144 | [13:12:48][V][lvgl:031]: allocate 42 - > 0x3ffe3e10 145 | [13:12:48][V][lvgl:038]: free 0x3ffe3e10 146 | [13:12:48][V][lvgl:031]: allocate 486 - > 0x3fff32ac 147 | [13:12:48][V][lvgl:047]: realloc 0x3ffe3870: 648 148 | [13:12:48][V][lvgl:038]: free 0x3fff3050 149 | [13:12:48][V][lvgl:031]: allocate 474 - > 0x3fff3050 150 | [13:12:48][V][lvgl:038]: free 0x3ffe344c 151 | [13:12:48][V][lvgl:031]: allocate 336 - > 0x3ffe344c 152 | [13:12:48][V][lvgl:038]: free 0x3ffe344c 153 | [13:12:48][V][lvgl:031]: allocate 390 - > 0x3ffe344c 154 | [13:12:48][V][lvgl:038]: free 0x3fff3050 155 | [13:12:48][V][lvgl:031]: allocate 348 - > 0x3fff2cd4 156 | [13:12:48][V][lvgl:038]: free 0x3ffe344c 157 | [13:12:48][V][lvgl:031]: allocate 42 - > 0x3ffe3e10 158 | [13:12:48][V][lvgl:038]: free 0x3ffe3e10 159 | [13:12:48][V][lvgl:031]: allocate 474 - > 0x3ffe344c 160 | [13:12:48][V][lvgl:038]: free 0x3ffe344c 161 | [13:12:48][V][lvgl:031]: allocate 30 - > 0x3ffe3ef4 162 | [13:12:48][V][lvgl:038]: free 0x3ffe3ef4 163 | [13:12:48][V][lvgl:031]: allocate 48 - > 0x3ffe3e10 164 | [13:12:48][V][lvgl:038]: free 0x3fff2cd4 165 | [13:12:48][V][lvgl:031]: allocate 36 - > 0x3ffe2668 166 | [13:12:48][V][lvgl:455]: flush_cb, area=74/48, 92/60 took 11ms 167 | [13:12:48][V][lvgl:038]: free 0x3ffe3e10 168 | [13:12:48][V][lvgl:031]: allocate 480 - > 0x3fff3050 169 | [13:12:48][V][lvgl:038]: free 0x3ffe2668 170 | [13:12:48][V][lvgl:031]: allocate 348 - > 0x3fff2cd4 171 | [13:12:48][V][lvgl:038]: free 0x3fff2cd4 172 | [13:12:48][V][lvgl:031]: allocate 474 - > 0x3fff3ab4 173 | [13:12:48][V][lvgl:038]: free 0x3fff3050 174 | [13:12:48][V][lvgl:031]: allocate 336 - > 0x3fff3050 175 | [13:12:48][V][lvgl:038]: free 0x3fff3050 176 | [13:12:48][V][lvgl:031]: allocate 390 - > 0x3fff2cd4 177 | [13:12:48][V][lvgl:038]: free 0x3fff3ab4 178 | [13:12:48][V][lvgl:031]: allocate 348 - > 0x3ffe344c 179 | [13:12:48][V][lvgl:038]: free 0x3fff2cd4 180 | [13:12:48][V][lvgl:031]: allocate 474 - > 0x3fff3ab4 181 | [13:12:48][V][lvgl:038]: free 0x3fff3ab4 182 | [13:12:48][V][lvgl:031]: allocate 30 - > 0x3ffe2668 183 | [13:12:48][V][lvgl:038]: free 0x3ffe2668 184 | [13:12:48][V][lvgl:031]: allocate 48 - > 0x3ffe3e10 185 | [13:12:48][V][lvgl:038]: free 0x3ffe344c 186 | [13:12:48][V][lvgl:031]: allocate 36 - > 0x3ffe331c 187 | [13:12:48][V][lvgl:455]: flush_cb, area=62/102, 66/28 took 4ms 188 | [13:12:48][V][lvgl:038]: free 0x3ffe3b6c 189 | [13:12:48][V][lvgl:038]: free 0x3ffe3870 190 | [13:12:48][V][lvgl:038]: free 0x3fff32ac 191 | [13:12:48][V][lvgl:038]: free 0x3ffe3e10 192 | [13:12:48][V][lvgl:038]: free 0x3ffe331c 193 | [13:12:48][V][lvgl:038]: free 0x3ffe363c 194 | [13:12:48][W][component:232]: Component lvgl took a long time for an operation (162 ms). 195 | [13:12:48][W][component:233]: Components should block for at most 30 ms. 196 | [13:12:53][V][lvgl:038]: free 0x3ffb4b0c 197 | [13:12:53][V][lvgl:031]: allocate 7 - > 0x3ffb4b0c 198 | [13:12:53][V][lvgl:038]: free 0x3ffb3320 199 | [13:12:53][V][lvgl:031]: allocate 4 - > 0x3ffb3320 200 | [13:12:53][I][lvgl:000]: [Info] (23.518, +4999) lv_obj_update_layout: Layout update begin (in lv_obj_pos.c line #314) 201 | [13:12:53][V][lvgl:047]: realloc 0x0: 92 202 | [13:12:53][V][lvgl:031]: allocate 48 - > 0x3ffe3e10 203 | [13:12:53][V][lvgl:047]: realloc 0x0: 64 204 | [13:12:53][V][lvgl:031]: allocate 480 - > 0x3fff3050 205 | [13:12:53][V][lvgl:047]: realloc 0x3ffe331c: 640 206 | [13:12:53][V][lvgl:031]: allocate 348 - > 0x3ffe344c 207 | [13:12:53][V][lvgl:031]: allocate 396 - > 0x3ffe36d4 208 | [13:12:53][V][lvgl:038]: free 0x3ffe3e10 209 | [13:12:53][V][lvgl:031]: allocate 42 - > 0x3ffe3e10 210 | [13:12:53][V][lvgl:038]: free 0x3ffe3e10 211 | [13:12:53][V][lvgl:031]: allocate 486 - > 0x3ffe3870 212 | [13:12:53][V][lvgl:047]: realloc 0x3fff3850: 648 213 | [13:12:53][V][lvgl:038]: free 0x3ffe344c 214 | [13:12:53][V][lvgl:031]: allocate 474 - > 0x3fff3700 215 | [13:12:53][V][lvgl:038]: free 0x3fff3050 216 | [13:12:53][V][lvgl:031]: allocate 336 - > 0x3fff2cd4 217 | [13:12:53][V][lvgl:038]: free 0x3fff2cd4 218 | [13:12:53][V][lvgl:031]: allocate 390 - > 0x3fff2cd4 219 | [13:12:53][V][lvgl:038]: free 0x3fff3700 220 | [13:12:53][V][lvgl:031]: allocate 348 - > 0x3ffe355c 221 | [13:12:53][V][lvgl:038]: free 0x3fff2cd4 222 | [13:12:53][V][lvgl:031]: allocate 42 - > 0x3ffe3e10 223 | [13:12:53][V][lvgl:038]: free 0x3ffe3e10 224 | [13:12:53][V][lvgl:031]: allocate 474 - > 0x3fff3050 225 | [13:12:53][V][lvgl:038]: free 0x3fff3050 226 | [13:12:53][V][lvgl:031]: allocate 30 - > 0x3ffe3ef4 227 | [13:12:53][V][lvgl:038]: free 0x3ffe3ef4 228 | [13:12:53][V][lvgl:031]: allocate 48 - > 0x3ffe3e10 229 | [13:12:53][V][lvgl:038]: free 0x3ffe355c 230 | [13:12:53][V][lvgl:031]: allocate 36 - > 0x3ffe2fd4 231 | [13:12:53][V][lvgl:455]: flush_cb, area=74/48, 92/60 took 12ms 232 | [13:12:53][V][lvgl:038]: free 0x3ffe3e10 233 | [13:12:53][V][lvgl:031]: allocate 480 - > 0x3ffe344c 234 | [13:12:53][V][lvgl:038]: free 0x3ffe2fd4 235 | [13:12:53][V][lvgl:031]: allocate 348 - > 0x3fff2cd4 236 | [13:12:53][V][lvgl:038]: free 0x3fff2cd4 237 | [13:12:53][V][lvgl:031]: allocate 474 - > 0x3fff3160 238 | [13:12:53][V][lvgl:038]: free 0x3ffe344c 239 | [13:12:53][V][lvgl:031]: allocate 336 - > 0x3ffe344c 240 | [13:12:53][V][lvgl:038]: free 0x3ffe344c 241 | [13:12:53][V][lvgl:031]: allocate 390 - > 0x3fff2cd4 242 | [13:12:53][V][lvgl:038]: free 0x3fff3160 243 | [13:12:53][V][lvgl:031]: allocate 348 - > 0x3fff3050 244 | [13:12:53][V][lvgl:038]: free 0x3fff2cd4 245 | [13:12:53][V][lvgl:031]: allocate 474 - > 0x3fff3c00 246 | [13:12:53][V][lvgl:038]: free 0x3fff3c00 247 | [13:12:53][V][lvgl:031]: allocate 30 - > 0x3ffe2668 248 | [13:12:53][V][lvgl:038]: free 0x3ffe2668 249 | [13:12:53][V][lvgl:031]: allocate 48 - > 0x3ffe3c18 250 | [13:12:53][V][lvgl:038]: free 0x3fff3050 251 | [13:12:53][V][lvgl:031]: allocate 36 - > 0x3ffe2c48 252 | [13:12:53][V][lvgl:455]: flush_cb, area=62/102, 66/28 took 4ms 253 | [13:12:53][V][lvgl:038]: free 0x3ffe3b6c 254 | [13:12:53][V][lvgl:038]: free 0x3fff3358 255 | [13:12:53][V][lvgl:038]: free 0x3ffe3870 256 | [13:12:53][V][lvgl:038]: free 0x3ffe3c18 257 | [13:12:53][V][lvgl:038]: free 0x3ffe2c48 258 | [13:12:53][V][lvgl:038]: free 0x3ffe36d4 259 | [13:12:53][W][component:232]: Component lvgl took a long time for an operation (167 ms). 260 | [13:12:53][W][component:233]: Components should block for at most 30 ms. 261 | -------------------------------------------------------------------------------- /geekmagic-lvgl-working-ESP32E-N8R2: -------------------------------------------------------------------------------- 1 | esphome: 2 | name: geekmagic-working 3 | friendly_name: geekmagic-working 4 | on_boot: 5 | then: 6 | - light.turn_on: 7 | id: back_light 8 | brightness: 55% 9 | 10 | esp32: 11 | board: esp32dev 12 | flash_size: 8MB 13 | framework: 14 | type: arduino 15 | 16 | # Enable logging 17 | logger: 18 | level: DEBUG 19 | 20 | # Enable Home Assistant API 21 | api: 22 | encryption: 23 | key: 24 | 25 | ota: 26 | password: 27 | 28 | wifi: 29 | ssid: !secret wifi_ssid 30 | password: !secret wifi_password 31 | 32 | external_components: 33 | - source: 34 | type: git 35 | url: https://github.com/clydebarrow/esphome 36 | ref: fd15094c0860df23d532881df36cfd16c7da1091 #previous commit - wont be needed in the future 37 | components: [ lvgl ] 38 | 39 | debug: 40 | update_interval: 5s 41 | 42 | text_sensor: 43 | - platform: debug 44 | device: 45 | name: "Device Info" 46 | reset_reason: 47 | name: "Reset Reason" 48 | 49 | # Define a PWM output on the ESP32 50 | output: 51 | - platform: ledc 52 | pin: GPIO25 53 | inverted: True 54 | id: backlight_pwm 55 | 56 | # Define a monochromatic, dimmable light for the backlight 57 | light: 58 | - platform: monochromatic 59 | output: backlight_pwm 60 | name: "Display Backlight" 61 | id: back_light 62 | restore_mode: ALWAYS_ON 63 | 64 | esp32_touch: 65 | # setup_mode: true 66 | 67 | binary_sensor: 68 | - platform: esp32_touch 69 | #name: "Touch Button" 70 | pin: GPIO32 71 | threshold: 1375 72 | id: gp32 73 | internal: true 74 | on_click: 75 | then: 76 | lvgl.page.next: 77 | 78 | spi: 79 | clk_pin: GPIO18 80 | mosi_pin: GPIO23 81 | interface: hardware 82 | id: spihwd 83 | 84 | display: 85 | - platform: ili9xxx 86 | id: lcd_display 87 | model: st7789v 88 | spi_id: spihwd 89 | #data_rate: 20MHz #oringal device uses 20mhz - 40 is default and works - does not work at 80mhz 90 | #cs_pin: GPIO03 #CS pin is connected to gnd I believe 91 | dc_pin: GPIO02 92 | reset_pin: GPIO04 93 | spi_mode: MODE3 #since no cs pin default is mode0 94 | dimensions: 95 | width: 240 96 | height: 240 97 | offset_height: 0 98 | offset_width: 0 99 | invert_colors: true 100 | update_interval: never 101 | auto_clear_enabled: false 102 | 103 | time: 104 | - platform: sntp 105 | id: time_comp 106 | 107 | number: 108 | - platform: template 109 | initial_value: 0 110 | id: counting_number 111 | internal: True 112 | min_value: -10 113 | max_value: 10 114 | step: 1 115 | optimistic: True 116 | 117 | sensor: 118 | - platform: wifi_signal 119 | # name: "WiFi Signal Sensor" 120 | internal: True 121 | id: wifi_signal_sensor 122 | update_interval: 1s 123 | - platform: uptime 124 | id: uptime_counter 125 | update_interval: 1s 126 | accuracy_decimals: 0 127 | on_raw_value: 128 | then: 129 | - number.increment: 130 | id: counting_number 131 | cycle: True 132 | - script.execute: update_display 133 | - platform: debug 134 | free: 135 | name: "Heap Free" 136 | block: 137 | name: "Heap Max Block" 138 | loop_time: 139 | name: "Loop Time" 140 | psram: 141 | name: "Free PSRAM" 142 | - platform: homeassistant 143 | id: ha_battery_power_net 144 | entity_id: sensor.emporia_garage_total_power 145 | #internal: True 146 | on_value_range: 147 | - above: 0.0 148 | then: 149 | - lvgl.label.update: 150 | id: battery_charging_discharging 151 | text_color: 0x00FF00 152 | text: "charging" 153 | - lvgl.label.update: 154 | id: label_battery_power 155 | text_color: 0x00FF00 156 | - below: 0.0 157 | then: 158 | - lvgl.label.update: 159 | id: battery_charging_discharging 160 | text_color: 0xFF0000 161 | text: "discharging" 162 | - lvgl.label.update: 163 | id: label_battery_power 164 | text_color: 0xFF0000 165 | 166 | script: 167 | - id: update_display 168 | then: 169 | - lvgl.indicator.line.update: 170 | id: indicator_battery_power 171 | value: !lambda return id(counting_number).state * 10; #multiply by 10 because LVGL meter only supports integers 172 | - lvgl.label.update: 173 | id: label_battery_power 174 | text: 175 | format: "%.1fkW" 176 | args: [ 'id(ha_battery_power_net).state' ] 177 | - lvgl.label.update: 178 | id: label_battery_soc 179 | text: 180 | format: "%.1f%%" 181 | args: [ 'id(counting_number).state' ] 182 | - lvgl.label.update: 183 | id: label_house_power 184 | text: 185 | format: "%.1fkW" 186 | args: [ 'id(ha_battery_power_net).state' ] 187 | - lvgl.label.update: 188 | id: label_hydro_power 189 | text: 190 | format: "%.1fkW" 191 | args: [ 'id(counting_number).state' ] 192 | - lvgl.label.update: 193 | id: label_solar_power 194 | text: 195 | format: "%.1fkW" 196 | args: [ 'id(ha_battery_power_net).state' ] 197 | - lvgl.label.update: 198 | id: label_dump_load 199 | text: 200 | format: "%.1fkW" 201 | args: [ 'id(ha_battery_power_net).state' ] 202 | 203 | 204 | #- lvgl.img.update: 205 | #id: img_power 206 | #src: power_icon 207 | #img_recolor: 0xFFF000 #mixes this color with the base image 208 | #img_recolor_opa: 100% #opacity defaults to 0% = must set this for recolor to take effect 209 | #bg_color: 0xFFFFFF 210 | 211 | image: 212 | - file: mdi:car-battery 213 | id: icon_battery 214 | resize: 35x35 215 | - file: mdi:home-lightning-bolt-outline 216 | id: icon_house 217 | resize: 35x35 218 | - file: mdi:hydro-power 219 | id: icon_hydro 220 | resize: 35x35 221 | - file: mdi:sun-wireless-outline 222 | id: icon_solar 223 | resize: 35x35 224 | - file: mdi:resistor 225 | id: icon_dump_load 226 | resize: 35x35 227 | - file: mdi:navigation 228 | id: icon_pointer 229 | resize: 40x20 230 | # mdi:sun-wireless-outline 231 | # mdi:solar-power 232 | # mdi:battery-charging-outline 233 | # mdi:battery-arrow-up-outline 234 | # mdi:battery-arrow-down-outline 235 | # mdi:lightning-bolt 236 | 237 | lvgl: 238 | log_level: INFO 239 | color_depth: 16 240 | bg_color: 0 241 | border_width: 0 242 | outline_width: 0 243 | #shadow_width: 0 244 | text_font: unscii_16 245 | align: center 246 | style_definitions: 247 | - id: font_style 248 | text_font: MONTSERRAT_28 249 | #text_font: unscii_16 250 | align: center 251 | text_color: 0xFFFFFF 252 | #bg_opa: cover 253 | bg_opa: TRANSP 254 | bg_color: 0 255 | radius: 4 256 | pad_all: 2 257 | - id: details_style 258 | text_font: MONTSERRAT_16 259 | align: center 260 | text_color: 0xFFFFFF 261 | #bg_opa: cover 262 | bg_opa: TRANSP 263 | bg_color: 0 264 | radius: 4 265 | pad_all: 2 266 | page_wrap: true 267 | pages: 268 | - id: main_page 269 | widgets: 270 | - obj: # Meter 271 | height: 240 # needed to be explicitily defined for my round display to not have weird border line overlapping gauge 272 | width: 240 273 | align: center 274 | bg_color: 0 275 | #bg_opa: TRANSP 276 | border_width: 0 277 | outline_width: 0 278 | #shadow_width: 0 279 | pad_all: 0 280 | scrollbar_mode: "off" 281 | clip_corner: true 282 | radius: 120 283 | widgets: 284 | - meter: # Gradient color arc 285 | height: 100% 286 | width: 100% 287 | border_width: 0 288 | outline_width: 0 289 | align: center 290 | bg_color: 0 291 | #bg_opa: TRANSP 292 | scales: 293 | angle_range: 180 # sets the total angle to 180 = starts mid left and ends mid right 294 | range_from: -100 295 | range_to: 100 296 | ticks: 297 | count: 0 298 | indicators: 299 | - line: 300 | id: indicator_battery_power 301 | width: 8 302 | color: 0xFFFFFF 303 | r_mod: 20 #increase radius to maximize screen utilization 304 | value: 0 # initial value 305 | #- img: 306 | # src: icon_house #doesnt seem to be fully implemented yet 307 | # id: indicator_battery_power 308 | # value: 0 # initial value 309 | - arc: 310 | color: 0xFF3000 311 | r_mod: 20 #increase radius to maximize screen utilization 312 | width: 26 313 | start_value: -100 314 | end_value: 0 315 | - arc: 316 | color: 0x00FF00 317 | r_mod: 20 318 | width: 26 319 | start_value: 0 320 | end_value: 100 321 | - obj: # to erase middle part of meter indicator line 322 | height: 180 323 | width: 180 324 | radius: 90 #should be half of the height, width to make a circle 325 | align: center 326 | border_width: 0 327 | pad_all: 0 328 | bg_color: 0 329 | - label: # gauge lower and higher range indicators 330 | styles: font_style 331 | text_font: MONTSERRAT_18 # override font size 332 | y: 10 #positive = lower 333 | x: -102 334 | text: "-10" 335 | - label: 336 | styles: font_style 337 | text_font: MONTSERRAT_18 # override font size 338 | y: 10 339 | x: 102 340 | text: "+10" 341 | - label: 342 | styles: font_style 343 | id: label_battery_power 344 | y: -70 #negative = higher 345 | - label: 346 | styles: font_style 347 | id: battery_charging_discharging 348 | hidden: true #turn off for now 349 | y: -35 350 | - label: 351 | styles: font_style 352 | #text_font: MONTSERRAT_32 # override font size 353 | id: label_battery_soc 354 | y: -38 355 | x: 30 #positive = to the right of center 356 | - label: 357 | styles: font_style 358 | id: label_house_power 359 | text_color: 0xffffff 360 | y: -6 #positive = below center 361 | x: 30 #positive = to the right of center 362 | - label: 363 | styles: font_style 364 | id: label_hydro_power 365 | text_color: 0x1e90ff 366 | y: 26 #positive = below center 367 | x: 30 #positive = to the right of center 368 | - label: 369 | styles: font_style 370 | id: label_solar_power 371 | text_color: 0xffff00 372 | y: 58 #positive = below center 373 | x: 30 #positive = to the right of center 374 | - label: 375 | styles: font_style 376 | id: label_dump_load 377 | text_color: 0xff0000 378 | y: 90 #positive = below center 379 | x: 30 #positive = to the right of center 380 | - img: 381 | src: icon_battery 382 | align: center 383 | img_recolor: 0xffffff 384 | img_recolor_opa: 100% #opacity defaults to 0% = must set this for recolor to take effect 385 | y: -38 #positive = below center 386 | x: -40 #negative = to the left 387 | - img: 388 | src: icon_house 389 | align: center 390 | img_recolor: 0xffffff 391 | img_recolor_opa: 100% #opacity defaults to 0% = must set this for recolor to take effect 392 | y: -6 #positive = below center 393 | x: -40 #negative = to the left 394 | - img: 395 | src: icon_hydro 396 | #id: img_hydro 397 | align: center 398 | img_recolor: 0x1e90ff 399 | img_recolor_opa: 100% #opacity defaults to 0% = must set this for recolor to take effect 400 | y: 26 #positive = below center 401 | x: -40 #negative = to the left 402 | - img: 403 | src: icon_solar 404 | #id: img_hydro 405 | align: center 406 | img_recolor: 0xffff00 407 | img_recolor_opa: 100% #opacity defaults to 0% = must set this for recolor to take effect 408 | y: 58 #positive = below center 409 | x: -40 #negative = to the left 410 | - img: 411 | src: icon_dump_load 412 | #id: img_hydro 413 | align: center 414 | img_recolor: 0xff0000 415 | img_recolor_opa: 100% #opacity defaults to 0% = must set this for recolor to take effect 416 | y: 90 #positive = below center 417 | x: -40 #negative = to the left 418 | - id: advanced 419 | widgets: 420 | - label: 421 | styles: font_style 422 | text_font: MONTSERRAT_18 # override font size 423 | y: 0 #negative = higher 424 | x: 0 425 | text: "Settings Page" 426 | -------------------------------------------------------------------------------- /lambda-logs.txt: -------------------------------------------------------------------------------- 1 | [13:32:39][C][logger:166]: Logger: 2 | [13:32:39][C][logger:167]: Level: VERBOSE 3 | [13:32:39][C][logger:169]: Log Baud Rate: 0 4 | [13:32:39][C][logger:170]: Hardware UART: UART0 5 | [13:32:39][C][logger:174]: Level for 'light.component': ERROR 6 | [13:32:39][C][logger:174]: Level for 'light.output': ERROR 7 | [13:32:39][C][logger:174]: Level for 'number.component': ERROR 8 | [13:32:39][C][logger:174]: Level for 'ledc.output': ERROR 9 | [13:32:39][C][logger:174]: Level for 'template.number': ERROR 10 | [13:32:39][C][spi:068]: SPI bus: 11 | [13:32:39][C][spi:069]: CLK Pin: GPIO18 12 | [13:32:39][C][spi:070]: SDI Pin: 13 | [13:32:39][C][spi:071]: SDO Pin: GPIO23 14 | [13:32:39][C][spi:076]: Using HW SPI: SPI 15 | [13:32:39][C][ili9xxx:075]: ili9xxx 16 | [13:32:39][C][ili9xxx:075]: Rotations: 0 ° 17 | [13:32:39][C][ili9xxx:075]: Dimensions: 240px x 240px 18 | [13:32:39][C][ili9xxx:076]: Width Offset: 0 19 | [13:32:39][C][ili9xxx:077]: Height Offset: 0 20 | [13:32:39][C][ili9xxx:086]: Color mode: 8bit 332 mode 21 | [13:32:39][C][ili9xxx:092]: Data rate: 20MHz 22 | [13:32:39][C][ili9xxx:094]: Reset Pin: GPIO4 23 | [13:32:39][C][ili9xxx:096]: DC Pin: GPIO2 24 | [13:32:39][C][ili9xxx:098]: Color order: BGR 25 | [13:32:39][C][ili9xxx:099]: Swap_xy: NO 26 | [13:32:39][C][ili9xxx:100]: Mirror_x: NO 27 | [13:32:39][C][ili9xxx:101]: Mirror_y: NO 28 | [13:32:39][C][ili9xxx:106]: Update Interval: 1.0s 29 | [13:32:39][C][light:103]: Light 'Display Backlight' 30 | [13:32:39][C][light:105]: Default Transition Length: 1.0s 31 | [13:32:39][C][light:106]: Gamma Correct: 2.80 32 | [13:32:39][C][esp32_touch:073]: Config for ESP32 Touch Hub: 33 | [13:32:39][C][esp32_touch:074]: Meas cycle: 8.19ms 34 | [13:32:39][C][esp32_touch:075]: Sleep cycle: 27.31ms 35 | [13:32:39][C][esp32_touch:095]: Low Voltage Reference: 0.5V 36 | [13:32:39][C][esp32_touch:115]: High Voltage Reference: 2.7V 37 | [13:32:39][C][esp32_touch:135]: Voltage Attenuation: 0V 38 | [13:32:39][C][esp32_touch:251]: IIR Filter DISABLED 39 | [13:32:39][C][psram:020]: PSRAM: 40 | [13:32:39][C][psram:021]: Available: NO 41 | [13:32:39][C][captive_portal:088]: Captive Portal: 42 | [13:32:39][C][sntp:055]: SNTP Time: 43 | [13:32:39][C][sntp:056]: Server 1: '0.pool.ntp.org' 44 | [13:32:39][C][sntp:057]: Server 2: '1.pool.ntp.org' 45 | [13:32:39][C][sntp:058]: Server 3: '2.pool.ntp.org' 46 | [13:32:39][C][sntp:059]: Timezone: 'HST10' 47 | [13:32:39][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 48 | [13:32:39][V][ili9xxx:233]: Doing multiple write 49 | [13:32:39][V][ili9xxx:279]: Data write took 82ms 50 | [13:32:39][W][component:232]: Component display took a long time for an operation (98 ms). 51 | [13:32:39][W][component:233]: Components should block for at most 30 ms. 52 | [13:32:39][C][mdns:115]: mDNS: 53 | [13:32:39][C][mdns:116]: Hostname: geekmagic-hilo 54 | [13:32:39][V][mdns:117]: Services: 55 | [13:32:39][V][mdns:119]: - _esphomelib, _tcp, 6053 56 | [13:32:39][V][mdns:121]: TXT: friendly_name = geekmagic-hilo 57 | [13:32:39][V][mdns:121]: TXT: version = 2024.4.0-dev 58 | [13:32:39][V][mdns:121]: TXT: mac = cc7b5ca729e0 59 | [13:32:39][V][mdns:121]: TXT: platform = ESP32 60 | [13:32:39][V][mdns:121]: TXT: board = esp32dev 61 | [13:32:39][V][mdns:121]: TXT: network = wifi 62 | [13:32:39][V][mdns:121]: TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256 63 | [13:32:39][C][ota:096]: Over-The-Air Updates: 64 | [13:32:39][C][ota:097]: Address: geekmagic-hilo.local:3232 65 | [13:32:39][C][ota:100]: Using Password. 66 | [13:32:40][C][ota:103]: OTA version: 2. 67 | [13:32:40][C][api:139]: API Server: 68 | [13:32:40][C][api:140]: Address: geekmagic-hilo.local:6053 69 | [13:32:40][C][api:142]: Using noise encryption: YES 70 | [13:32:40][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 71 | [13:32:40][V][ili9xxx:233]: Doing multiple write 72 | [13:32:40][V][ili9xxx:279]: Data write took 83ms 73 | [13:32:40][W][component:232]: Component display took a long time for an operation (99 ms). 74 | [13:32:40][W][component:233]: Components should block for at most 30 ms. 75 | [13:32:41][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 76 | [13:32:41][V][ili9xxx:233]: Doing multiple write 77 | [13:32:41][V][ili9xxx:279]: Data write took 82ms 78 | [13:32:41][W][component:232]: Component display took a long time for an operation (98 ms). 79 | [13:32:41][W][component:233]: Components should block for at most 30 ms. 80 | [13:32:42][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 81 | [13:32:42][V][ili9xxx:233]: Doing multiple write 82 | [13:32:42][V][ili9xxx:279]: Data write took 83ms 83 | [13:32:42][W][component:232]: Component display took a long time for an operation (98 ms). 84 | [13:32:42][W][component:233]: Components should block for at most 30 ms. 85 | [13:32:43][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 86 | [13:32:43][V][ili9xxx:233]: Doing multiple write 87 | [13:32:43][V][ili9xxx:279]: Data write took 84ms 88 | [13:32:43][W][component:232]: Component display took a long time for an operation (99 ms). 89 | [13:32:43][W][component:233]: Components should block for at most 30 ms. 90 | [13:32:44][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 91 | [13:32:44][V][ili9xxx:233]: Doing multiple write 92 | [13:32:44][V][ili9xxx:279]: Data write took 83ms 93 | [13:32:44][W][component:232]: Component display took a long time for an operation (99 ms). 94 | [13:32:44][W][component:233]: Components should block for at most 30 ms. 95 | [13:32:45][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 96 | [13:32:45][V][ili9xxx:233]: Doing multiple write 97 | [13:32:45][V][ili9xxx:279]: Data write took 83ms 98 | [13:32:45][W][component:232]: Component display took a long time for an operation (99 ms). 99 | [13:32:45][W][component:233]: Components should block for at most 30 ms. 100 | [13:32:46][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 101 | [13:32:46][V][ili9xxx:233]: Doing multiple write 102 | [13:32:46][V][ili9xxx:279]: Data write took 83ms 103 | [13:32:46][W][component:232]: Component display took a long time for an operation (98 ms). 104 | [13:32:46][W][component:233]: Components should block for at most 30 ms. 105 | [13:32:47][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 106 | [13:32:47][V][ili9xxx:233]: Doing multiple write 107 | [13:32:47][V][ili9xxx:279]: Data write took 84ms 108 | [13:32:47][W][component:232]: Component display took a long time for an operation (99 ms). 109 | [13:32:47][W][component:233]: Components should block for at most 30 ms. 110 | [13:32:48][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 111 | [13:32:48][V][ili9xxx:233]: Doing multiple write 112 | [13:32:48][V][ili9xxx:279]: Data write took 83ms 113 | [13:32:48][W][component:232]: Component display took a long time for an operation (98 ms). 114 | [13:32:48][W][component:233]: Components should block for at most 30 ms. 115 | [13:32:49][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 116 | [13:32:49][V][ili9xxx:233]: Doing multiple write 117 | [13:32:49][V][ili9xxx:279]: Data write took 83ms 118 | [13:32:49][W][component:232]: Component display took a long time for an operation (99 ms). 119 | [13:32:49][W][component:233]: Components should block for at most 30 ms. 120 | [13:32:50][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 121 | [13:32:50][V][ili9xxx:233]: Doing multiple write 122 | [13:32:50][V][ili9xxx:279]: Data write took 83ms 123 | [13:32:50][W][component:232]: Component display took a long time for an operation (99 ms). 124 | [13:32:50][W][component:233]: Components should block for at most 30 ms. 125 | [13:32:51][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 126 | [13:32:51][V][ili9xxx:233]: Doing multiple write 127 | [13:32:51][V][ili9xxx:279]: Data write took 84ms 128 | [13:32:51][W][component:232]: Component display took a long time for an operation (100 ms). 129 | [13:32:51][W][component:233]: Components should block for at most 30 ms. 130 | [13:32:52][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 131 | [13:32:52][V][ili9xxx:233]: Doing multiple write 132 | [13:32:52][V][ili9xxx:279]: Data write took 83ms 133 | [13:32:52][W][component:232]: Component display took a long time for an operation (99 ms). 134 | [13:32:52][W][component:233]: Components should block for at most 30 ms. 135 | [13:32:53][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 136 | [13:32:53][V][ili9xxx:233]: Doing multiple write 137 | [13:32:53][V][ili9xxx:279]: Data write took 84ms 138 | [13:32:53][W][component:232]: Component display took a long time for an operation (100 ms). 139 | [13:32:53][W][component:233]: Components should block for at most 30 ms. 140 | [13:32:54][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 141 | [13:32:54][V][ili9xxx:233]: Doing multiple write 142 | [13:32:54][V][ili9xxx:279]: Data write took 83ms 143 | [13:32:54][W][component:232]: Component display took a long time for an operation (99 ms). 144 | [13:32:54][W][component:233]: Components should block for at most 30 ms. 145 | [13:32:55][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 146 | [13:32:55][V][ili9xxx:233]: Doing multiple write 147 | [13:32:55][V][ili9xxx:279]: Data write took 83ms 148 | [13:32:55][W][component:232]: Component display took a long time for an operation (98 ms). 149 | [13:32:55][W][component:233]: Components should block for at most 30 ms. 150 | [13:32:56][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 151 | [13:32:56][V][ili9xxx:233]: Doing multiple write 152 | [13:32:56][V][ili9xxx:279]: Data write took 83ms 153 | [13:32:56][W][component:232]: Component display took a long time for an operation (98 ms). 154 | [13:32:56][W][component:233]: Components should block for at most 30 ms. 155 | [13:32:57][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 156 | [13:32:57][V][ili9xxx:233]: Doing multiple write 157 | [13:32:57][V][ili9xxx:279]: Data write took 83ms 158 | [13:32:57][W][component:232]: Component display took a long time for an operation (98 ms). 159 | [13:32:57][W][component:233]: Components should block for at most 30 ms. 160 | [13:32:58][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 161 | [13:32:58][V][ili9xxx:233]: Doing multiple write 162 | [13:32:58][V][ili9xxx:279]: Data write took 83ms 163 | [13:32:58][W][component:232]: Component display took a long time for an operation (99 ms). 164 | [13:32:58][W][component:233]: Components should block for at most 30 ms. 165 | [13:32:59][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 166 | [13:32:59][V][ili9xxx:233]: Doing multiple write 167 | [13:32:59][V][ili9xxx:279]: Data write took 82ms 168 | [13:32:59][W][component:232]: Component display took a long time for an operation (99 ms). 169 | [13:32:59][W][component:233]: Components should block for at most 30 ms. 170 | [13:33:00][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 171 | [13:33:00][V][ili9xxx:233]: Doing multiple write 172 | [13:33:00][V][ili9xxx:279]: Data write took 83ms 173 | [13:33:00][W][component:232]: Component display took a long time for an operation (98 ms). 174 | [13:33:00][W][component:233]: Components should block for at most 30 ms. 175 | [13:33:01][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 176 | [13:33:01][V][ili9xxx:233]: Doing multiple write 177 | [13:33:01][V][ili9xxx:279]: Data write took 83ms 178 | [13:33:01][W][component:232]: Component display took a long time for an operation (99 ms). 179 | [13:33:01][W][component:233]: Components should block for at most 30 ms. 180 | [13:33:02][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 181 | [13:33:02][V][ili9xxx:233]: Doing multiple write 182 | [13:33:02][V][ili9xxx:279]: Data write took 83ms 183 | [13:33:02][W][component:232]: Component display took a long time for an operation (99 ms). 184 | [13:33:02][W][component:233]: Components should block for at most 30 ms. 185 | [13:33:03][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 186 | [13:33:03][V][ili9xxx:233]: Doing multiple write 187 | [13:33:03][V][ili9xxx:279]: Data write took 83ms 188 | [13:33:03][W][component:232]: Component display took a long time for an operation (98 ms). 189 | [13:33:03][W][component:233]: Components should block for at most 30 ms. 190 | [13:33:04][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 191 | [13:33:04][V][ili9xxx:233]: Doing multiple write 192 | [13:33:04][V][ili9xxx:279]: Data write took 83ms 193 | [13:33:04][W][component:232]: Component display took a long time for an operation (99 ms). 194 | [13:33:04][W][component:233]: Components should block for at most 30 ms. 195 | [13:33:05][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 196 | [13:33:05][V][ili9xxx:233]: Doing multiple write 197 | [13:33:05][V][ili9xxx:279]: Data write took 84ms 198 | [13:33:05][W][component:232]: Component display took a long time for an operation (99 ms). 199 | [13:33:05][W][component:233]: Components should block for at most 30 ms. 200 | [13:33:06][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 201 | [13:33:06][V][ili9xxx:233]: Doing multiple write 202 | [13:33:06][V][ili9xxx:279]: Data write took 84ms 203 | [13:33:06][W][component:232]: Component display took a long time for an operation (99 ms). 204 | [13:33:06][W][component:233]: Components should block for at most 30 ms. 205 | [13:33:07][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 206 | [13:33:07][V][ili9xxx:233]: Doing multiple write 207 | [13:33:07][V][ili9xxx:279]: Data write took 83ms 208 | [13:33:07][W][component:232]: Component display took a long time for an operation (98 ms). 209 | [13:33:07][W][component:233]: Components should block for at most 30 ms. 210 | [13:33:08][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 211 | [13:33:08][V][ili9xxx:233]: Doing multiple write 212 | [13:33:08][V][ili9xxx:279]: Data write took 83ms 213 | [13:33:08][W][component:232]: Component display took a long time for an operation (98 ms). 214 | [13:33:08][W][component:233]: Components should block for at most 30 ms. 215 | [13:33:09][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 216 | [13:33:09][V][ili9xxx:233]: Doing multiple write 217 | [13:33:09][V][ili9xxx:279]: Data write took 84ms 218 | [13:33:09][W][component:232]: Component display took a long time for an operation (99 ms). 219 | [13:33:09][W][component:233]: Components should block for at most 30 ms. 220 | [13:33:10][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 221 | [13:33:10][V][ili9xxx:233]: Doing multiple write 222 | [13:33:10][V][ili9xxx:279]: Data write took 83ms 223 | [13:33:10][W][component:232]: Component display took a long time for an operation (99 ms). 224 | [13:33:10][W][component:233]: Components should block for at most 30 ms. 225 | [13:33:11][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 226 | [13:33:11][V][ili9xxx:233]: Doing multiple write 227 | [13:33:11][V][ili9xxx:279]: Data write took 83ms 228 | [13:33:11][W][component:232]: Component display took a long time for an operation (99 ms). 229 | [13:33:11][W][component:233]: Components should block for at most 30 ms. 230 | [13:33:12][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 231 | [13:33:12][V][ili9xxx:233]: Doing multiple write 232 | [13:33:12][V][ili9xxx:279]: Data write took 82ms 233 | [13:33:12][W][component:232]: Component display took a long time for an operation (98 ms). 234 | [13:33:12][W][component:233]: Components should block for at most 30 ms. 235 | [13:33:13][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 236 | [13:33:13][V][ili9xxx:233]: Doing multiple write 237 | [13:33:13][V][ili9xxx:279]: Data write took 84ms 238 | [13:33:13][W][component:232]: Component display took a long time for an operation (99 ms). 239 | [13:33:13][W][component:233]: Components should block for at most 30 ms. 240 | [13:33:14][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 241 | [13:33:14][V][ili9xxx:233]: Doing multiple write 242 | [13:33:14][V][ili9xxx:279]: Data write took 84ms 243 | [13:33:14][W][component:232]: Component display took a long time for an operation (99 ms). 244 | [13:33:14][W][component:233]: Components should block for at most 30 ms. 245 | [13:33:15][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 246 | [13:33:15][V][ili9xxx:233]: Doing multiple write 247 | [13:33:15][V][ili9xxx:279]: Data write took 83ms 248 | [13:33:15][W][component:232]: Component display took a long time for an operation (99 ms). 249 | [13:33:15][W][component:233]: Components should block for at most 30 ms. 250 | [13:33:16][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 251 | [13:33:16][V][ili9xxx:233]: Doing multiple write 252 | [13:33:16][V][ili9xxx:279]: Data write took 83ms 253 | [13:33:16][W][component:232]: Component display took a long time for an operation (99 ms). 254 | [13:33:16][W][component:233]: Components should block for at most 30 ms. 255 | [13:33:17][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 256 | [13:33:17][V][ili9xxx:233]: Doing multiple write 257 | [13:33:17][V][ili9xxx:279]: Data write took 84ms 258 | [13:33:17][W][component:232]: Component display took a long time for an operation (99 ms). 259 | [13:33:17][W][component:233]: Components should block for at most 30 ms. 260 | [13:33:18][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 261 | [13:33:18][V][ili9xxx:233]: Doing multiple write 262 | [13:33:18][V][ili9xxx:279]: Data write took 83ms 263 | [13:33:18][W][component:232]: Component display took a long time for an operation (98 ms). 264 | [13:33:18][W][component:233]: Components should block for at most 30 ms. 265 | [13:33:19][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 266 | [13:33:19][V][ili9xxx:233]: Doing multiple write 267 | [13:33:19][V][ili9xxx:279]: Data write took 84ms 268 | [13:33:19][W][component:232]: Component display took a long time for an operation (99 ms). 269 | [13:33:19][W][component:233]: Components should block for at most 30 ms. 270 | [13:33:20][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 271 | [13:33:20][V][ili9xxx:233]: Doing multiple write 272 | [13:33:20][V][ili9xxx:279]: Data write took 82ms 273 | [13:33:20][W][component:232]: Component display took a long time for an operation (98 ms). 274 | [13:33:20][W][component:233]: Components should block for at most 30 ms. 275 | [13:33:21][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 276 | [13:33:21][V][ili9xxx:233]: Doing multiple write 277 | [13:33:21][V][ili9xxx:279]: Data write took 83ms 278 | [13:33:21][W][component:232]: Component display took a long time for an operation (98 ms). 279 | [13:33:21][W][component:233]: Components should block for at most 30 ms. 280 | [13:33:22][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 281 | [13:33:22][V][ili9xxx:233]: Doing multiple write 282 | [13:33:22][V][ili9xxx:279]: Data write took 83ms 283 | [13:33:22][W][component:232]: Component display took a long time for an operation (98 ms). 284 | [13:33:22][W][component:233]: Components should block for at most 30 ms. 285 | [13:33:23][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 286 | [13:33:23][V][ili9xxx:233]: Doing multiple write 287 | [13:33:23][V][ili9xxx:279]: Data write took 83ms 288 | [13:33:23][W][component:232]: Component display took a long time for an operation (99 ms). 289 | [13:33:23][W][component:233]: Components should block for at most 30 ms. 290 | [13:33:24][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 291 | [13:33:24][V][ili9xxx:233]: Doing multiple write 292 | [13:33:24][V][ili9xxx:279]: Data write took 83ms 293 | [13:33:24][W][component:232]: Component display took a long time for an operation (98 ms). 294 | [13:33:24][W][component:233]: Components should block for at most 30 ms. 295 | [13:33:25][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 296 | [13:33:25][V][ili9xxx:233]: Doing multiple write 297 | [13:33:25][V][ili9xxx:279]: Data write took 82ms 298 | [13:33:25][W][component:232]: Component display took a long time for an operation (97 ms). 299 | [13:33:25][W][component:233]: Components should block for at most 30 ms. 300 | [13:33:26][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 301 | [13:33:26][V][ili9xxx:233]: Doing multiple write 302 | [13:33:26][V][ili9xxx:279]: Data write took 83ms 303 | [13:33:26][W][component:232]: Component display took a long time for an operation (98 ms). 304 | [13:33:26][W][component:233]: Components should block for at most 30 ms. 305 | [13:33:27][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 306 | [13:33:27][V][ili9xxx:233]: Doing multiple write 307 | [13:33:27][V][ili9xxx:279]: Data write took 83ms 308 | [13:33:27][W][component:232]: Component display took a long time for an operation (99 ms). 309 | [13:33:27][W][component:233]: Components should block for at most 30 ms. 310 | [13:33:28][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 311 | [13:33:28][V][ili9xxx:233]: Doing multiple write 312 | [13:33:28][V][ili9xxx:279]: Data write took 84ms 313 | [13:33:28][W][component:232]: Component display took a long time for an operation (99 ms). 314 | [13:33:28][W][component:233]: Components should block for at most 30 ms. 315 | [13:33:29][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 316 | [13:33:29][V][ili9xxx:233]: Doing multiple write 317 | [13:33:29][V][ili9xxx:279]: Data write took 83ms 318 | [13:33:29][W][component:232]: Component display took a long time for an operation (98 ms). 319 | [13:33:29][W][component:233]: Components should block for at most 30 ms. 320 | [13:33:30][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 321 | [13:33:30][V][ili9xxx:233]: Doing multiple write 322 | [13:33:30][V][ili9xxx:279]: Data write took 83ms 323 | [13:33:30][W][component:232]: Component display took a long time for an operation (98 ms). 324 | [13:33:30][W][component:233]: Components should block for at most 30 ms. 325 | [13:33:31][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 326 | [13:33:31][V][ili9xxx:233]: Doing multiple write 327 | [13:33:31][V][ili9xxx:279]: Data write took 84ms 328 | [13:33:31][W][component:232]: Component display took a long time for an operation (99 ms). 329 | [13:33:31][W][component:233]: Components should block for at most 30 ms. 330 | [13:33:32][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 331 | [13:33:32][V][ili9xxx:233]: Doing multiple write 332 | [13:33:32][V][ili9xxx:279]: Data write took 83ms 333 | [13:33:32][W][component:232]: Component display took a long time for an operation (99 ms). 334 | [13:33:32][W][component:233]: Components should block for at most 30 ms. 335 | [13:33:33][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 336 | [13:33:33][V][ili9xxx:233]: Doing multiple write 337 | [13:33:33][V][ili9xxx:279]: Data write took 82ms 338 | [13:33:33][W][component:232]: Component display took a long time for an operation (98 ms). 339 | [13:33:33][W][component:233]: Components should block for at most 30 ms. 340 | [13:33:34][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 341 | [13:33:34][V][ili9xxx:233]: Doing multiple write 342 | [13:33:34][V][ili9xxx:279]: Data write took 83ms 343 | [13:33:34][W][component:232]: Component display took a long time for an operation (99 ms). 344 | [13:33:34][W][component:233]: Components should block for at most 30 ms. 345 | [13:33:35][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 346 | [13:33:35][V][ili9xxx:233]: Doing multiple write 347 | [13:33:35][V][ili9xxx:279]: Data write took 84ms 348 | [13:33:35][W][component:232]: Component display took a long time for an operation (99 ms). 349 | [13:33:35][W][component:233]: Components should block for at most 30 ms. 350 | [13:33:36][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 351 | [13:33:36][V][ili9xxx:233]: Doing multiple write 352 | [13:33:36][V][ili9xxx:279]: Data write took 83ms 353 | [13:33:36][W][component:232]: Component display took a long time for an operation (99 ms). 354 | [13:33:36][W][component:233]: Components should block for at most 30 ms. 355 | [13:33:37][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 356 | [13:33:37][V][ili9xxx:233]: Doing multiple write 357 | [13:33:37][V][ili9xxx:279]: Data write took 83ms 358 | [13:33:37][W][component:232]: Component display took a long time for an operation (99 ms). 359 | [13:33:37][W][component:233]: Components should block for at most 30 ms. 360 | [13:33:38][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 361 | [13:33:38][V][ili9xxx:233]: Doing multiple write 362 | [13:33:38][V][ili9xxx:279]: Data write took 83ms 363 | [13:33:38][W][component:232]: Component display took a long time for an operation (98 ms). 364 | [13:33:38][W][component:233]: Components should block for at most 30 ms. 365 | [13:33:39][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 366 | [13:33:39][V][ili9xxx:233]: Doing multiple write 367 | [13:33:39][V][ili9xxx:279]: Data write took 82ms 368 | [13:33:39][W][component:232]: Component display took a long time for an operation (99 ms). 369 | [13:33:39][W][component:233]: Components should block for at most 30 ms. 370 | [13:33:40][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 371 | [13:33:40][V][ili9xxx:233]: Doing multiple write 372 | [13:33:40][V][ili9xxx:279]: Data write took 83ms 373 | [13:33:40][W][component:232]: Component display took a long time for an operation (99 ms). 374 | [13:33:40][W][component:233]: Components should block for at most 30 ms. 375 | [13:33:41][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 376 | [13:33:41][V][ili9xxx:233]: Doing multiple write 377 | [13:33:41][V][ili9xxx:279]: Data write took 84ms 378 | [13:33:41][W][component:232]: Component display took a long time for an operation (99 ms). 379 | [13:33:41][W][component:233]: Components should block for at most 30 ms. 380 | [13:33:42][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 381 | [13:33:42][V][ili9xxx:233]: Doing multiple write 382 | [13:33:42][V][ili9xxx:279]: Data write took 82ms 383 | [13:33:42][W][component:232]: Component display took a long time for an operation (99 ms). 384 | [13:33:42][W][component:233]: Components should block for at most 30 ms. 385 | [13:33:43][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 386 | [13:33:43][V][ili9xxx:233]: Doing multiple write 387 | [13:33:43][V][ili9xxx:279]: Data write took 83ms 388 | [13:33:43][W][component:232]: Component display took a long time for an operation (99 ms). 389 | [13:33:43][W][component:233]: Components should block for at most 30 ms. 390 | [13:33:44][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 391 | [13:33:44][V][ili9xxx:233]: Doing multiple write 392 | [13:33:44][V][ili9xxx:279]: Data write took 83ms 393 | [13:33:44][W][component:232]: Component display took a long time for an operation (99 ms). 394 | [13:33:44][W][component:233]: Components should block for at most 30 ms. 395 | [13:33:45][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 396 | [13:33:45][V][ili9xxx:233]: Doing multiple write 397 | [13:33:45][V][ili9xxx:279]: Data write took 83ms 398 | [13:33:45][W][component:232]: Component display took a long time for an operation (99 ms). 399 | [13:33:45][W][component:233]: Components should block for at most 30 ms. 400 | [13:33:46][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 401 | [13:33:46][V][ili9xxx:233]: Doing multiple write 402 | [13:33:46][V][ili9xxx:279]: Data write took 82ms 403 | [13:33:46][W][component:232]: Component display took a long time for an operation (99 ms). 404 | [13:33:46][W][component:233]: Components should block for at most 30 ms. 405 | [13:33:47][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 406 | [13:33:47][V][ili9xxx:233]: Doing multiple write 407 | [13:33:47][V][ili9xxx:279]: Data write took 84ms 408 | [13:33:47][W][component:232]: Component display took a long time for an operation (99 ms). 409 | [13:33:47][W][component:233]: Components should block for at most 30 ms. 410 | [13:33:48][V][ili9xxx:225]: Start display(xlow:0, ylow:0, xhigh:239, yhigh:239, width:240, height:240, mode=8, 18bit=0, sw_time=51680us, mw_time=137480us) 411 | [13:33:48][V][ili9xxx:233]: Doing multiple write 412 | [13:33:48][V][ili9xxx:279]: Data write took 84ms 413 | [13:33:48][W][component:232]: Component display took a long time for an operation (99 ms). 414 | [13:33:48][W][component:233]: Components should block for at most 30 ms. 415 | --------------------------------------------------------------------------------