From 5cd0455e3d5f9212b9be42188e9c8f9bb9dda4ff Mon Sep 17 00:00:00 2001 From: illuzn <57167030+illuzn@users.noreply.github.com> Date: Thu, 15 Feb 2024 21:32:27 +1030 Subject: [PATCH 1/3] Update customisation docs to reflect RAM issues with bluetooth proxy --- docs/customization.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/customization.md b/docs/customization.md index 1bc4e89..7c8c15f 100644 --- a/docs/customization.md +++ b/docs/customization.md @@ -513,6 +513,9 @@ esp32: > The [ESP32 Platform](#framework-esp-idf) component should be configured to use the `esp-idf` framework, > as the `arduino` framework uses significantly more memory and performs poorly with the Bluetooth proxy enabled. +> [!NOTE] +> The Bluetooth proxy component uses a significant amount of device RAM (<10k RAM free). Enabling this with other customizations/ components enabled may result in crashes due to the device running out of memory. It is known that https connections are erratic due to insufficient memory and there can be issues flashing TFT locally due to the device running out of RAM. You can either: (1) flash the device (removing bluetooth proxy) while updating TFT or, (2) flash the device from a local (http) source with a low baud rate (<9600) that will not cause an out of memory crash - do note that this will take much longer to update (~ 10 minutes). + ```yaml # Enable Bluetooth proxy bluetooth_proxy: From a59fbac4cd8f56a71840685b94f4b58fac7d41e6 Mon Sep 17 00:00:00 2001 From: illuzn <57167030+illuzn@users.noreply.github.com> Date: Thu, 15 Feb 2024 22:11:51 +1030 Subject: [PATCH 2/3] Linting --- docs/customization.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/customization.md b/docs/customization.md index 7c8c15f..a27fc73 100644 --- a/docs/customization.md +++ b/docs/customization.md @@ -509,13 +509,16 @@ esp32: ``` ### Bluetooth proxy + > [!IMPORTANT] > The [ESP32 Platform](#framework-esp-idf) component should be configured to use the `esp-idf` framework, > as the `arduino` framework uses significantly more memory and performs poorly with the Bluetooth proxy enabled. > [!NOTE] + > The Bluetooth proxy component uses a significant amount of device RAM (<10k RAM free). Enabling this with other customizations/ components enabled may result in crashes due to the device running out of memory. It is known that https connections are erratic due to insufficient memory and there can be issues flashing TFT locally due to the device running out of RAM. You can either: (1) flash the device (removing bluetooth proxy) while updating TFT or, (2) flash the device from a local (http) source with a low baud rate (<9600) that will not cause an out of memory crash - do note that this will take much longer to update (~ 10 minutes). - + + ```yaml # Enable Bluetooth proxy bluetooth_proxy: From 3fa3552768d39c7d9234bbcc880961562d2ebac8 Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Thu, 15 Feb 2024 23:56:19 +0100 Subject: [PATCH 3/3] Lint --- docs/customization.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/customization.md b/docs/customization.md index a27fc73..17add66 100644 --- a/docs/customization.md +++ b/docs/customization.md @@ -514,10 +514,14 @@ esp32: > The [ESP32 Platform](#framework-esp-idf) component should be configured to use the `esp-idf` framework, > as the `arduino` framework uses significantly more memory and performs poorly with the Bluetooth proxy enabled. -> [!NOTE] - -> The Bluetooth proxy component uses a significant amount of device RAM (<10k RAM free). Enabling this with other customizations/ components enabled may result in crashes due to the device running out of memory. It is known that https connections are erratic due to insufficient memory and there can be issues flashing TFT locally due to the device running out of RAM. You can either: (1) flash the device (removing bluetooth proxy) while updating TFT or, (2) flash the device from a local (http) source with a low baud rate (<9600) that will not cause an out of memory crash - do note that this will take much longer to update (~ 10 minutes). - +> [!NOTE] +> The Bluetooth proxy component significantly reduces device RAM, leaving less than 10k RAM free. +> Enabling this with additional customizations/components may lead to crashes due to low memory. +> HTTPS connections might be erratic, and local TFT flashing could fail due to insufficient RAM. +> +> Solutions include: +> 1. Flash the device (remove Bluetooth proxy) while updating TFT. +> 2. Flash from a local (HTTP) source at a low baud rate (9600 or lower) to avoid memory crashes. This method is slower, taking over 10 minutes. ```yaml # Enable Bluetooth proxy