Recent Releases of ModularSensors
ModularSensors - v0.36.0
Changed
- Applied markdown lint to markdown files
- Bumped TinyGSM dependency
- Changed datatypes for modem voltage outputs.
- Switched from Soligen fork of ADS1115 library to the standard Adafruit version. #456
- Rearranged documation of examples
- Consistently apply all pre-processor
defined
checks with function-like syntax - Consistently check for both
__AVR__
andARDUINO_ARCH_AVR
in all cases.- Not all AVR boards defin
__AVR__
within the PlatformIO system, which was confusing the SCons preprocessor.
- Not all AVR boards defin
- Modified implementation of initial short logging intervals.
- Allow non-sleep before returing from testing or logging functions.
- Modified returns of modem variables from uint's to int's for consistency with the latest version of TinyGSM.
- Add pre-processor macro for number of times to attempt to update the clock.
Added
- Added support for Yosemitech Y513 Blue Green Algae Sensor thanks to @aufdenkampe #476
- Added support for Alphasense CO2 Sensor thanks to @aufdenkampe #457
- Added support for Turner Turbidity Plus thanks to @mbarneytu #361
- Added complete paramter documentation where it was missing thanks to @SRGDamia1
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] 7 months ago
ModularSensors - v0.35.1
v0.35.1 2024-08-26
This is a hot-fix type release, pushing out fixes for sleeping for the SAMD21. It is not fully tested. If you are not using a SAMD21, please stick to version 0.35.0 until 0.36 is released.
Changed
- BREAKING Switched default clock for SAMD21 from the built-in 32bit RTC to the DS3231.
This is not be a permanent change. - Switched to reusable workflows for CI
Fixed
Fixed clock configuration for SAMD21
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 8 months ago
ModularSensors - v0.35.0
Changed
- BREAKING Refactored how the publisher transmit buffer works. This will require adjustment to custom data publishers.
- Update GitHub actions
- Remove date from copyright for easier tracking
- Turn modem off at end of setup, regardless of time
- Clean function to set file timestamp on SD card
- Use equation rather than table for CSQ
- Only polling modem for enabled parameters
- INCREASED THE MAXIMUM NUMBER OF VARIABLES FROM A SINGLE SENSOR and implemented an option to set this by build flag.
- This will increase memory use for the entire library.
If you are not using the GroPoint sensors which require many variables, I recommend you change this value via the build flag-D MAX_NUMBER_VARS=8
- This will increase memory use for the entire library.
- Allow all WiFi modems to first attempt to connect using existing on-modem saved credentials rather than immediately sending new credentials.
- Add further debug printouts to the processor stats
Added
- Support GroPoint Profile GPLP-8 Eight-Segment Soil Moisture and Temperature Profiling Probe
- Support Vega Puls 21 Radar
- Functions to enable and disable modem metadata polling by bitmask
Removed
- Removed the (unused) sendOffset parameter from dataPublisherBase.
Fixed
- Minor bug fixes for XBee Wifi
- Handle no SIM card response from SIM7080G (EnviroDIY LTE Bee)
- Fixed Keller debugging output.
- Fixed file reference for SDFat 2.2.3
Known Issues
- The modem hardware, firmware, and serial number is only implemented for the Digi XBee WiFi.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] 12 months ago
ModularSensors - v0.34.0
Changed
- BREAKING - Removed support for light sleep on Espressif modules.
This changes the order of the constructor for the ESP32 and ESP8266!- The light sleep mode is non-functional anyway, and confusion over the sleep request pin was putting the board in a position not to sleep at all.
- Minor tweek to clang-format
- Moved all variable initialization to default header values and initializer lists
- Converted all "c-style" casts to static casts
- Switched cases of strcat and strcpy to snprintf
- Specify python version 3.x for actions (used by PlatformIO)
Added
- Support Campbell RainVUE10 SDI-12 Precipitation Sensor #416
- Support YosemiTech Y700 Pressor Sensor (#421)
Removed
Fixed
- Fixed bug in YosemiTech Y4000 Sonde (#420)
- Fixed non-concurrent data fetch for SDI-12 when NOT using debugging.
- Fixed internet connection when in "testing mode"
- Allow a non-zero wait time for SDI-12 sensors
- Fixed outdated GitHub actions
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] about 2 years ago
ModularSensors - v0.33.4
Fixed
- Increased warm-up and measurement time for Campbell ClariVUE-10 to work with the latest version of the sensor.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] almost 3 years ago
ModularSensors - v0.33.3
Fixed
- Increased measurement time for Hydros21 to work with the latest version of the sensor.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] almost 3 years ago
ModularSensors - v0.33.2
Fixed
- Fixed script to install and zip libraries for a release
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] about 3 years ago
ModularSensors - v0.33.1
Changed
Added
- Added a typedef and header for the ESP32
- This is just another name to the ESP8266 class to help any who don't know they're identical for our purposes.
- Example: Created a new DRWI wifi example for workshop.
Removed
Fixed
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] about 3 years ago
ModularSensors - v0.33.0
Changed
- Breaking: Renamed the static
markedEpochTime
variable tomarkedLocalEpochTime
.- This was sometimes used in "complex" loops. Code utilizing it will have to be changed.
- This is part of the effort to clarify where localized and UTC time are being used.
We recommend a logger's real time clock always be set in UTC and then localized for printing and storing data.
- Breaking: Renamed the function
setNowEpoch(uint32_t)
tosetNowUTCEpoch(uint32_t)
.- Although public, this was never intended to be used externally.
- Breaking: Renamed the YosemiTech Y550 COD sensor as Y551. See below.
- Potentially Breaking: Changed the default "button" interrupt pin mode from
INPUT_PULLUP
toINPUT
and created optional arguments to thesetTestingModePin
andsetLoggerPins
functions to specify the pin mode and pull-up resistor state.INPUT
is the proper mode for the Mayfly.
The Mayfly has an external pull down on the button pin with the button being active high.
This means having the pull-up resistors on negates the button signal.
The pin mode had been set asINPUT_PULLUP
for the button, backwards for the Mayfly, since July of 2017.
By some electrical luck, with the 0.x versions of the Mayfly, the external pull-down on the button pin was strong enough to out-weigh the incorretly activated pull-up resistors and an interrupt was still registered when the button was pressed.
With a different pull-down resistor on the Mayfly 1.x, the button no longer registers with the pull-up resistors active.
So, for most of our users with Mayflies, this will be a fix.
But for anyone using a different board/processor/button configuration that depended on the processor pull-up resistors, this will be a breaking change and they will need to specify the button mode in thesetTestingModePin
orsetLoggerPins
function to return to the previous behavior.
- Added a longer warm up time and removed some of the modem set-up to work with the ESP-IDF AT firmware versions >2.0
- Made sure that all example clock synchronization happens at noon instead of midnight.
- Renamed Classes: Renamed several classes for internal consistency.
These are not breaking changes at this time; the old class names are still usable.- Rename class
MPL115A2
toFreescaleMPL115A2
- Rename class
MPL115A2_Pressure
toFreescaleMPL115A2_Pressure
- Rename class
MPL115A2_Temp
toFreescaleMPL115A2_Temp
- Rename class
TIINA219_Volt
toTIINA219_Voltage
- Rename class
PaleoTerraRedox_Volt
toPaleoTerraRedox_Voltage
- Rename class
ExternalVoltage
toTIADS1x15
- Rename class
ExternalVoltage_Volt
toTIADS1x15_Voltage
- Rename class
- Documentation: Migrated to latest version of Doxygen (1.9.3).
Added
- Sensor Added support for the YosemiTech Y551 COD Sensor, which makes a UV254 light absorption and translates it to estimates of Chemical Oxygen Demand (COD) (or Total Organic Carbon (TOC)) and Turbidity.
- NOTE that this upgrade removes the earlier Y550 from the library, as it was never tested and is no longer available form YosemiTech. If anyone has a Y550 sensor, the Y551 commands should work. Let us know if they don't.
- Sensor Added support for the YosemiTech Y560 Ammonium Probe, which is a mini sonde for three Ion Selective Electrode (ISE) sensors (pH, NH4+, K+) that together are used to provide a corrected estimate of total ammonium nitrogen (NH4_N) in mg/L.
- NOTE that this release only includes outputs for NH4_N, pH, and temperature. A future release will also include estimates of potassium (K) and raw potential values from each of the electrodes.
- Sensor Added support for the SDI-12 In-Situ Level TROLL 400, 500 & 700 Data Loggers
- Sensor Added support for the Sensirion SHT40 relative humidity and temperature sensor
- Sensor Added support for the Everlight ALS-PT19 ambient light sensor
- Sensor Added support for the Bosch SensorTec BMP388 and BMP390 pressure sensors
Removed
Fixed
- Fixed memory leak for AOSong AM2315 thanks to @neilh10
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] about 3 years ago
ModularSensors - v0.32.2
Changed
- Restructured SDI-12 slightly to break out the start measurement functionality into a new function.
- Modified Decagon 5-TM and Meter Teros 11 to use the SDI-12 get results function rather than addSingleMeasurmentResult.
This will allow both sensors to honor the 'non-concurrent' flag, if that is set.
Previously, they would not have. - Documentation: Migrated to latest version of Doxygen (1.9.2).
This required some changes with m.css to properly ignore the doxyfile.xml the current version generates.
Added
- Board: Adds 1.0 and 1.1 as valid version numbers for the Mayfly. Does not yet support any new features of those boards.
- Add a new parameter (internal variable) to the sensor base class for the number of internally calculated variables.
These are used for values that we would always calculate for a sensor and depend only on the raw results of that single sensor.
This is separate from any calculated variables that are created on-the-fly and depend on multiple other sensors.
In many cases, this is 0 and in most of the other cases the value is informational only.
For the SDI-12 sensors, I'm actually using this to make sure I'm getting the number of values expected. - Sensor: Added support for v0.2.0 of the EnviroDIY/TippingBucketRainCounter device firmware, which added capability to count rotations on a reed-switch anemometer and fixed a critical bug that failed to count high rainfall rates.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] over 3 years ago
ModularSensors - v0.32.0
Reinstate support for AOSong DHT
Changed
- Documentation: Restructured the changelog
- Documentation: Restyled and corrected documentation links for new and renamed DRWI examples
- Continuous Integration: Updated changelog reader and automated releaser
Added
- Restored support for AOSong DHT sensor.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] over 3 years ago
ModularSensors - v0.31.2
Bug fixes
- Fixed build matrix to remove DHT
New Features
- Temporarily REMOVED support for AOSong DHT sensor.
- Intend to restore this after updating to support newest Adafruit DHT library
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] over 3 years ago
ModularSensors - v0.31.0
New Features
- Temporarily REMOVED support for AOSong DHT sensor.
- Intend to restore this after updating to support newest Adafruit DHT library
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] over 3 years ago
ModularSensors - v0.30.0
New Features
- Added support for Campbell ClariVUE10 turbidity sensor
- REMOVED support for SoftwareWire for Atlas sensors.
- The only supported version of a bit-banged (software) version of I2C removed inheritance from the core Wire library.
Without inheritance, the parseFloat functions used by the Atlas sensors will not work.
As I think this feature was completely unused for the Atlas sensors and I see no reason to use it with sensors that have completely flexible addressing, I removed it.
- The only supported version of a bit-banged (software) version of I2C removed inheritance from the core Wire library.
Improvements
- Changed build flags and created a pre-commit hook for myself to update the menu build matrix
Bug fixes
- Updated YosemiTech Y533 ORP sensor library, to match improvements and fixes from to https://github.com/EnviroDIY/YosemitechModbus/issues/19.
- Fixed GitHub actions for pull requests
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] almost 4 years ago
ModularSensors - v0.28.5
Downloads
ModularSensors_Dependencies_v0.28.5.zip
- contains this version of ModularSensors and the proper versions of all of its dependencies.
New Features
- Created a new module for the Meter Hydros 21. This is exactly identical to the Decagon CTD in everything but the name. The Decagon CTD module still exists and can be used. No old code needs to be adjusted for this change. Moving forward, the two can be used interchangeably. The addition was only made to stop complaints about typing in an older name.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] almost 4 years ago
ModularSensors - v0.28.4
Downloads
ModularSensors_Dependencies_v0.28.4.zip
- contains this version of ModularSensors and the proper versions of all of its dependencies.
Improvements
- Allow each SDI-12 sensor to set the necessary command delay for that sensor.
- Per protocol, sensors are allowed to take up to 100ms after receiving a break before being ready to receive a command.
This allows each sensor to specify what delay it needs.
This was added to support conflicting delay needs; the RDO needed a short delay, the newest Meter sensors do not respond properly if the delay is added.
- Per protocol, sensors are allowed to take up to 100ms after receiving a break before being ready to receive a command.
- For SDI-12 sensors, add repeated attempts to start a measurement if the first attempt unexpectedly fails.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] almost 4 years ago
ModularSensors - v0.28.3
Downloads
ModularSensors_Dependencies_v0.28.3.zip
- contains this version of ModularSensors and the proper versions of all of its dependencies.
Bug Fixes
- Use a valid semantic version number
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] about 4 years ago
ModularSensors - v0.28.01
Downloads
ModularSensors_Dependencies_v0.28.01.zip
- contains this version of ModularSensors and the proper versions of all of its dependencies.
Bug Fixes
- Fixes an EGREGIOUS error in the SDI-12 code causing the code to lock up if debugging was off (but always work with it on)
- Issue #346
- This was first introduced in 0.27.5
- Fix GitHub action for pull requests.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] about 4 years ago
ModularSensors - v0.27.8
Fix GitHub Action
Downloads
ModularSensors_Dependencies_0.27.8.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Improvements:
- Update instructions for examples
- Update developer instructions
Bug Fixes
- Fixes an error in the GitHub action to post a release
- Fixes a compiler error for non-concurrent SDI-12 sensors.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] over 4 years ago
ModularSensors - v0.27.5
Multiple new Sensors and Workflows
Downloads
ModularSensors_Dependencies_0.27.5.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Installing on the Arduino IDE:
In your the Arduino Software (IDE), import the library zip file following the instructions for "Manual Installation" from https://www.arduino.cc/en/Guide/Libraries#toc5. You cannot directly import the zip using the Arduino Library Manager because it contains multiple libraries.
Installing for PlatformIO:
Extract the contents of library zip to your project's 'lib' folder.
New Features:
New Sensors:
- PaleoTerra Redox sensors
- Northern Widget Tally Counters
- simple analog electrical conductance sensors
- InSitu RDO PRO-X rugged dissolved oxygen sensors
New Publisher:
- Add Soracom/Ubidots as a data publisher
Other New Features:
- Migrated from Travis CI to Github Actions for continuous integration
- Deprecated wiki, moving contents to docs folder where needed
- Add static variable for marked time in UTC
- Add user name and password for GSM/SIM for XBee Cellular
- Support software I2C or secondary hardware I2C for all sensors possible
Improvements:
- Complete re-styling of the Doxygen output to be similar to envirodiy.org
- Add enourmous amounts of documentation
- Improved explanations and added walkthrough of menu a la carte example
- Added example calculating specific conductance where applicable
- For SDI-12 sensors, added calls to additional data commands (D1-D9) if full number of expected results are not returned by D0.
- For SDI-12 sensors, added ability to disable concurrent measurements using the build flag
MS_SDI12_NON_CONCURRENT
.- NOTE: Setting the build flag disables concurrent measurements for ALL SDI-12 sensors!
Known Issues
- The instructions for using most of the examples are out of date.
Sustainable Development - Knowledge Platforms
- C++
Published by github-actions[bot] over 4 years ago
ModularSensors - v0.25.0: Styling & Doxygen Code Documentation
Downloads
libraries_v0.25.0.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Installing on the Arduino IDE:
In your the Arduino Software (IDE), import the library zip file following the instructions for "Manual Installation" from https://www.arduino.cc/en/Guide/Libraries#toc5. You cannot directly import the zip using the Arduino Library Manager because it contains multiple libraries.
Installing for PlatformIO:
Extract the contents of library zip to your project's 'lib' folder.
Change Log
New Features:
- Automated code documentation using Doxygen, now available at https://envirodiy.github.io/ModularSensors/
Improvements:
- Improved C++ code styling elements in every file in the library, to:
- Better take advantage of the Clang compiler and code error linter tool;
- Generally follow Clang Format and Google's coding style guides used with cpplint linter, which:
- includes massive white space changes to improve readability while not changing how the code is executed
- Support Doxygen documentation.
- Encapsulated modem wake check logic into a function and checking for status using a quick AT ping if no other option is available.
- This will only affect modems/breakouts that depend on a pulse on their wake pin to turn on or off but for whatever reason don't have a separate status pin connected to the mcu. I do not recommend this configuration.
- Always re-set the pin mode of a sensor power pin before attempting to turn it on.
- This could come into play when first attempting to power on a sensor before the initial setup if the pin mode on the sensor power pin was set to input by whatever program the mcu had run prior to running ModularSensors code.
Bug Fixes
- Fixed issue where the Digi XBee LTE-M modem did not wake during normal logging mode to transmit data to the publisher. See https://github.com/EnviroDIY/ModularSensors/pull/309#commitcomment-39786167
For more details, see Pull Request #309: The style sheet
Sustainable Development - Knowledge Platforms
- C++
Published by aufdenkampe almost 5 years ago
ModularSensors - v0.24.1: Modem Restructuring
Downloads
libraries_v0.24.1.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Installing on the Arduino IDE:
In your the Arduino Software (IDE), import the library zip file following the instructions for "Manual Installation" from https://www.arduino.cc/en/Guide/Libraries#toc5. You cannot directly import the zip using the Arduino Library Manager because it contains multiple libraries.
Installing for PlatformIO:
Extract the contents of library zip to your project's 'lib' folder.
Change Log
Improvements
Restructured modem so that it no longer operates as a sensor. Variables tied to the modem are now effectively calculated variables and all values from the modem will be offset by 1 sending cycle (ie, the signal strength posted will always be the strength from the prior send, not the current one).
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 about 5 years ago
ModularSensors - v0.23.13: More agressive attempts to set clock
Downloads
libraries_v0.23.13.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Installing on the Arduino IDE:
In your the Arduino Software (IDE), import the library zip file following the instructions for "Manual Installation" from https://www.arduino.cc/en/Guide/Libraries#toc5. You cannot directly import the zip using the Arduino Library Manager because it contains multiple libraries.
Installing for PlatformIO:
Extract the contents of library zip to your project's 'lib' folder.
Change Log
Improvements:
- Much more aggressive attempts to set the clock if the time is not reasonable - before 01Sep2019 or after 01Jan2025.
- The LED will flicker and warnings will be sent over the serial port for invalid times at every check.
- The logDataAndPublish function will attempt to synchronize the clock at every measurement until a valid time is received.
- The NIST sync will attempt to open the socket to the daytime server up to 12 times trying to get a valid response.
- Using automatic network technology and carrier profile for Digi LTE-M XBee3's - with the current firmware there is not a significant time savings in manually selecting the carrier and manually selecting the carrier gives no options when the relative signal strength of the carriers changes.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 over 5 years ago
ModularSensors - v0.23.11: Watchdogs and More
Downloads
libraries_v0.23.11.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Installing on the Arduino IDE:
In your the Arduino Software (IDE), import the libraries.zip file following the instructions for "Manual Installation" from https://www.arduino.cc/en/Guide/Libraries#toc5. You cannot directly import the zip using the Arduino Library Manager because it contains multiple libraries.
Installing for PlatformIO:
Extract the contents of libraries.zip to your project's 'lib' folder.
Change Log
New Features:
- A watch-dog timer has been implemented for both the AVR and SAMD21 (and 51) boards to restart the boards in case of failure during logging
- The watch-dog is turned off during sleep to save power, so recovery is only possible if the failure is while the processor is awake.
- Added support for Meter Terros 11 soil moisture and temperature sensor
- Implemented a function to verify that UUID's are at least correctly formed and unique - though it does not verify that they are valid.
- Pushing to the master branch of this repo will now also cause a re-run of the travis script that updates the EnviroDIY "Libraries" repository.
- Added debugging variables to modems to track how long they are powered/active.
Improvements:
- Added extra compile tests in the menu a la carte example.
- Improvements made to nearly all modem modules
- Restore XBee access to resets by TinyGSM
Bug Fixes
- Fixed all compiler warnings seen with the -Wextra flag (mostly by adding technically-unnecessary-but-visually-helpful braces)
- Fixed issue with creating a calculated variable without a UUID
Known Issues
- polling the AM2315 more frequently than every 2 seconds will now return a bad value (-9999) rather than returning the same value multiple times. This is a reflection of a change in the Adafruit library. The measurement time set for the sensor has always been this long so this issue should never be seen unless you attempt to call get measurement results from the AM2315 without first waiting for the measurement completion. The update function and all variable array functions should behave properly.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 over 5 years ago
ModularSensors - v0.22.5: Modem Simplification
NOTE: This release is NOT backwards compatible with previous releases.
- All code must be updated to the current format for modems and time zones to work with this version of the library.
Downloads
libraries.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Installing on the Arduino IDE:
In your the Arduino Software (IDE), import the libraries.zip file following the instructions for "Manual Installation" from https://www.arduino.cc/en/Guide/Libraries#toc5. You cannot directly import the zip using the Arduino Library Manager because it contains multiple libraries.
Installing for PlatformIO:
Extract the contents of libraries.zip to your project's 'lib' folder.
Change Log
New Features:
- LoggerModem has become a parent class. All modems now exist as separate subclass objects.
- This should greatly simplify creating a modem object in code.
- Currently supported modems:
- Digi XBee and XBee3 cellular modems of all types running in transparent mode
- Digi XBee3 cellular LTE-M modems in bypass mode (this is in addition to transparent mode)
- Digi XBee cellular 3G global modems in bypass mode (this is in addition to transparent mode)
- Digi XBee Wifi S6B modules
- Sodaq UBee LTE-M (SARA R410M)
- Sodaq UBee 3G (SARA U201)
- Sodaq 2GBee R6/R7
- Sodaq 2GBee R4, Adafruit Fona, and other SIMComm SIM800 modules
- Botletics and other SIMCom SIM7000 modules
- Dragino, Nimbelink, and other Quectel BG96 modules
- Nimbelink LTE-M Verizon
- Espressif ESP8266 based modules
- The older way of creating a modem object and feeding it wake/sleep functions is no longer supported.
- The real time clock's timezone can now be explicit set (as opposed to setting the logger timezone and the offset between the RTC and the logger)
- The function to set the logger timezone has been renamed from setTimeZone to setLoggerTimeZone.
Improvements:
- Daily clock synchronization has been moved from midnight to noon. For loggers with solar charging, this should place the extra draw of the modem to do the synchronization to a time of peak charging.
- All "send" data functions have been renamed to "publish" to line up with module names.
- Updated AM2315 to use most current Adafruit library (2.0.0)
Bug Fixes
- Fixed #259 where time zones offset by more than 9 hours from UTC would not work correctly.
- Fixed #183 where enabling debugging would cause non AVR boards to crash.
- Adjusted some timing parameters for the SIM800 based on testing.
Known Issues
- polling the AM2315 more frequently than every 2 seconds will now return a bad value (-9999) rather than returning the same value multiple times. This is a reflection of a change in the Adafruit library. The measurement time set for the sensor has always been this long so this issue should never be seen unless you attempt to call get measurement results from the AM2315 without first waiting for the measurement completion. The update function and all variable array functions should behave properly.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 6 years ago
ModularSensors - v0.21.4: Deep debug error
Downloads
libraries.zip contains this version of ModularSensors and the proper versions of all of its dependencies.
Installing on the Arduino IDE:
In your the Arduino Software (IDE), import the libraries.zip file following the instructions for "Manual Installation" from https://www.arduino.cc/en/Guide/Libraries#toc5. You cannot directly import the zip using the Arduino Library Manager because it contains multiple libraries.
Installing for PlatformIO:
Extract the contents of libraries.zip to your project's 'lib' folder.
Change Log
Bug Fixes
- Fixed minor bug in debugging created in previous release
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 6 years ago
ModularSensors - v0.21.3: Minor Bugs and Simplified Debugging
New Features:
- Gave every header file a unique debugging define statement so each file can be debugged individually by building with the build flag -DMS_xxx_DEBUG where xxx is the file name in upper case.
- Some files also have a "deep" debugging option with -DMS_xxx_DEBUG_DEEP
- Created examples for LearnEnviroDIYCode
Bug Fixes:
- Fixed a bug causing modem to not be turned because the processor thought it was on already
- Corrected warm-up timing for Yosemitech Sonde
- Typo fixes in comments
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 6 years ago
ModularSensors - v0.21.2: Fix write to SD card
Bug Fixes
- Fixed bug intoduced in 0.21.0 preventing writing to SD card - file must be closed (not sync'ed)
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 about 6 years ago
ModularSensors - v0.21.0: Support for all Atlas Scientific I2C sensors, compiler-safe begin functions
New Features:
- Added full support for all Atlas Scientific EZO curcuits and sensors that support I2C
- CO2
- DO (dissolved oxygen)
- EC (conductivity)
- ORP (oxidation/reduction potential)
- pH
- RTD (temperature
- Created empty constructors for the logger, publisher, variable array, and variable classes and all of their subclasses. For all classes created a corresponding "begin" function to set internal class object values.
- See note for more details: https://github.com/EnviroDIY/ModularSensors/commit/b1a619ed74bc790743bce35b3a4e78a2d2237b22
- The order of input arguments for all variable objects has changed. For variable subclasses (ie, variables from sensors), there is no change to the user. For calculated variable objects, all code must be updated! Please check the structure in the examples! Older code will compile without error but the variable metadata fields will be incorrectly populated.
- Very preliminary support for SD cards with switchable power
Improvements:
- Eliminated any time-out waits on libraries using the Wire class
- Simplified the logger begin function - the removed functionality should be called in individual program setup functions
- Removed clock sync
- Removed logger file creation
- Removed sensor setup
- Moved the check for setup from the wake function to the startSingleMeasurement function for all sensors
- Previously, the first time the wake was called for a function, the status bit for setup was checked and if the sensor had not been setup, the setup function was called. This will no longer happen the first time the wake function is called, but instead the first time the startSingleMeasurement function is called. The main motivator for the change was the modem which could end up behaving strangely because the setup function actually called the wake function internally.
- Improved example coding for SARA R410 cellular modules
Bug Fixes
- Fixed call to a null pointer causing the array's completeUpdate to crash with calculated variables
- Fixed source of ADS1x15 dependency
- Removed "default" wake/sleep functions from modem. These were non-working skeleton functions.
Known Issues
- Running some I2C sensors on switched power will cause unrecoverable hangs at the first call to any other I2C peripheral (ie, the DS3231 RTC) after sensor power is turned off. This is a hardware problem and is un-fixable within this library.
- The sensor class and all of its subclasses still require input arguments in the constructor.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 about 6 years ago
ModularSensors - v0.19.6: Modem Improvements & ADS1X15 Generalization
New Features:
- Added ADS1015 as an optional analog to digital converter (ADC) for boards other than the Mayfly
Improvements:
- Modem waits for signal strength return before sending data
- Other modem tweaks
- Restructuring of data publishers
Bug Fixes
- Fixed bug with ADS1115 for M0/SAM21
Sustainable Development - Knowledge Platforms
- C++
Published by aufdenkampe about 6 years ago
ModularSensors - v0.19.3: Bug fix and example re-working
Improvements:
- Re-works the examples to remove duplication between them.
Bug Fixes:
- Fixes bug in sending data to the WikiWatershed / Monitor My Watershed data sharing portal.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 over 6 years ago
ModularSensors - v0.19.2: Decreased Data Consumption
New Features:
- Added ThingSpeak support via MQTT (PubSubClient is now a required dependency)
- Added support for TI INA219 thanks to @neilh21 (Adafruit INA219 library is now a required dependency)
Improvements:
- Reduced telemetry data consumption (by half in one test) and therefore overall power use, by creating an outgoing text buffer.
- Note : the default buffer size is quite large, decrease it to decrease program memory size.
- Refactored data publishers as a new class rather than subclasses of loggers
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 over 6 years ago
ModularSensors - v0.17.2: Major Update!
New Features & Improvements
- Improved power management.
- Improved stability.
- A huge number of other changes, with most of them are documented here: https://github.com/EnviroDIY/ModularSensors/pull/173
NOTE: THIS RELEASE DESTROYS BACKWARDS COMPATIBILITY!!
- All
.ino
sketch files will need to be updated to follow the updated examples. - All library dependencies will need to be updated to match versions in the library.json file.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 over 6 years ago
ModularSensors - v0.12.2: Calculated variables and bug fixes
New features and improvements:
- Implemented real calculated variables, from PR #153, closing issue #127 (Create generic calculated variables).
Bug fixes
- Fixes issue with MaxSonar giving weird readings, due to buffer not being cleared between readings, as described in https://www.envirodiy.org/topic/minor-glitch-reading-maxbotix-mb7389-with-mayfly/
See PR #160 for a full list of improvements and fixes.
NOTE: This THIS RELEASE DESTROYS BACKWARDS COMPATIBILITY!! All .ino
files will need to be updated to follow the updated examples.
Sustainable Development - Knowledge Platforms
- C++
Published by aufdenkampe over 6 years ago
ModularSensors - Fixed Longer Logger Intervals and Improved Documentation
-
Fixed variable type for logging interval from uint8_t to uint16_t allowing consistent logging at intervals greater than 5 minutes
-
Improved documentation for examples
-
Applying "sensor testing mode" more consistently in examples
-
Made variables necessary for sensor testing mode with custom loops public
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 7 years ago
ModularSensors - Added sensors and fixed timing bugs
New sensors:
- Added support for Freescale MPL115A2 pressure sensor
- Added support for Keller Acculevel
- Added support for Yosemitech Y4000 multi-parameter sonde
- Added support for a generic "voltage" measurement on an ADS1115 with and without a voltage divider
- Added support for an external rain tipping bucket counter deployed using the EnviroDIY TippingBucketRainGauge library and communicating with the main logger via I2C
New examples and documentation:
- Added some helpful details on the default I2C addresses of several sensors
- Expanded explanations of sensor and variable terminology in ReadMe
- Added 2 new examples of creating a calculated variable from those variables directly measured by multiple sensors
- Minor corrections to Yosemitech sensor resolution and accuracy.
Bug Fixes and other Tweeks:
- Fixed major bug causing sensors with long stabilization times to not be updated
- Tweeked code generating csv's and json outputs to allow a modified csv or json to be written to the SD card or posted to data.EnviroDIY.org
- Removed the "checkForUpdate()" function. When asking for a value from a variable, you now must explicitly state whether you want the variable to ask its parent sensor for an updated value or not. By default, it will not ask the parent sensor to update, but only return the last value received or -9999 if a value has never been received.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 7 years ago
ModularSensors - Timing Improvements
Major restructuring of sensor status and internal sensor time stamps to improve efficiency when using variables/sensors in arrays - this makes sensor/variable order much less important
Restructured Zebra Tech D-Opto
Added MS5803, external voltage, and external tip counter
Fixed bugs with modem and 5TM
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 about 7 years ago
ModularSensors - Fixes bugs in description and examples
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 about 7 years ago
ModularSensors - Uniformity of missing values, averaging for all sensors
- Allows all sensors to be averaged
- More uniform return of -9999 for missing/bad values
- Better time synching
- Example platformio.ini files
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 about 7 years ago
ModularSensors - 0.5.4-beta
- Added Yosemitech brand sensors which communicate via RS485
- Improvements to modem support and debugging
- Clock synchronization fixes
- Improved examples
- Renaming of a large number of internal variables
- Library metadata and dependency fixes
- Inching closer to full support for SAMD21 (M0/Zero) processors, though still some bugs present.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 over 7 years ago
ModularSensors - Beta Release 0.3.0
Added the Apogee SQ-212 PAR sensor.
Changed the interrupt library to EnableInterrupt, which now controls all interrupts.
Added the modem as a "sensor" which can return it's signal strength as a variable.
Added a "debugging" mode, accessible by pushing a button while the checkForDebugMode function is running.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 8 years ago
ModularSensors - Impoved setup functions
Slight rearrangement of setup functions to improve efficiency.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 8 years ago
ModularSensors - Another beta release
Shorted time allowed to attempt to turn Bee on/off
Added a check that Bee is on before trying to connect to network
Shorted wait for network time to 55 sec (from 60)
Put disconnect step within if block so it only tries to disconnect if it was connected in the first place
Fixed extra spaces in CSV
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 8 years ago
ModularSensors - Initial release
Our first release of the modular sensors library to support easily logging data from a variety of environmental sensors and sending that data to the EnviroDIY data portal.
Sustainable Development - Knowledge Platforms
- C++
Published by SRGDamia1 almost 8 years ago