These builds contain the clock-sanity fix. The firmware rejects clock values that are not possible. Install a build, then make the tests below. These builds are for tests. They are not the release builds.
Two repeaters had a clock that was many years in the future. A bad clock blocks the admin login. The fix adds a check of the clock in 5 places. The check uses a window from the build date to the build date plus 5 years.
| Place | Behavior with the fix |
|---|---|
| ESP32 start | The firmware makes a check of the restored clock on each start, not only on power-on. A bad value goes back to a safe date. |
| GPS time | The firmware does not accept a GPS date that is out of the window. A cold GPS start can send a bad date. |
time / clock sync | The commands
do not accept a value that is out of the window. The commands can move
the clock back when the current clock is bad. You do not need
clkreboot. |
| Phone set-time | The companion does not accept a bad value from the app. |
| Contact times | The companion does not set its clock from a bad contact record at start. |
All 3 files are for the Heltec V4. Use the plain .bin file to update a board that has the firmware. Use the -full.bin file for a new board. The -full.bin file erases all settings.
# Update a board that has the firmware (settings stay):
esptool.py --chip esp32s3 write_flash 0x10000 meshcore-carnode-heltec-v4-clockfix-ad28f740.bin
# New board, or full erase (settings are removed):
esptool.py --chip esp32s3 write_flash 0x0 meshcore-carnode-heltec-v4-clockfix-ad28f740-full.bin
sha256sum -c SHA256SUMS.txt in the folder with
the files.clock sync or with the app.reboot command.clock command. Make sure that the time is
correct. Before the fix, a bad board showed a year such as 2070.