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

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)