patch time-out WebSocket esp32

This commit is contained in:
Mit4el
2024-03-29 10:05:06 +03:00
parent b25398bff4
commit 604cb96776
2 changed files with 34 additions and 0 deletions

View File

@@ -180,6 +180,7 @@ build_src_filter =
${env:esp8266_16mb_fromitems.build_src_filter}
[env:esp32_4mb]
extra_scripts = pre:tools/patch32_ws.py
lib_deps =
${common_env_data.lib_deps_external}
${env:esp32_4mb_fromitems.lib_deps}
@@ -200,6 +201,7 @@ build_src_filter =
${env:esp32_4mb_fromitems.build_src_filter}
[env:esp32_4mb3f]
extra_scripts = pre:tools/patch32_ws.py
lib_deps =
${common_env_data.lib_deps_external}
${env:esp32_4mb3f_fromitems.lib_deps}
@@ -221,6 +223,7 @@ build_src_filter =
${env:esp32_4mb3f_fromitems.build_src_filter}
[env:esp32cam_4mb]
extra_scripts = pre:tools/patch32_ws.py
lib_deps =
${common_env_data.lib_deps_external}
${env:esp32cam_4mb_fromitems.lib_deps}
@@ -244,6 +247,7 @@ build_src_filter =
${env:esp32cam_4mb_fromitems.build_src_filter}
[env:esp32s2_4mb]
extra_scripts = pre:tools/patch32_ws.py
lib_deps =
${common_env_data.lib_deps_external}
${env:esp32s2_4mb_fromitems.lib_deps}
@@ -267,6 +271,7 @@ build_src_filter =
${env:esp32s2_4mb_fromitems.build_src_filter}
[env:esp32c3m_4mb]
extra_scripts = pre:tools/patch32_ws.py
lib_deps =
${common_env_data.lib_deps_external}
${env:esp32c3m_4mb_fromitems.lib_deps}
@@ -289,6 +294,7 @@ build_src_filter =
${env:esp32c3m_4mb_fromitems.build_src_filter}
[env:esp32s3_16mb]
extra_scripts = pre:tools/patch32_ws.py
lib_deps =
${common_env_data.lib_deps_external}
${env:esp32s3_16mb_fromitems.lib_deps}
@@ -313,6 +319,7 @@ build_src_filter =
${env:esp32s3_16mb_fromitems.build_src_filter}
[env:esp32_16mb]
extra_scripts = pre:tools/patch32_ws.py
lib_deps =
${common_env_data.lib_deps_external}
${env:esp32_16mb_fromitems.lib_deps}

27
tools/patch32_ws.py Normal file
View File

@@ -0,0 +1,27 @@
# правим %USERPROFILE%\.platformio\packages\framework-arduinoespressif32\libraries\WiFi\src\WiFiClient.cpp 27-28
# для уменьшения тайм-аута ВебСокетов
# #define WIFI_CLIENT_MAX_WRITE_RETRY (10)
# #define WIFI_CLIENT_SELECT_TIMEOUT_US (1000000)
# Прописать скрипт в platformio.ini внутри [env:esp32_4mb3f] написать extra_scripts = pre:tools/patch32_ws.py
import os
import shutil
from sys import platform
if platform == "linux" or platform == "linux2":
# linux
mainPyPath = '~/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src/WiFiClient.cpp'
else:
# windows
mainPyPath = os.environ['USERPROFILE'] + '\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\WiFi\\src\\WiFiClient.cpp'
# print(mainPyPath)
with open(mainPyPath) as fr:
oldData = fr.read()
if not 'if WIFI_CLIENT_MAX_WRITE_RETRY (10)' in oldData:
shutil.copyfile(mainPyPath, mainPyPath+'.bak')
newData = oldData.replace('#define WIFI_CLIENT_MAX_WRITE_RETRY (10)', '#define WIFI_CLIENT_MAX_WRITE_RETRY (2)')
newData = newData.replace('#define WIFI_CLIENT_SELECT_TIMEOUT_US (1000000)', '#define WIFI_CLIENT_SELECT_TIMEOUT_US (500000)')
with open(mainPyPath, 'w') as fw:
fw.write(newData)