Version 2.4
This release:
- Includes the
noPowerLossProtectionbuild option we tested in v2.3- Going forward, we'll include noPowerLossProtection builds for each release
- Includes @kirk-sfe 's header output token "Content-Type: text/csv" for serial output
- Includes a debug menu option to only open the main menu when a printable character is received
Notes on noPowerLossProtection :
Some users have reported that the OLA going into deep sleep on a power-loss event causes issues for them.
With the standard firmware:
- When the power/battery voltage dips low enough for the voltage supervisor IC to generate an interrupt:
- The Artemis is placed immediately into deep sleep, sustained by the small rechargeable back-up battery.
- This allows the Real Time Clock to keep running.
- The only way to 'wake' the Artemis from this state is to reset it, by pressing the reset button or re-opening a USB serial terminal.
For some users, this creates an issue as it is difficult for them to either press the reset button or re-connect via USB.
With the noPowerLossProtection firmware, the power-loss interrupt is disabled:
- The firmware will ignore a power-loss event and will attempt to keep running. It never goes into deep sleep on a power loss event
- When the power voltage returns to normal levels, the Artemis will reset and code execution will restart
- This results in the Real Time Clock being reset too
- During power-loss, the voltage may fall low enough that code corruption occurs
- The Watchdog Timer (WDT) is used to detect code corruption
- If the code is corrupted, the Watchdog Interrupt Service Routine stops being serviced and the WDT then triggers a hardware reset of the Artemis
- If the Low Battery Voltage Detection menu setting has been enabled then:
- The Artemis will reset each time the battery voltage falls below the threshold, instead of going into deep sleep
- The continual low-voltage-reset loop is exited as soon as the battery voltage returns to normal levels
- A hardware reset is not required to bring the Artemis out of deep sleep
- Again, this may result in the RTC being reset but the code will restart as soon as voltage levels return to normal
With the noPowerLossProtection firmware, the code will automatically attempt to restart as soon as power is restored but the RTC will reset too.