@@ -272,6 +272,14 @@ menu "LWIP"
help
Number of clients that may store data in client_data member array of struct netif.
+ config LWIP_DHCP_COARSE_TIMER_SECS
+ int "DHCP coarse timer interval(s)"
+ default 1
+ range 1 10
+ help
+ Set DHCP coarse interval in seconds.
+ A higher value will be less precise but cost less power consumption.
+
menu "DHCP server"
config LWIP_DHCPS
@@ -347,7 +347,7 @@ extern "C" {
#define ESP_DHCP_DISABLE_VENDOR_CLASS_IDENTIFIER CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID
#define DHCP_DEFINE_CUSTOM_TIMEOUTS 1
-#define DHCP_COARSE_TIMER_SECS (1)
+#define DHCP_COARSE_TIMER_SECS CONFIG_LWIP_DHCP_COARSE_TIMER_SECS
#define DHCP_NEXT_TIMEOUT_THRESHOLD (3)
/* Since for embedded devices it's not that hard to miss a discover packet, so lower
* the discover retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,8,15,15)s.
@@ -362,6 +362,7 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min)
if (timeout == 0) {
timeout = min;
}
+ timeout = (timeout + DHCP_COARSE_TIMER_SECS - 1) / DHCP_COARSE_TIMER_SECS;
return timeout;