ESP32 will wake up too early if its RTC runs too fast, which causes extra wake-ups. For example, if it wakes up at 12:29:20, the sleep duration will be 40 seconds and ESP32 will wake up again soon, which results in extra battery consumption. With this patch, waking up at 12:29:20 will result in a sleep duration of 1800+40 seconds. This ensures only one wake-up every 30 minutes.
ESP32 will wake up too early if its RTC runs too fast, which causes extra wake-ups. For example, if it wakes up at 12:29:20, the sleep duration will be 40 seconds and ESP32 will wake up again soon, which results in extra battery consumption. With this patch, waking up at 12:29:20 will result in a sleep duration of 1800+40 seconds. This ensures only one wake-up every 30 minutes.