提交 2fda054b 编写于 作者: S Sathishkumar T 提交者: Me No Dev

[OTA Timeout] Added ability set OTA timeout in the OTA client (#1669)

上级 e157ec06
......@@ -9,7 +9,7 @@
#include "Update.h"
//#define OTA_DEBUG Serial
// #define OTA_DEBUG Serial
ArduinoOTAClass::ArduinoOTAClass()
: _port(0)
......@@ -20,6 +20,7 @@ ArduinoOTAClass::ArduinoOTAClass()
, _size(0)
, _cmd(0)
, _ota_port(0)
, _ota_timeout(1000)
, _start_callback(NULL)
, _end_callback(NULL)
, _error_callback(NULL)
......@@ -260,8 +261,9 @@ void ArduinoOTAClass::_runUpdate() {
}
uint32_t written = 0, total = 0, tried = 0;
while (!Update.isFinished() && client.connected()) {
size_t waited = 1000;
size_t waited = _ota_timeout;
size_t available = client.available();
while (!available && waited){
delay(1);
......@@ -387,6 +389,10 @@ int ArduinoOTAClass::getCommand() {
return _cmd;
}
void ArduinoOTAClass::setTimeout(int timeoutInMillis) {
_ota_timeout = timeoutInMillis;
}
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_ARDUINOOTA)
ArduinoOTAClass ArduinoOTA;
#endif
\ No newline at end of file
......@@ -7,7 +7,6 @@
#define INT_BUFFER_SIZE 16
typedef enum {
OTA_IDLE,
OTA_WAITAUTH,
......@@ -75,6 +74,8 @@ class ArduinoOTAClass
//Gets update command type after OTA has started. Either U_FLASH or U_SPIFFS
int getCommand();
void setTimeout(int timeoutInMillis);
private:
int _port;
String _password;
......@@ -88,6 +89,7 @@ class ArduinoOTAClass
int _size;
int _cmd;
int _ota_port;
int _ota_timeout;
IPAddress _ota_ip;
String _md5;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册