Skip to content

Commit

Permalink
Merge branch 'develop' into hmac_auth
Browse files Browse the repository at this point in the history
  • Loading branch information
aufdenkampe committed Oct 12, 2023
2 parents 2a9457c + 5a4d77f commit 816c4e6
Show file tree
Hide file tree
Showing 47 changed files with 2,135 additions and 1,013 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/build_documentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ jobs:
name: Check that all classes are documented in the menu-a-la-carte example

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'

# Using anwer from here to get the exit code and pass the output: https://stackoverflow.com/questions/59191913/how-do-i-get-the-output-of-a-specific-step-in-github-actions
# Using answer from here to get the exit code and pass the output: https://stackoverflow.com/questions/59191913/how-do-i-get-the-output-of-a-specific-step-in-github-actions
- name: check for classes in the menu example
id: check_component
continue-on-error: true
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:

steps:
# check out the ModularSensors repo
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
path: code_docs/ModularSensors

Expand Down Expand Up @@ -124,7 +124,7 @@ jobs:
# check out my fork of m.css, for processing Doxygen output
- name: Checkout m.css
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Repository name with owner. For example, actions/checkout
repository: SRGDamia1/m.css
Expand All @@ -149,7 +149,7 @@ jobs:
- name: Deploy to github pages
if: "(github.event_name == 'release' && github.event.action == 'published') || (github.event_name == 'workflow_dispatch' && github.event.inputs.publish == 'true')"
uses: peaceiris/[email protected].2
uses: peaceiris/[email protected].3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ github.workspace }}/code_docs/ModularSensorsDoxygen/m.css
89 changes: 62 additions & 27 deletions .github/workflows/build_examples.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
pio_job_matrix: ${{ steps.py_matrix.outputs.pio_job_matrix }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
Expand Down Expand Up @@ -53,34 +53,77 @@ jobs:
echo "PlatformIO job matrix"
echo "${{ needs.generate_matrix.outputs.pio_job_matrix }}"
determine_library_source:
name: determine_library_source
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
outputs:
library_install_zip: ${{ steps.store_vars.outputs.library_install_zip }}
library_install_git: ${{ steps.store_vars.outputs.library_install_git }}

steps:
- uses: actions/checkout@v4

- name: Set environment variables for pushes to any branch in EnviroDIY/ModularSensors
if: github.event_name == 'push'
run: |
echo "Push to commit ${GITHUB_SHA}"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.zip" >> $GITHUB_ENV
echo "LIBRARY_INSTALL_GIT=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_SHA}" >> $GITHUB_ENV
- name: Set environment variable for PR's from any branch in EnviroDIY/ModularSensors
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.name == github.repository
run: |
echo "Pull Request from the ${GITHUB_HEAD_REF} branch"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_HEAD_REF}.zip" >> $GITHUB_ENV
echo "LIBRARY_INSTALL_GIT=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_HEAD_REF}" >> $GITHUB_ENV
- name: Set environment variable for PR's from any branch in EnviroDIY/ModularSensors
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.name != github.repository
run: |
echo "Pull Request from the fork ${{ github.event.pull_request.head.repo.full_name }} at ${{ github.event.pull_request.head.ref }}"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${{ github.event.pull_request.head.repo.full_name }}/archive/${{ github.event.pull_request.head.ref }}.zip" >> $GITHUB_ENV
echo "LIBRARY_INSTALL_GIT=https://github.com${{ github.event.pull_request.head.repo.full_name }}.git#${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV
- name: store enviroment variables as output
id: store_vars
run: |
echo "library_install_zip=${{ env.LIBRARY_INSTALL_ZIP }}" >> $GITHUB_OUTPUT
echo "library_install_git=${{ env.LIBRARY_INSTALL_GIT }}" >> $GITHUB_OUTPUT
print_library_source:
name: print_library_source
runs-on: ubuntu-latest
needs: determine_library_source
steps:
- name: Check the library installation source
run: |
echo "Link to zip for Arduino CLI testing install:"
echo "${{ needs.determine_library_source.outputs.library_install_zip }}"
echo
echo "Git reference for PlatformIO testing install"
echo "${{ needs.determine_library_source.outputs.library_install_git }}"
build_ex_arduino:
name: ${{ matrix.job_info.job_name }}
runs-on: ubuntu-latest
needs: generate_matrix
needs: [generate_matrix, determine_library_source]
env:
LIBRARY_INSTALL_ZIP: ${{ needs.determine_library_source.outputs.library_install_zip }}
strategy:
matrix:
job_info: ${{ fromJSON(needs.generate_matrix.outputs.arduino_job_matrix) }}

steps:
- uses: actions/checkout@v3

- name: Set environment variable for library installation source
run: |
if [[ -z "${GITHUB_HEAD_REF}" ]]; then
echo "::debug::Push to commit ${GITHUB_SHA}"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.zip" >> $GITHUB_ENV
else
echo "::debug::Pull Request from the ${GITHUB_HEAD_REF} branch"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_HEAD_REF}.zip" >> $GITHUB_ENV
fi
- uses: actions/checkout@v4

- name: Unused Step
run: echo "This is needed to make the step number match with the PlatformIO jobs. =)"

# We use the `arduino/setup-arduino-cli` action to install and
# configure the Arduino CLI on the system.
- name: Setup Arduino CLI
uses: arduino/[email protected].1
uses: arduino/[email protected].2

- name: Restore Arduino platforms and libraries
uses: actions/cache@v3
Expand Down Expand Up @@ -134,23 +177,15 @@ jobs:
build_pio:
name: ${{ matrix.job_info.job_name }}
runs-on: ubuntu-latest
needs: generate_matrix
needs: [generate_matrix, determine_library_source]
env:
LIBRARY_INSTALL_GIT: ${{ needs.determine_library_source.outputs.library_install_zip }}
strategy:
matrix:
job_info: ${{ fromJSON(needs.generate_matrix.outputs.pio_job_matrix) }}

steps:
- uses: actions/checkout@v3

- name: Set environment variable for library installation source
run: |
if [[ -z "${GITHUB_HEAD_REF}" ]]; then
echo "::debug::Push to commit ${GITHUB_SHA}"
echo "LIBRARY_INSTALL_SOURCE=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_SHA}" >> $GITHUB_ENV
else
echo "::debug::Pull Request from the ${GITHUB_HEAD_REF} branch"
echo "LIBRARY_INSTALL_SOURCE=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
Expand Down Expand Up @@ -184,7 +219,7 @@ jobs:
# Force install to get the right version
- name: Install the testing version of Modular Sensors for PlatformIO
run: |
pio pkg install -g --library ${{ env.LIBRARY_INSTALL_SOURCE }}
pio pkg install -g --library ${{ env.LIBRARY_INSTALL_GIT }}
- name: Download the prepared examples
uses: actions/download-artifact@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog_reminder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
name: Changelog Reminder
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prepare_release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set environment variable for current library version
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/verify_library_structure.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
if: "!contains(github.event.head_commit.message, 'ci skip')"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:
if: "!contains(github.event.head_commit.message, 'ci skip')"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Run Arduino-Lint to verify the library structure and syntax for the Arduino IDE
id: validate_library
Expand Down
21 changes: 20 additions & 1 deletion ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Changed
- **BREAKING** Refactored how the publisher transmit buffer works. This will require adjustment to custom data publishers.

### Added

### Removed

### Fixed

***


## [0.35.0]

### Added
- Support [GroPoint Profile GPLP-8 Eight-Segment Soil Moisture and Temperature Profiling Probe](https://www.gropoint.com/products/soil-sensors/gropoint-profile)

## [0.34.1]

### Changed
- Incorporated improvements to the XBee Wifi - from [neilh10](https://github.com/EnviroDIY/ModularSensors/commits?author=neilh10)
- #347 -WiFi S6B stability - tears dwon TCP/IP before going to sleep, doesn't automatically poll for meta data

### Added
- Added the ability to enable or disable polling of modem attached variables.
By default, all polling is off, but polling is enabled for a modem sensor when a sensor is created and attached to a modem.
This functionailty is inspired from [neilh10](https://github.com/EnviroDIY/ModularSensors/commits?author=neilh10).

### Fixed
- Fixed GitHub actions for pull requests from forks.

## [0.34.0]

### Changed
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,9 @@ For some generalized information about attaching sensors to an Arduino style boa
- [Decagon Devices ES-2: conductivity ](https://envirodiy.github.io/ModularSensors/group__sensor__es2.html)
- [Decagon Devices CTD-10: conductivity, temperature & depth ](https://envirodiy.github.io/ModularSensors/group__sensor__decagon__ctd.html)
- [Everlight ALS-PT19 Analog Light Sensor (via processor ADC)](https://envirodiy.github.io/ModularSensors/group__sensor__alspt19.html)
- [Freescale Semiconductor MPL115A2: barometric pressure and temperature](https://envirodiy.github.io/ModularSensors/group__sensor__mpl115a2.html)
- [External Arduino I2C Rain Tipping Bucket Counter: rainfall totals](https://envirodiy.github.io/ModularSensors/group__sensor__i2c__rain.html)
- [Freescale Semiconductor MPL115A2: barometric pressure and temperature](https://envirodiy.github.io/ModularSensors/group__sensor__mpl115a2.html)
- [GroPoint Profile GPLP-8 Eight-Segment Soil Moisture and Temperature Profiling Probe](https://envirodiy.github.io/ModularSensors/group__sensor__gplp8.html)
- [In-Situ RDO PRO-X: dissolved oxygen](https://envirodiy.github.io/ModularSensors/group__sensor__insitu__rdo.html)
- [In-Situ SDI-12 TROLLs: pressure, temperature, and depth](https://envirodiy.github.io/ModularSensors/group__sensor__insitu__troll.html)
- [Keller Submersible Level Transmitters: pressure and temperature](https://envirodiy.github.io/ModularSensors/group__keller__group.html)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.34.0
0.35.0
18 changes: 14 additions & 4 deletions continuous_integration/dependencies.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"action_cache_version": 15,
"action_cache_version": 17,
"dependencies": [
{
"name": "EnviroDIY_DS3231",
Expand Down Expand Up @@ -48,7 +48,7 @@
{
"name": "TinyGSM",
"owner": "vshymanskyy",
"version": "~0.11.5",
"version": "~0.11.7",
"note": "A small Arduino library for GPRS modules.",
"authors": ["Volodymyr Shymanskyy", "Sara Damiano"],
"frameworks": "arduino",
Expand Down Expand Up @@ -79,7 +79,7 @@
"owner": "adafruit",
"library id": "31",
"url": "https://github.com/adafruit/Adafruit_Sensor",
"version": "~1.1.9",
"version": "~1.1.13",
"note": "Adafruit's unified sensor library is used by their other libraries",
"authors": ["Adafruit"],
"frameworks": "arduino",
Expand Down Expand Up @@ -164,7 +164,7 @@
"owner": "adafruit",
"library id": "11710",
"url": "https://github.com/adafruit/Adafruit_SHT4X",
"version": "~1.0.2",
"version": "~1.0.4",
"note": "Sensirion SHT4x Library by Adafruit",
"authors": ["Adafruit"],
"frameworks": "arduino"
Expand Down Expand Up @@ -268,6 +268,16 @@
"authors": ["Sara Damiano", "Anthony Aufdenkampe"],
"frameworks": "arduino",
"platforms": "atmelavr, atmelsam"
},
{
"name": "GroPointModbus",
"owner": "envirodiy",
"url": "https://github.com/EnviroDIY/GroPointModbus.git",
"version": "~0.1.0",
"note": "A library to use an Arduino as a master to control and communicate via modbus with GroPoint soil moisture sensors. ",
"authors": ["Anthony Aufdenkampe"],
"frameworks": "arduino",
"platforms": "atmelavr, atmelsam"
}
]
}
3 changes: 3 additions & 0 deletions continuous_integration/install-deps-arduino-cli.sh
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,9 @@ arduino-cli --config-file continuous_integration/arduino_cli.yaml lib install Ke
echo "\n\e[32mInstalling EnviroDIY YosemitechModbus library from Arduino library index\e[0m"
arduino-cli --config-file continuous_integration/arduino_cli.yaml lib install YosemitechModbus

echo "\n\e[32mInstalling EnviroDIY GropointModbus library from Arduino library index\e[0m"
arduino-cli --config-file continuous_integration/arduino_cli.yaml lib install GropointModbus

echo "\n\e[32mInstalling StreamDebugger library from Arduino library index\e[0m"
arduino-cli --config-file continuous_integration/arduino_cli.yaml lib install StreamDebugger

Expand Down
3 changes: 3 additions & 0 deletions continuous_integration/install-deps-platformio.sh
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ pio pkg install -g --library envirodiy/KellerModbus
echo "\e[32mInstalling envirodiy/YosemitechModbus\e[0m"
pio pkg install -g --library envirodiy/YosemitechModbus

echo "\e[32mInstalling envirodiy/GroPointModbus\e[0m"
pio pkg install -g --library envirodiy/GroPointModbus

echo "\e[32mInstalling vshymanskyy/StreamDebugger\e[0m"
pio pkg install -g --library vshymanskyy/StreamDebugger

Expand Down
2 changes: 1 addition & 1 deletion docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ PROJECT_NAME = ModularSensors
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 0.34.0
PROJECT_NUMBER = 0.35.0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
11 changes: 7 additions & 4 deletions examples/DRWI_2G/ReadMe.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
# DRWI 2G Sites <!-- {#example_drwi_2g} -->

This is the code example that should be used for all groups working with the Stroud Water Research Center within the Delaware River Watershed Initiative.
This should be used at all sites with cellular 2G service.
This code was used for DRWI monitoring stations in 2016-2022. The 2G GPRSbee cellular boards no longer function in the USA, so this code should not be used and is only provided to archival and reference purposes.

The exact hardware configuration used in this example:
* Mayfly v0.5b board
* SODAQ GPRSbee 2G cell module (with Hologram SIM card)
* Hydros21 CTD sensor
* Campbell OBS3+ turbidity sensor

Before programming your board with this example, you must register your site and sensors at http://data.envirodiy.org/.
Stroud can provide directions for registering your site if you need assistance.

_______

Expand Down
11 changes: 7 additions & 4 deletions examples/DRWI_DigiLTE/ReadMe.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
# DRWI Digi LTE Sites <!-- {#example_drwi_digilte} -->

This is the code example that should be used for all groups working with the Stroud Water Research Center within the Delaware River Watershed Initiative.
This should be used at all sites with cellular LTE service.
This example uses the sensors and equipment common to older stations (2016-2020) deployed by groups participating in the DRWI Citizen Science project with the Stroud Water Research Center. It includes a Meter Hydros21 CTD (formerly know as a Decagon), a Campbell OBS3+ (Turbidity), and a Digi XBee3 LTE-M cellular board for communication. The Digi LTE module also required the use of a EnviroDIY LTEbee Adapter board (discontinued in 2021). The Digi LTE modules are no longer recommended for use and have been replace by the EnviroDIY LTEbee in all DRWI-SWRC-managed stations.

The exact hardware configuration used in this example:
* Mayfly v0.5b board
* Digi Xbee LTE module (with Hologram SIM card and EnviroDIY bee adapter)
* Hydros21 CTD sensor
* Campbell OBS3+ turbidity sensor

Before programming your board with this example, you must register your site and sensors at http://data.envirodiy.org/.
Stroud can provide directions for registering your site if you need assistance.

_______

Expand Down
Loading

4 comments on commit 816c4e6

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All sensor and variable subclasses must be included in the Menu a la Carte example
missing_menu_docs

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lint_errors

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All sensor and variable subclasses must be included in the Menu a la Carte example
missing_menu_docs

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lint_errors

Please sign in to comment.