wsular / EasyFlux-DL-CR3000

CR3000 datalogger program for Campbell open-path eddy-covariance systems, by @campbell-scientific
https://www.campbellsci.com/easyflux-dl
3 stars 5 forks source link

SDI12 profile conflicts #17

Closed patricktokeeffe closed 1 month ago

patricktokeeffe commented 2 months ago

Querying the first TDR315 soil profile sensor (SDI address 3) inadvertently populates both TDR315 soil storage term (e.g. CS6xx) sensors with NAN values. The profile sensors are queried consecutively from 3 to 8 every 20 seconds from slowsequence A (newer) while the two storage term sensors are queried every 5 seconds from slowsequence B (original). Neither instruction set includes the WaitOnTimeout argument.

When using the FillNAN option, all values for each sensor get filled with NAN (first video: tdr31X_wc, tdr31X_tmpr, tdr31X_E, tdr31X_bulkEC, tdr31X_poreEC) but after removing the FillNAN option for storage term sensors only the first variable is filled (second video, only tdr31X_wc).

https://github.com/wsular/EasyFlux-DL-CR3000/assets/1348834/59e6934a-3ac7-429b-abf2-b1aadf157ade

https://github.com/wsular/EasyFlux-DL-CR3000/assets/1348834/9a43b914-e66d-4993-a905-b94872548b04

patricktokeeffe commented 2 months ago

It's definitely related to using SDI12Recorder from different scans. With profile measurement timing at 1min, the time correlation is more obvious.

https://github.com/wsular/EasyFlux-DL-CR3000/assets/1348834/71cb06c9-37a1-4d85-87a1-210c533b6a94

And turning off profile sensors outright eliminates the problem.

https://github.com/wsular/EasyFlux-DL-CR3000/assets/1348834/c11a219f-8b4c-425c-a29c-326c50419fa9

patricktokeeffe commented 1 month ago

Some obvious solutions:

Other ideas:

patricktokeeffe commented 1 month ago

Can't forget SN500 also uses this port...

patricktokeeffe commented 1 month ago

And the CS655....

😑😑😑😑😑😑😑😑😑😑😑😑😑😑😑😑😑

Time to roll back