Releases: sparkfun/OpenLog_Artemis
Version 2.8
Version 2.7
This release:
- Corrects the crash on startup caused by incoming serial data on the RX pin - resolves #182
Version 2.6
This release:
- Adds workflow actions to automatically compile the firmware binaries
- Adds support for the LPS28DFW - thank you @gauteh #179 , resolves #177
- Adds a Docker file for compiling the firmware - thank you @gauteh #179
- Only disables I2C SDA and SCL during sleep when I2C bus is being powered down - thank you @whipple63 #167 , resolves #155
- Adds
calibrationConcentration
support for the SCD30 - thank you @hotstick #181 - Adds limited support for the VEML7700 light sensor - resolves #184
- Adds much improved support for the NAU7802 scale
- Negative weights can now be logged - resolves #176
- The calibration mode can now be set to: None, Internal (default), or External
- The sample rate, gain and LDO voltage can be selected via the menu
- The scale can be zero'd and calibrated separately - there are separate menu entries for zero, calibrate and calibration weight entry
- Settings are saved and restored correctly on power-up / wake-from-sleep
- Corrects a major bug which prevented multiple NAU7802, SCD30 or u-blox GNSS from being configured correctly when connected through a mux
- Corrects a minor bug - corrected array size checking for
olaftoa
Version 2.5.1
This release:
- Updates the 2.5 binaries to include the latest version of the KX13X library
- This resolves an issue where the KX134 was always in 8g mode
Version 2.5
This release:
- Adds Tony Whipple's PR #146 - thank you @whipple63
- Adds support for the ISM330DHCX, MMC5983MA, KX134 and ADS1015
- Resolve issue #87 (DMP slow sampling)
Version 2.4
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
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.
Firmware version 2.3
This release:
- Corrects an error which was preventing the OLA from sleeping correctly when no SD card is installed
- See issue #131 for more details
- Please note:
- This release does not include support for logging data from u-blox GNSS modules at 25Hz
- Attempting to run older M8 modules at 25Hz - with no way of limiting the speed to 10Hz - is guaranteed to cause problems
- To implement 25Hz correctly, the firmware would need to be able to work out what module is connected and adjust the maximum log rate accordingly
Firmware version 2.2
This release:
- Is based on v2.2.1 of the Apollo3 (Artemis) Core
- Uses v2.1.2 of SdFat
- Provides support for the new IMU-less product variant
- Resolves Issue #117 - thank you @paulvha for the
UART::end()
improvements - Adds support for ISO 8601 date time - resolves issue #118
- Provides support for fractional time zones
As always, the firmware has been tested extensively before release. But OLA has so many options, it is possible we might have missed something. Please raise an issue if you see anything unusual or unexpected.
Firmware version 2.1
Updated stand-alone examples for Apollo3 v2.1
This release updates the stand-alone examples (test sketches) so they work correctly using v2.1 of the Apollo3 core:
- Please note that v2.1.1 of the core contains a feature which makes communication with u-blox GNSS modules problematic. The GNSS_Data_Logging and TIM_TM2_Data_Logging examples will work best with v2.1.0 of the core.
- GNSS_Data_Logging demonstrates how to log RAWX and SFRBX data from a u-blox (e.g.) ZED-F9P to SD card
- TIM_TM2_Data_Logging demonstrates how to log the time of sound events using the Qwiic Sound Trigger and a u-blox module
- OLA_IMU_Basics demonstrates how to communicate with the on-board ICM20948 IMU via SPI
- The three IMU_DMP examples demonstrate how to extract data from the ICM20948 Digital Motion Processor. You will need to enable DMP support in the ICM20948 library - please read the instructions at the start of each example