I am trying to set up a WS425 on a CR1000 with 5 sec scans. I like the submode B data info and I can get it to work fine.
However, it resets every hour to mode A. Is there a way to trigger the submode B either with wind threshold or on fixed time to prevent switching back.
Embarrassingly, I cannot figure out how to get scan data in submode A. The manual mentions two commands, M! followed by D0!. I am used to single SDI commands, so I am at a loss.
Looks like the switchback is hardcoded.
Your code will have to renew the submodeB every hour (manual says 2 hours) to stay there.
You should be able to do that with a TimeIntoInterval() command in your loggercode that is triggering the aXQ1..! command.
As for the aD0! and aM! commands. You have to get their order and TIMING right.
What should work (data then is 5 seconds old):
SDI12Recorder(WSData(),1,0,"M!",1,0) 'initiate measurement, should be ready in 1 second
Delay(1,5,2) 'delay by 5 seconds
SDI12Recorder(WSData(),1,0,"D0!",1,0) 'get measurement from 5 seconds ago
SDI12Recorder(WSData(),1,0,"M!",1,0) 'initiate another mesurement, should be ready in 1 second
If you want to know how long it takes for your device to have the data ready after you sent the aM! command use the Logger Terminal emulator and there the SDI-12 mode (DeviceConfigUtility > Terminal .. disable 'all caps') click on [Enter] while in the terminal until you see the logger prompt response (should be 'CR1000>', then type into the Terminal 'SDI12' and hit enter.. then select the SDI12 port you have the WS425 connected to and you can test the SDI12 commands with feedback..