Adds a 12K OTA stub 3rd stage bootloader, which reads new firmware from the LittleFS filesystem and flashes on reboot. By storing the OTA commands in a file in flash, it is possible to recover from a power failure during OTA programming. On power resume, the OTA block will simply re-program from the beginning. Support cryptographic signed OTA updates, if desired. Includes host-side signing logic via openssl. Add PicoOTA library which encapsulates the file format for the updater, including CRC32 checking. Add LEAmDNS support to allow Arduino IDE discovery Add ArduinoOTA class for IDE uploads Add MD5Builder class Add Updater class which supports writing and validating cryptographically signed binaries from any source (http, Ethernet, WiFi, Serial, etc.) Add documentation and readmes.
Publishing New Releases
First, update the version number throughout the repo and push the change:
./tools/makever.py --version X.Y.Z
git commit -a -m "Update version"
git push
GitHub CI Actions are used to automatically build a draft package whenever a tag is pushed to repo:
git tag X.Y.Z
git push origin X.Y.Z
This will generate a draft release with a bulleted-list of git changes.
Edit the list and title as desired, then use the Publish button on the web interface to publish the release
At this point, a GitHub Action will run that will download the new combined JSON file from the tag and update the global release with it.