Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #173

Merged
merged 210 commits into from
Nov 27, 2018
Merged

Develop #173

merged 210 commits into from
Nov 27, 2018

Conversation

SRGDamia1
Copy link
Contributor

@SRGDamia1 SRGDamia1 commented Oct 10, 2018

So many changes to this Major Update (for version 0.17.2)!

  • re-wrote modem constructors and wake/sleep breaking backwards compatibility
    • now requires wake and sleep fxns to be written separate and input. There were just getting to be too many ways to turn things on and off and it required nearly as much input as just writing it out separately in the first place
    • removed on/off component
    • requires update to TinyGSM!
    • better/faster give-up for missing/unresponsive modem
    • custom isStable and isMeasurementComplete fxns
    • set-up will be reattempted at first attempt to connect to internet if it was not successful
  • created new variable array function "completeUpdate" which includes wake/sleep/power management to attempt to power sensors down faster
  • allowed two power pins for RS485 based sensors
  • specified exact version of all dependencies
  • moved all sensor implementations into a sub-directory to decrease file clutter
  • implemented "beginAndSend" and "logAndSend" as separate functions for EnviroDIYLoggers instead of replacing the virtual "begin" and "log"
  • moved observer linking into the constructor so sensor functions can be run from variables prior to sensor setup.
    • removed now-unnecessary setup function from variables
  • cropped the ReadMe to a stub and moved docs into wiki
  • removed generalized power on from setup and added it to the setup functions of individual sensors that require it. This will cause power flickering if multiple sensors that require power for setup are connected.
  • allowing Campbell OBS3 to return raw voltages, helpful for repairing incorrect calibrations
  • explicitly implemented most destructors
  • not turning on all pull-up resistors for input pins
  • minor changes to debug prints
  • changed meaning of internal sensor status bits
    • all "ready" bits have become "success" bits. The "ready" bits were only accurate immediately after running the "updateStatusBits()" function anyway
    • Removed the updateStatusBits() function as now un-necessary
    • NOT unsetting status bits for wake and power if the sleep and power down functions are null. Before when the "null" function was run, the status bits and times were un-set despite no physical change to the sensor.
    • changed all of the "is it ready" type functions to use new success bits before calling millis(). This should reduce many un-necessary calls to millis() during VariableArray loops.
  • removed extra un-necessary wait with-in the getResults for the ADS1115
  • minor change to responsiveness checking on SDI-12 sensors

SRGDamia1 added 30 commits June 5, 2018 12:05
The internal _logModem must be a POINTER not a reference because it is possible for no modem to be attached (and thus the pointer could be null).  It is not possible to have a null reference.
OnOff class no longer has subclasses, but instead multiple switch statements.
Current issue: The internet connected loggers want to have an attached modem, and thus the modem.h is read in and pre-compiled with the .h files for those loggers.  But the logger modem itself isn't fully defined until compile time (pre-processor macros decided based on particular modem) so the final version of the logger modem instance is different from that of the pre-compiled instance.  Ugh.
using modem pointer
@SRGDamia1
Copy link
Contributor Author

Given develop is nearly 200 commits ahead of master, and as far as I know nearly everyone is using develop anyway. I'm going to merge this and cut a release as soon as the Keller library is updated in the registry and Travis passes.

If you have any strong objections, let me know.

@SRGDamia1 SRGDamia1 merged commit a5578d7 into master Nov 27, 2018
@neilh10
Copy link
Contributor

neilh10 commented Nov 28, 2018

Fantastic. This is a major work Sara, thankyou. Can't wait to try it :). I may not be able to get to it for a couple of days due to other commitments.

@aufdenkampe
Copy link
Member

@SRGDamia1, thanks for all your work on this! It is really impressive!

@neilh10
Copy link
Contributor

neilh10 commented Nov 30, 2018

The new release on master works for me, as a merge into my work branch.
That is for a desk test system, I'm using a Digi Xbee WiFi, running a Keller Nanolevel sensor and a number of local voltage sensors and reporting tp https://data.envirodiy.org/sites/LCC45a2/
After a couple of days I'll migrate it to a longer term stability test and then on to my stream system.
The Insights.Network graph is a pretty cool view
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants