ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Go to file
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
.devcontainer feat(packages): support removing components (#5821) 2023-12-06 10:04:17 +09:00
.github Bump actions/cache from 3.3.2 to 4.0.0 (#6110) 2024-01-19 10:08:29 +09:00
.vscode proto generation updates (#4653) 2023-06-12 17:00:34 +12:00
docker Bump platformio from 6.1.11 to 6.1.13 (#6086) 2024-01-19 10:07:50 +09:00
esphome Nextion TFT upload IDF memory optimization (#6128) 2024-01-23 01:49:28 -06:00
script Proposal: Test yaml for each component (#5398) 2024-01-18 01:13:40 -06:00
tests OTA 2 which confirm each written chunk (#6066) 2024-01-19 13:18:06 +09:00
.clang-format Configure clang-format for consistent pointer alignment (#1890) 2021-06-10 12:55:20 +02:00
.clang-tidy Bump clang-tidy from 11 to 14 (#5160) 2023-07-31 07:44:56 +12:00
.coveragerc Unittests for esphome python code (#931) 2020-03-12 14:27:22 -07:00
.dockerignore More VSCode devcontainer improvements (#1934) 2021-06-22 16:37:05 +02:00
.editorconfig YAML linting (#3779) 2022-09-06 15:48:01 +12:00
.gitattributes Add transparency support to all image types (#4600) 2023-05-22 08:03:21 +12:00
.gitignore Wireguard component (#4256) 2023-09-12 07:13:24 +12:00
.pre-commit-config.yaml Bump black from 23.12.0 to 23.12.1 (#6018) 2024-01-08 16:12:08 -10:00
.yamllint YAML linting (#3779) 2022-09-06 15:48:01 +12:00
CODE_OF_CONDUCT.md Update email addresses (#1733) 2021-05-03 11:51:10 +12:00
CODEOWNERS Add support for Waveshare EPD 2.13" V3 (#5363) 2024-01-19 12:10:53 +09:00
CONTRIBUTING.md Remove lingering note (#5916) 2023-12-13 10:46:11 +09:00
LICENSE 🏗 Merge C++ into python codebase (#504) 2019-04-17 12:06:00 +02:00
MANIFEST.in Update Manifest to rmeove unused dashboard files and include .c ethernet drivers (#4459) 2023-02-19 19:12:29 +00:00
platformio.ini Enable networking and some other components on host platform (#6114) 2024-01-19 10:10:23 +09:00
pylintrc Bump pylint from 2.13.9 to 2.14.3 (#3589) 2022-06-21 16:27:33 +12:00
pyproject.toml Bump python min to 3.9 (#3871) 2022-10-05 20:09:27 +13:00
pytest.ini Unittests for esphome python code (#931) 2020-03-12 14:27:22 -07:00
README.md Rename master branch to release (#1976) 2021-07-02 15:42:36 +02:00
requirements_dev.txt clang-format and clang-tidy scripts: More robust algorithm to find correct executable (#6041) 2024-01-02 23:00:52 -06:00
requirements_optional.txt Bump pillow to 10.2.0. (#6091) 2024-01-15 08:48:02 +09:00
requirements_test.txt Bump black from 23.12.0 to 23.12.1 (#6018) 2024-01-08 16:12:08 -10:00
requirements.txt Bump platformio from 6.1.11 to 6.1.13 (#6086) 2024-01-19 10:07:50 +09:00
sdkconfig.defaults Set ESP32 watchdog to loop task (#2846) 2021-12-02 09:05:42 +13:00
setup.cfg add-black (#1593) 2021-03-07 16:03:16 -03:00
setup.py Bump python min to 3.9 (#3871) 2022-10-05 20:09:27 +13:00

ESPHome Discord Chat GitHub release

ESPHome Logo

Documentation: https://esphome.io/

For issues, please go to the issue tracker.

For feature requests, please see feature requests.