Hi, in my application using my T7, I have a lot of important data that comes roughly every 5 seconds and a bunch of useless data in between that. What I wanted to do was have the labjack only reading during the important times, and sleeping/paused during the other time, but it seems that there is no way to stop the labjack without fully stopping and restarting the stream, which I don't want due to skipped reads, etc..., when starting.
So now I have decided to look into speeding up the labjack for important data and slowing it down for useless data (AKA toggling the labjack to record fast when I press a software button and slow down when I press it again). However, it seems that most of the options (trigger stream, burst stream, etc) only change when the reading starts, and can't be used to repetitively speed up the data acquisition whenever I have a button pressed.
Is there any way to recreate the desired functionality? I'm ending up with gigabytes of unused data from acquiring data in between important batches. I would love some way to either temporarily put the labjack to sleep, or to toggle a faster scan rate while I have a button pressed. Thank you.
The only way you would be able to sleep the LabJack in a meaningful way is to stop and start stream. If you know precisely when you want to start stream again your best bet would be to use triggered stream to trigger the actual acquisition start, calling eStreamStart slightly before you want to actually start in order to reduce the effects of startup overhead.
If you do not mind having stream operations running in the background, you could likely stream continuously and create a stream callback that only keeps data when you want it to. We have callback examples in a few of our example packages like C/C++ and Python:
https://labjack.com/support/software/api/ljm/function-reference/ljmsetst...
To change the scan rate you will always need to completely stop stream. Due to the overhead to start stream, you will not be able to restart stream very quickly.