Skip to content

Commit

Permalink
Extend logging of ArduinoOTA (#3217)
Browse files Browse the repository at this point in the history
  • Loading branch information
me-no-dev committed Sep 16, 2019
1 parent 4ce2cc3 commit 06a399b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 32 deletions.
49 changes: 17 additions & 32 deletions libraries/ArduinoOTA/src/ArduinoOTA.cpp
Expand Up @@ -127,9 +127,7 @@ void ArduinoOTAClass::begin() {
}
_initialized = true;
_state = OTA_IDLE;
#ifdef OTA_DEBUG
OTA_DEBUG.printf("OTA server at: %s.local:%u\n", _hostname.c_str(), _port);
#endif
log_i("OTA server at: %s.local:%u", _hostname.c_str(), _port);
}

int ArduinoOTAClass::parseInt(){
Expand Down Expand Up @@ -173,6 +171,7 @@ void ArduinoOTAClass::_onRx(){
_md5 = readStringUntil('\n');
_md5.trim();
if(_md5.length() != 32){
log_e("bad md5 length");
return;
}

Expand All @@ -198,13 +197,15 @@ void ArduinoOTAClass::_onRx(){
} else if (_state == OTA_WAITAUTH) {
int cmd = parseInt();
if (cmd != U_AUTH) {
log_e("%d was expected. got %d instead", U_AUTH, cmd);
_state = OTA_IDLE;
return;
}
_udp_ota.read();
String cnonce = readStringUntil(' ');
String response = readStringUntil('\n');
if (cnonce.length() != 32 || response.length() != 32) {
log_e("auth param fail");
_state = OTA_IDLE;
return;
}
Expand All @@ -225,6 +226,7 @@ void ArduinoOTAClass::_onRx(){
} else {
_udp_ota.beginPacket(_udp_ota.remoteIP(), _udp_ota.remotePort());
_udp_ota.print("Authentication Failed");
log_w("Authentication Failed");
_udp_ota.endPacket();
if (_error_callback) _error_callback(OTA_AUTH_ERROR);
_state = OTA_IDLE;
Expand All @@ -234,9 +236,9 @@ void ArduinoOTAClass::_onRx(){

void ArduinoOTAClass::_runUpdate() {
if (!Update.begin(_size, _cmd)) {
#ifdef OTA_DEBUG
Update.printError(OTA_DEBUG);
#endif

log_e("Begin ERROR: %s", Update.errorString());

if (_error_callback) {
_error_callback(OTA_BEGIN_ERROR);
}
Expand Down Expand Up @@ -272,21 +274,15 @@ void ArduinoOTAClass::_runUpdate() {
}
if (!waited){
if(written && tried++ < 3){
#ifdef OTA_DEBUG
OTA_DEBUG.printf("Try[%u]: %u\n", tried, written);
#endif
log_i("Try[%u]: %u", tried, written);
if(!client.printf("%u", written)){
#ifdef OTA_DEBUG
OTA_DEBUG.printf("failed to respond\n");
#endif
log_e("failed to respond");
_state = OTA_IDLE;
break;
}
continue;
}
#ifdef OTA_DEBUG
OTA_DEBUG.printf("Receive Failed\n");
#endif
log_e("Receive Failed");
if (_error_callback) {
_error_callback(OTA_RECEIVE_ERROR);
}
Expand All @@ -295,9 +291,7 @@ void ArduinoOTAClass::_runUpdate() {
return;
}
if(!available){
#ifdef OTA_DEBUG
OTA_DEBUG.printf("No Data: %u\n", waited);
#endif
log_e("No Data: %u", waited);
_state = OTA_IDLE;
break;
}
Expand All @@ -317,18 +311,14 @@ void ArduinoOTAClass::_runUpdate() {
log_w("didn't write enough! %u != %u", written, r);
}
if(!client.printf("%u", written)){
#ifdef OTA_DEBUG
OTA_DEBUG.printf("failed to respond\n");
#endif
log_w("failed to respond");
}
total += written;
if(_progress_callback) {
_progress_callback(total, _size);
}
} else {
#ifdef OTA_DEBUG
Update.printError(OTA_DEBUG);
#endif
log_e("Write ERROR: %s", Update.errorString());
}
}

Expand All @@ -351,10 +341,7 @@ void ArduinoOTAClass::_runUpdate() {
Update.printError(client);
client.stop();
delay(10);
#ifdef OTA_DEBUG
OTA_DEBUG.print("Update ERROR: ");
Update.printError(OTA_DEBUG);
#endif
log_e("Update ERROR: %s", Update.errorString());
_state = OTA_IDLE;
}
}
Expand All @@ -366,9 +353,7 @@ void ArduinoOTAClass::end() {
MDNS.end();
}
_state = OTA_IDLE;
#ifdef OTA_DEBUG
OTA_DEBUG.println("OTA server stopped.");
#endif
log_i("OTA server stopped.");
}

void ArduinoOTAClass::handle() {
Expand All @@ -395,4 +380,4 @@ void ArduinoOTAClass::setTimeout(int timeoutInMillis) {

#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_ARDUINOOTA)
ArduinoOTAClass ArduinoOTA;
#endif
#endif
2 changes: 2 additions & 0 deletions libraries/Update/src/Update.h
Expand Up @@ -80,6 +80,8 @@ class UpdateClass {
*/
void printError(Stream &out);

const char * errorString();

/*
sets the expected MD5 for the firmware (hexString)
*/
Expand Down
4 changes: 4 additions & 0 deletions libraries/Update/src/Updater.cpp
Expand Up @@ -363,4 +363,8 @@ void UpdateClass::printError(Stream &out){
out.println(_err2str(_error));
}

const char * UpdateClass::errorString(){
return _err2str(_error);
}

UpdateClass Update;

0 comments on commit 06a399b

Please sign in to comment.