Refactor MQTT and webserver

This commit is contained in:
Theo Arends 2020-11-17 17:15:29 +01:00
parent 17c94a2b62
commit c580a9c387
2 changed files with 13 additions and 4 deletions

View File

@ -2590,7 +2590,7 @@ uint8_t BUploadInit(void) {
return 0;
}
void BUploadWriteBuffer(uint8_t *buf, size_t size) {
uint32_t BUploadWriteBuffer(uint8_t *buf, size_t size) {
if (0 == BUpload.spi_sector_cursor) { // Starting a new sector write so we need to erase it first
ESP.flashEraseSector(BUpload.spi_sector_counter);
}
@ -2600,7 +2600,11 @@ void BUploadWriteBuffer(uint8_t *buf, size_t size) {
if (2 == BUpload.spi_sector_cursor) { // The web upload sends 2048 bytes at a time so keep track of the cursor position to reset it for the next flash sector erase
BUpload.spi_sector_cursor = 0;
BUpload.spi_sector_counter++;
if (BUpload.spi_sector_counter > (SPIFFS_END -2)) {
return 9; // File too large - Not enough free space
}
}
return 0;
}
#endif // USE_TASMOTA_CLIENT or SHELLY_FW_UPGRADE
@ -2918,7 +2922,8 @@ void HandleUploadLoop(void)
#ifdef SHELLY_FW_UPGRADE
else if (UPL_SHD == Web.upload_file_type) {
// Write a block
BUploadWriteBuffer(upload.buf, upload.currentSize);
Web.upload_error = BUploadWriteBuffer(upload.buf, upload.currentSize);
if (Web.upload_error != 0) { return; }
}
#endif // SHELLY_FW_UPGRADE
#ifdef USE_TASMOTA_CLIENT

View File

@ -17,7 +17,11 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define XDRV_02 2
#define XDRV_02 2
#ifndef MQTT_WIFI_CLIENT_TIMEOUT
#define MQTT_WIFI_CLIENT_TIMEOUT 200 // Wifi TCP connection timeout (default is 5000 mSec)
#endif
// #define DEBUG_DUMP_TLS // allow dumping of TLS Flash keys
@ -635,7 +639,7 @@ void MqttReconnect(void)
Response_P(S_LWT_OFFLINE);
if (MqttClient.connected()) { MqttClient.disconnect(); }
EspClient.setTimeout(200);
EspClient.setTimeout(MQTT_WIFI_CLIENT_TIMEOUT);
#ifdef USE_MQTT_TLS
if (Mqtt.mqtt_tls) {
tlsClient->stop();