[MEM] Enable PSRAM on Theengs Bridge v1.1 (ESP32-WROVER-IE) (#2303)
- Switch Ethernet RMII clock from GPIO16 to GPIO0 output mode, freeing GPIO16 for PSRAM chip select (SPICS1) on WROVER-IE - Enable PSRAM with QIO flash mode and cache workaround flags - Add PHY pre-power support for ETH_CLOCK_GPIO0_IN mode - Report PSRAM status and free memory in SYS MQTT topic Requires Theengs lib-builder update: remove LIBTIME from IRAM cache workaround (CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=n) to free ~3.5KB IRAM for the -mfix-esp32-psram-cache-issue flag. Tested on Theengs Bridge v1.1: 4MB PSRAM detected, Ethernet 100Mbps on GPIO0, BLE scanning nominal. Co-authored-by: Florian <1technophile@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
3 files changed
+15
-7
No files matched your search
+10
-6
@@ -53,6 +53,7 @@ custom_hardware = RFBridge v1
|
|||||||
platform = ${com.esp32_platform}
|
platform = ${com.esp32_platform}
|
||||||
platform_packages = ${com.esp32_platform_packages}
|
platform_packages = ${com.esp32_platform_packages}
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
|
board_build.flash_mode = qio
|
||||||
board_build.partitions = min_spiffs.csv
|
board_build.partitions = min_spiffs.csv
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${com-esp32.lib_deps}
|
${com-esp32.lib_deps}
|
||||||
@@ -70,7 +71,7 @@ build_flags =
|
|||||||
'-DETH_PHY_POWER=5'
|
'-DETH_PHY_POWER=5'
|
||||||
'-DETH_PHY_MDC=23'
|
'-DETH_PHY_MDC=23'
|
||||||
'-DETH_PHY_MDIO=18'
|
'-DETH_PHY_MDIO=18'
|
||||||
'-DETH_CLK_MODE=ETH_CLOCK_GPIO16_OUT'
|
'-DETH_CLK_MODE=ETH_CLOCK_GPIO0_OUT'
|
||||||
'-DLED_ADDRESSABLE_PIN1=32'
|
'-DLED_ADDRESSABLE_PIN1=32'
|
||||||
'-DLED_ADDRESSABLE_NUM=4'
|
'-DLED_ADDRESSABLE_NUM=4'
|
||||||
'-DLED_BROKER=0'
|
'-DLED_BROKER=0'
|
||||||
@@ -82,8 +83,9 @@ build_flags =
|
|||||||
'-DUSE_MAC_AS_GATEWAY_NAME'
|
'-DUSE_MAC_AS_GATEWAY_NAME'
|
||||||
'-DGATEWAY_MANUFACTURER="Theengs"'
|
'-DGATEWAY_MANUFACTURER="Theengs"'
|
||||||
'-DGATEWAY_MODEL="TBRIDGE01"'
|
'-DGATEWAY_MODEL="TBRIDGE01"'
|
||||||
;'-DBOARD_HAS_PSRAM'
|
'-DBOARD_HAS_PSRAM'
|
||||||
;'-mfix-esp32-psram-cache-issue'
|
'-mfix-esp32-psram-cache-issue'
|
||||||
|
'-mfix-esp32-psram-cache-strategy=memw'
|
||||||
custom_description = 'BLE gateway with external antenna and Ethernet/WiFi connectivity, <a href="https://tbridge01.theengs.io/" target="_blank">user guide</a>'
|
custom_description = 'BLE gateway with external antenna and Ethernet/WiFi connectivity, <a href="https://tbridge01.theengs.io/" target="_blank">user guide</a>'
|
||||||
custom_hardware = Theengs Bridge gateway ethernet
|
custom_hardware = Theengs Bridge gateway ethernet
|
||||||
|
|
||||||
@@ -91,6 +93,7 @@ custom_hardware = Theengs Bridge gateway ethernet
|
|||||||
platform = ${com.esp32_platform}
|
platform = ${com.esp32_platform}
|
||||||
platform_packages = ${com.esp32_platform_packages}
|
platform_packages = ${com.esp32_platform_packages}
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
|
board_build.flash_mode = qio
|
||||||
board_build.partitions = min_spiffs.csv
|
board_build.partitions = min_spiffs.csv
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${com-esp32.lib_deps}
|
${com-esp32.lib_deps}
|
||||||
@@ -106,7 +109,7 @@ build_flags =
|
|||||||
'-DETH_PHY_POWER=5'
|
'-DETH_PHY_POWER=5'
|
||||||
'-DETH_PHY_MDC=23'
|
'-DETH_PHY_MDC=23'
|
||||||
'-DETH_PHY_MDIO=18'
|
'-DETH_PHY_MDIO=18'
|
||||||
'-DETH_CLK_MODE=ETH_CLOCK_GPIO16_OUT'
|
'-DETH_CLK_MODE=ETH_CLOCK_GPIO0_OUT'
|
||||||
'-DLED_ADDRESSABLE=true'
|
'-DLED_ADDRESSABLE=true'
|
||||||
'-DLED_ADDRESSABLE_PIN1=32'
|
'-DLED_ADDRESSABLE_PIN1=32'
|
||||||
'-DLED_ADDRESSABLE_NUM=4'
|
'-DLED_ADDRESSABLE_NUM=4'
|
||||||
@@ -120,9 +123,10 @@ build_flags =
|
|||||||
'-DUSE_MAC_AS_GATEWAY_NAME'
|
'-DUSE_MAC_AS_GATEWAY_NAME'
|
||||||
'-DGATEWAY_MANUFACTURER="Theengs"'
|
'-DGATEWAY_MANUFACTURER="Theengs"'
|
||||||
'-DGATEWAY_MODEL="TBRIDGE02"'
|
'-DGATEWAY_MODEL="TBRIDGE02"'
|
||||||
;'-DBOARD_HAS_PSRAM'
|
'-DBOARD_HAS_PSRAM'
|
||||||
|
'-mfix-esp32-psram-cache-issue'
|
||||||
|
'-mfix-esp32-psram-cache-strategy=memw'
|
||||||
;'-DSELF_TEST=true'
|
;'-DSELF_TEST=true'
|
||||||
;'-mfix-esp32-psram-cache-issue'
|
|
||||||
custom_description = 'BLE gateway with external antenna and Ethernet/WiFi connectivity, <a href="https://tbridge02.theengs.io/" target="_blank">user guide</a>'
|
custom_description = 'BLE gateway with external antenna and Ethernet/WiFi connectivity, <a href="https://tbridge02.theengs.io/" target="_blank">user guide</a>'
|
||||||
custom_hardware = Theengs Bridge gateway ethernet
|
custom_hardware = Theengs Bridge gateway ethernet
|
||||||
custom_img = img/Theengs-Bridge-ble-gateway.png
|
custom_img = img/Theengs-Bridge-ble-gateway.png
|
||||||
|
|||||||
@@ -2848,6 +2848,10 @@ String stateMeasures() {
|
|||||||
# endif
|
# endif
|
||||||
SYSdata["freestck"] = uxTaskGetStackHighWaterMark(NULL);
|
SYSdata["freestck"] = uxTaskGetStackHighWaterMark(NULL);
|
||||||
SYSdata["powermode"] = SYSConfig.powerMode;
|
SYSdata["powermode"] = SYSConfig.powerMode;
|
||||||
|
if (psramFound()) {
|
||||||
|
SYSdata["psram"] = true;
|
||||||
|
SYSdata["psramfree"] = ESP.getFreePsram();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SYSdata["eth"] = ethConnected;
|
SYSdata["eth"] = ethConnected;
|
||||||
|
|||||||
+1
-1
@@ -180,7 +180,7 @@ monitor_speed = 115200
|
|||||||
[com]
|
[com]
|
||||||
esp8266_platform = espressif8266@4.2.1
|
esp8266_platform = espressif8266@4.2.1
|
||||||
esp32_platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.33/platform-espressif32.zip
|
esp32_platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.33/platform-espressif32.zip
|
||||||
esp32_platform_packages = framework-arduinoespressif32-libs @ https://github.com/theengs/esp32-arduino-lib-builder/releases/download/0.1.0/esp32-arduino-libs.tar.gz
|
esp32_platform_packages = framework-arduinoespressif32-libs @ https://github.com/theengs/esp32-arduino-lib-builder/releases/download/0.1.3/esp32-arduino-libs.tar.gz
|
||||||
esp32_solo_platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.02.00/platform-espressif32.zip
|
esp32_solo_platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.02.00/platform-espressif32.zip
|
||||||
atmelavr_platform = atmelavr@3.3.0
|
atmelavr_platform = atmelavr@3.3.0
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user