Skip to content

Releases: EnviroDIY/ModularSensors

v0.36.0

01 Oct 19:08
26f2558
Compare
Choose a tag to compare

DOI

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__ and ARDUINO_ARCH_AVR in all cases.
    • Not all AVR boards defin __AVR__ within the PlatformIO system, which was confusing the SCons preprocessor.
  • 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

v0.35.1

26 Aug 06:31
Compare
Choose a tag to compare

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

v0.35.0

18 May 03:13
ca7653f
Compare
Choose a tag to compare

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
  • 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

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.

v0.34.0

16 Mar 14:39
Compare
Choose a tag to compare

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

v0.33.4

08 Jun 17:33
Compare
Choose a tag to compare

DOI

Fixed

  • Increased warm-up and measurement time for Campbell ClariVUE-10 to work with the latest version of the sensor.

v0.33.3

02 May 21:43
Compare
Choose a tag to compare

Fixed

  • Increased measurement time for Hydros21 to work with the latest version of the sensor.

v0.33.2

12 Apr 03:47
Compare
Choose a tag to compare

Fixed

  • Fixed script to install and zip libraries for a release

v0.33.1

12 Apr 02:51
Compare
Choose a tag to compare

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


v0.33.0

01 Apr 20:25
acfb2eb
Compare
Choose a tag to compare

Changed

  • Breaking: Renamed the static markedEpochTime variable to markedLocalEpochTime.
    • 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) to setNowUTCEpoch(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 to INPUT and created optional arguments to the setTestingModePin and setLoggerPins 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 as INPUT_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 the setTestingModePin or setLoggerPins 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 to FreescaleMPL115A2
    • Rename class MPL115A2_Pressure to FreescaleMPL115A2_Pressure
    • Rename class MPL115A2_Temp to FreescaleMPL115A2_Temp
    • Rename class TIINA219_Volt to TIINA219_Voltage
    • Rename class PaleoTerraRedox_Volt to PaleoTerraRedox_Voltage
    • Rename class ExternalVoltage to TIADS1x15
    • Rename class ExternalVoltage_Volt to TIADS1x15_Voltage
  • 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

v0.32.2

23 Nov 17:44
Compare
Choose a tag to compare

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.