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
81 stars 48 forks source link

Implement batch transmission and better testing features #453

Closed tpwrules closed 1 month ago

tpwrules commented 1 year ago

Requires modification to the MonitorMyWatershed site to work properly. This PR has been marked as a draft until those changes are made.

This implementation of the protocol reuses the logic for formatting single values and buffers values as floats so there should be absolutely no change in transmitted values.

It's unclear if the two timeout extension commits at the end are still needed. I would be fine dropping them for now. I would also be fine splitting the testing button changes into a separate PR.

Please use the GitHub PR review feature to suggest changes.

tpwrules commented 1 year ago

Can you help me understand the timed out tests? Is there anything I need to/can do about that?

I also see that some boards might need a smaller default buffer size to avoid running out of RAM?

SRGDamia1 commented 1 year ago

The GitHub actions stop running further tests in a group after one fails. So when the Mega failed because the program was too big for its RAM, the rest of the tests stopped.

tpwrules commented 1 year ago

Okay, how do you recommend we solve that? Is there a way to do board specific defines?

SRGDamia1 commented 1 year ago

You can do board-specific defines by checking for which board type is already defined in the compiler: https://github.com/EnviroDIY/ModularSensors/blob/5a4d77f50a15b23f1580c5254c6a8879f1848d77/examples/menu_a_la_carte/menu_a_la_carte.ino#L189

tpwrules commented 1 year ago

Do you know which boards have less than 16K of RAM?

SRGDamia1 commented 1 year ago

The Mega is the only one I'm testing.

aufdenkampe commented 9 months ago

@SRGDamia1, We'll want start working on this soon, given we've queued the following into our v0.18 release. EnviroDIY performance improvements Milestone:

SRGDamia1 commented 1 month ago

Closed in favor of #479