EnviroDIY / ModularSensors

An Arduino library to give environmental sensors a common interface of functions for use with Arduino-framework dataloggers, such as the EnviroDIY Mayfly.
https://envirodiy.github.io/ModularSensors/
Other
79 stars 48 forks source link

Add support for Gropoint Profile Probe using Modbus #439

Closed aufdenkampe closed 1 year ago

aufdenkampe commented 1 year ago

The GroPoint Profile GPLP-8 Eight-Segment Soil Moisture and Temperature Profiling Probe can be purchased with optional capabilities to use the Modbus communication protocol, rather than the standard SDI-12.

This PR adds a wrapper for the eight-segment GPLP-8 model using Modbus communication.

It depends on the https://github.com/EnviroDIY/GroPointModbus library, which also only implements the eight-segment GPLP-8 model probe.

Both libraries could be very easily modified to support the GPLP-2, GPLP-3, GPLP-4, GPLP-5, and GPLP-6 models using Modbus.

This code has been well tested and could be merged to develop if CI tests pass.

SRGDamia1 commented 1 year ago

Please add your changes to the change log!

aufdenkampe commented 1 year ago

@SRGDamia1, can you help me figure out what I need to fix to get the Documentation tests to pass? This branch is fully working and tested on numerous deployed stations, many having multiple sensors, including from YosemiTech.

SRGDamia1 commented 1 year ago

@aufdenkampe There were a couple of things tripping you up.

SRGDamia1 commented 1 year ago

Building the libraries with the Arduino CLI isn't expected to pass until the Arduino library registry is fully updated. From that repo, they say it should be "within a day's time."

aufdenkampe commented 1 year ago

@SRGDamia1, thank you so much for letting know what was tripping up GitHub Actions, and then fixing those issues!! I really appreciate it.

I also appreciate your modifications to my GroPoint variable classes and how to best use them in this use case where I create multiple instances of each. That's really helpful to see what you did with those, and I'm really happy that the example now shows that much cleaner approach to constructing the variable objects. Thanks!

And thanks for taking the initiatives to moving the GroPointModbus library into the PlatoformIO and Arduino library registries. I appreciate that.