Add missing crypto library for linking, remove stdbool as it conflicts
with c_types from the SDK and include the user_pre_init() setup function
now required.
Switch NTP to update hourly rather than only wifi connect
The ESP8266 clock seems to drift quite badly so a single NTP sync when
we connect to wifi isn't sufficient to keep our time accurate. Set up a
timer to resync hourly.
Add support for receiving a new flash image over HTTP and do a check to
see if one is available at boot up. Will program the alternative bank
after doing a check for version.txt with a later version number that
we're running at present.
Move to using gcc/binutils from system paths (tested with gcc 7.3.0
packages on Debian) and the Espressif NONOS SDK 2.2.1. Also move to a
512k + 512k image format instead of trying to fit 2 images in a 512kB
flash chip.
Build 2 combined ROM images targeted at the top + bottom half of a
512kB ESP8266 device. This is a necessary pre-requisite to being able
to do an over-the-air upgrade.
Extend time parsing to include the date rather than just the time
The initial time_t -> struct tm code concentrated on the time portion.
While we don't display the date at present it will be necessary for
calculating DST and is generally useful for completeness.