Commit Graph
116 Commits
Author SHA1 Message Date
Edward Firmo c4fac1a2ae [nextion] Optimize component memory usage with bitfield state management (#9373) 2025-07-08 09:21:14 +12:00
J. Nick Koston 440de12e3f Don't compile unnecessary platform files (e.g. ESP8266 files on ESP32) (#9354) 2025-07-08 09:04:41 +12:00
Edward Firmo e88b8d10ec [nextion] Add optional device info storage configuration (#9366) 2025-07-07 12:04:01 -05:00
Edward Firmo c6f7e84256 [nextion] Review touch_sleep_timeout (#9345) 2025-07-07 07:30:34 -05:00
Edward FirmoandJesse Hills 4e25b6da7b [nextion] Optimize settings memory usage with compile-time defines (#9350)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2025-07-07 09:15:13 +00:00
Edward Firmo 2510b5ffb5 [nextion] Replace boolean flags with bitfields to optimize memory usage (#9359) 2025-07-07 04:07:03 +00:00
Edward Firmo f7019a4ed7 [nextion] Memory optimization (#9338) 2025-07-05 21:56:53 -05:00
Edward FirmoandJesse Hills fae96e279c [nextion] memory optimization (#9164)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2025-07-02 03:25:06 +00:00
Edward Firmo 7ab9083d77 [nextion] Revert to millis() on recv_ret_string_ (#9168) 2025-06-22 20:56:50 +00:00
Edward Firmo a6c20853ca [nextion] Extract common upload_end_ function to shared file (#9155) 2025-06-21 11:26:14 +02:00
7dbad42470 [nextion] Cached timing optimization (#9150)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
2025-06-20 07:46:12 +00:00
Edward FirmoandJesse Hills eb97781f68 [nextion] Add command queuing to prevent command loss when spacing is active (#9139)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2025-06-20 01:38:40 -05:00
Jesse Hills 30bea20f7a Clean up RAMAllocators in display related code (#9141) 2025-06-19 05:17:08 +00:00
Edward Firmo 2e9ac8945d [nextion] Fix command spacing double timing and response blocking issues (#9134) 2025-06-19 13:41:20 +12:00
Jonathan SwobodaandKuba Szczodrzyński aa180b9581 Bump ESP32 Arduino version to 3.1.3 (#8604)
Co-authored-by: Kuba Szczodrzyński <kuba@szczodrzynski.pl>
2025-06-19 08:16:25 +12:00
J. Nick Koston 4305c44440 Reduce entity memory usage by eliminating field shadowing and bit-packing (#9076) 2025-06-15 15:21:55 +12:00
Edward Firmo 2a629cae93 [nextion] Remove upload flags reset from success path to prevent TFT corruption (#9064) 2025-06-13 13:39:32 +12:00
Edward FirmoandKeith Burzinski 94848e4811 [nextion] Add configurable limit for commands processed per loop (#8972)
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
2025-06-10 07:27:46 +00:00
Edward Firmo 3174f7ae86 [nextion] Optimize log messages to reduce memory usage (#9039) 2025-06-09 18:51:08 -05:00
Edward Firmo b98165e077 [nextion] Use safe restart to properly handle globals and restart logging (#9010) 2025-06-08 21:10:36 -05:00
J. Nick Koston c0b05ada1a Reduce ESP_LOGCONFIG calls (#9026) 2025-06-09 00:02:30 +00:00
Edward Firmo 80fd827f8b [nextion] Add optional max_queue_size limit to prevent queue overflows (#8976) 2025-06-04 06:13:35 -05:00
Keith Burzinski 6675e99862 Remove unnecessary ellipsis (#8964) 2025-06-03 21:46:10 +01:00
Edward Firmo a2e4ad90ba [nextion] Allocate NextionQueue in PSRAM (if available) (#8979) 2025-05-31 02:52:42 -05:00
Edward FirmoandJesse Hills 8bbc509b0b [nextion] Adds a command pacer with command_spacing attribute (#7948)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2025-05-05 20:08:16 +12:00
dependabot[bot] 4adda632bb Bump ruff from 0.9.2 to 0.11.0 (#8409) 2025-03-20 09:51:23 -10:00
Keith Burzinski aa87c60717 [nextion] Brightness control tweaks (#8027) 2025-01-13 16:12:54 +13:00
Edward Firmo 9816c27031 [nextion] Remove _internal from non-protected functions (#7656) 2024-12-16 11:00:44 +13:00
Edward Firmo df4224e779 [nextion] Publishes is_connected() (#7961) 2024-12-16 07:30:47 +13:00
Keith Burzinski a825ef59d4 [nextion] clang-tidy fixes for #7822 (#7878) 2024-11-28 11:22:37 +13:00
Keith Burzinski 536bcab5de [nextion] clang-tidy fixes for #7822 (#7852) 2024-11-26 10:52:57 +01:00
Keith Burzinski 7f75f2135d [nextion] Remove assignment within if (#7824) 2024-11-25 08:22:50 +00:00
Petr KejvalandKeith Burzinski dea297c8d7 [nextion] Add publish actions (#7646)
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
2024-11-22 22:52:02 -06:00
Edward Firmo 846b091aac [nextion] New trigger on_buffer_overflow (#7772) 2024-11-21 07:28:21 +13:00
Edward FirmoandJesse Hills d0dc275e30 [nextion] Optionally skip connection handshake (#6905)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-09-19 16:08:15 +12:00
Jesse Hills e6b1780a31 Move `CONF_BACKGROUND_COLOR and CONF_FOREGROUND_COLOR` to const.py (#7202) 2024-08-06 04:39:47 -05:00
Edward Firmo 9d03f47233 [nextion] Add basic functions to Intelligent series (#6791) 2024-05-24 09:11:34 +12:00
Edward Firmo d410cc4f7b [nextion] Fix type on sprintf for IDF v5 (#6758) 2024-05-16 22:22:18 +12:00
Edward Firmo e48d02495b [nextion] Replace flags to USE_ARDUINO (#6700) 2024-05-09 07:05:24 +12:00
Edward FirmoandJesse Hills a4a23d73b3 [nextion] Use persistent http connection for TFT upload (ESP-IDF) (#6576)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-05-02 10:05:37 +12:00
Edward FirmoandJesse Hills c299dff124 [nextion] Use persistent http connection for TFT upload (Arduino) (#6582)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-05-01 09:43:49 +12:00
Edward Firmo 74fd52e05f [nextion] Set alternative TFT update baud rate (#6587) 2024-04-30 21:29:57 +12:00
Edward Firmo 05fbb260ee [nextion] Exit reparse before update TFT (#6589) 2024-04-30 10:09:35 +12:00
Edward Firmo 2e7ac26ada Nextion send_command method (#6540)
This is a simplified version of `send_command_printf` without the `printf` support.
Manually send a raw command to the display.
param command The pcommand, like "page 0"
return Whether the send was successful.
2024-04-18 02:16:49 +00:00
Edward Firmo 197f9d6d03 Nextion - Review types (#6565) 2024-04-18 12:10:10 +12:00
Edward Firmo 39deb89108 Nextion - Do not refresh sensors while updating (#6566) 2024-04-18 12:05:37 +12:00
Edward Firmo 8c323e2e4c Nextion - Review set_protocol_reparse_mode() (#6567) 2024-04-18 11:07:05 +12:00
Edward Firmo e753ac3a97 Fix Nextion set_component_picture call (#6378)
This fixes the call to the Nextion display to change the pic id from a component.
It was previously changing the attribute `val`, which is related to something else.
In addition, I've changed the parameter for picture_id to be uint_8, as Nextion requires an integer from 0 to 255 on this attribute.
2024-03-16 00:19:25 -05:00
Edward Firmo 4812997429 Nextion TFT upload IDF memory optimization (#6128)
* Nextion TFT upload IDF memory optimization

This optimizes the memory in use for TFT upload when using `esp-idf` framework.

Basically, the engine establishes 3 connections to the the http/https server:
1. Fetch the file size (used to manage chunks and file size)
2. Transfer the 1st chunk (when it evaluates Nextion response to define either to continue from that point or to another point in the file)
3. Transfer the remaining data.

Until now, connection 1 was kept open during the whole process taking aprox 40kb of heap in a esp32dev (NSPanel in my tests) and the same amount of memory was needed to the 2nd and 3rd connections (which never competes to each other).
With this change, each connection is closed and released before opening the next one with a significant reduction on the required heap needed for this transfer.

This can still be improved to use a persistent connection, but I will look at this in the future, so it is not part of this change.

In addition to the better connection management, I've added quite a lot of log (mostly at VERBOSE level), which was used for troubleshooting here.
I was unsure about removing this. As it can be useful for others, I decided to keep it, but I will be fine about removing it if this is now in line with ESPHome best practices.

* clang-format

* Log response length
2024-01-23 01:49:28 -06:00
Edward Firmo 869cdf122d Nextion draw QR code at runtime (#6027) 2024-01-09 09:47:48 +09:00