VegeHub - Firware Version Notes

Version Date Changes
1.0.1 6/9/2018 First Production Release.
1.3.0 9/5/2018
  • Redesign/Bug-fix of USB Interface.
  • Fixed issues with provisioning while USB is connected.
  • Overhauled the socket/server system, making the web interface significantly more stable.
  • Fixed bug where failure on first attempt at server connection resulted in no delay before next attempt.
  • Added milti-channel capability and added individual channel customization.
  • Added support for IP address entry in server address.
  • Added Api Key to user inputs for custom server.
  • Fixed bug where being in edge trigger mode made EepromValuesInit() try to modify the RTC before the RTC had been created, causing a complete failure in init.
  • Fixed bug where ThingSpeak setup wasn't saving the channel_id.
  • Fixed problem with ADC frequently reading battery voltage.
  • Added factory reset when holding WiFi and Setup buttons on startup.
  • Fixed Adafruit updates appending a number to the end of single channels.
  • Fixed send update button to work correctly when all channels are in trigger mode.
  • Fixed problem with power consumption. Floating pin for button left over from hardware change was causing extra power consumption. ~60uA.
  • Fixed EEPROM saving of channel setup.
1.4.0 9/12/2018
  • Fixed problem with web interface not changing between channels on 4 channel boards.
  • Fixed problem sending trigger updates to thingspeak where values would not be logged due to duplicate timestamp with battery voltage.
  • Fixed possible failure to send value of ADC on trigger channel in case of trigger update.
  • Fixed bug where server type not being saved to EEPROM when setting up vegecloud as server. Note: There is a workaround for units in the field: set up vegecloud, then save, then go to the settings page and push apply. This will save all values to EEPROM including the server type.
  • Fixed bug where button interrupts were accidentally getting disabled when initializing sensor interrupts.
  • Added in testing jig code.
1.5.0 9/24/2018
  • Fixed USB interface. Multiple problems with interactions and multiple bugs.
  • Fixed bug where update could not be set more than 16 hours from now. Now allowed to set any time up to 40 years from now.
  • Added readout on home page of the time until the next update.
  • Put more checks on settings page to make sure settings are within range.
1.6.0 10/10/2018
  • Modified test sequence to correct for false negatives on voltage readings.
  • Broadened the scope of acceptable battery reading voltages.
  • Changed code optimization level to compensate for apparent compiler bug in debug level code optimization.
1.6.1 12/6/2018
  • CRITICAL UPDATE to Versions 1.5 and 1.6.
  • Patched time conversions. Updates where getting set to 65000 years, resulting in no sampling.
1.7.0 1/28/2019
  • MAJOR UPDATE - IP address written to a file on a flash drive.
  • Save file to indicate IP address of device (ipaddress.txt)
  • Added support for relays, including the web interface, the scheduling, and checking conditionals.
  • Added web conditionals to the relay system.
  • Added support for improved power supply
  • Added USB mass storage functionality allowing saving of files to a flash drive.
  • Save file containing all data gathered while drive was connected (data.csv)
  • Save log file of errors or failures (log.txt)
  • Moved to new WINC firmware to stabilize web interface.
  • Fixed overlapping page requests causing web interface errors.
  • Changed circular buffer system to be more efficient.
  • Fixed connection issues when connection is active for long periods of time by resetting connection.
  • Fixed date conversion errors causing incorrect scheduling
2.1.0 2/25/2019
  • Added ability to specify port number on remote server.
  • Fixed bug where addresses were incorrectly saved when no request was present.
  • Fixed possible bug of spurious API calls consuming extra power.
  • Minor cosmetic fixes in web interface.
2.2.0 3/5/2019
  • Fixed web interface so that it does not try to serve Bootstrap link if there is no Internet connection available. This was causing the web interface to go extremely slow if there was no Internet connection.
  • Fixed bug where when the readings in the buffer would reach the maximum size, once a successful update was finally sent, the buffer was not being correctly reset and so kept sending all the old data along with each new update.
2.3.0 2/25/2019
  • Fixed bug that USB_ID line was being left floating on new power supply boards
2.4.0 3/12/2019
  • Fixed bugs in relay board code. Mostly fixed ranges and some small bugs in the web interface.
  • Added ability to poll custom server and port for relay web conditionals.
2.4.1 3/21/2019
  • Added test jig support for Relay/New Power boards
2.5.0 3/29/2019
  • Added settable hysteresis to user interface for relay.
  • Changed format of web conditional data keys from first[5].second to "first"[5]."second". This allows for all characters to be present in JSON data except for double quotes, which is prohibited by the JSON spec anyway.
  • Upgraded web conditional system for relay boards, adding a more robust API system and better feedback to users.
3.0.0 1/30/2020
  • Added page server resets to accompany connection resets to allow the page server to come back up after a connection reset.
  • Added capability to detect both rising and falling edges in trigger mode. Now options are: Falling, Rising, Both.
  • Fixed bug where port was not being printed to the form for relay web conditionals.
  • Fixed bug that was causing false failure in JSON parser when request was separate from the rest of the incoming data.
  • Added ability for user to add custom headers to custom server requests.
  • Added functionality for flashing WiFi Module firmware and certificates from a flash drive. That functionality was removed from the boot loader and moved here.
  • Added ability to send and receive configuration information with the server.
  • Redesigned JSON parsing system to be significantly more robust.
  • Changed user interface for UTC offset to allow setting the offset directly.