eliminates error messages when using Ethernet Static IP (#5836)

Summary

Only affects ETH (not WiFi)

This PR solves #5733 by allowing the DHCP IDF server to complete its tasks and only then it sets a static IP.
This also solves another related failure reported in this issue (#5733 (comment)).

fix #5733

Impact

Adds a delay in order to wait for DHCP to actually terminate before setting the static IP configuration in ETH.
This commit is contained in:
Rodrigo Garcia
2021-11-09 05:23:29 -03:00
committed by GitHub
parent 16a9cf781f
commit da72bc90b7

View File

@ -368,6 +368,10 @@ bool ETHClass::begin(uint8_t phy_addr, int power, int mdc, int mdio, eth_phy_typ
log_e("esp_eth_init error: %d", err);
}
#endif
// holds a few microseconds to let DHCP start and enter into a good state
// FIX ME -- adresses issue https://github.com/espressif/arduino-esp32/issues/5733
delay(50);
return true;
}
@ -396,7 +400,8 @@ bool ETHClass::config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, I
if(err != ERR_OK){
log_e("STA IP could not be configured! Error: %d", err);
return false;
}
}
if(info.ip.addr){
staticIP = true;
} else {