Skip to content

Version 2.4

Choose a tag to compare

@PaulZC PaulZC released this 26 Aug 12:50
· 156 commits to main since this release
39bf6e7

This release:

  • Includes the noPowerLossProtection build 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
    • When this option is enabled via the hidden "d" debug menu, the menu will only open if a Tab (chr(9)) or higher is received
    • This avoids the menu opening when a NULL (chr(0)) is received on the RX breakout pin on power-up
    • Based on PR #125 - thank you @ryanneve

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.