the python API documentation for the datalogger instrument mentions network data streaming in addition to file storage/ download. I also found an example for the older pymoku API [1], but couldn’t find how to achieve something similar with the new one.
I can retrieve partial log files, but it seems silly to transfer the same data over and over again to get a few updated values…
Have I overlooked something or is this not (yet?) implemented?
Hi there Michael, sorry to say that the network data streaming capability in pymoku (using either get_realtime_data() or start_stream_data() ) is not yet available in the current moku-python package for Moku:Go and Moku:Pro just yet. We are hoping to release this feature in the beginning of 2023!
For now, your best course of action is to use the Data Logger’s start_logging() function to log the data you would like to use for postprocessing then use download_file() to export the log file to your PC. You will still have to convert this from a .li file to whatever file type you need and we are also working on a way to automate this process, but for now you will have to manually open the file which launches the li file converter automatically.
Or, you can use get_data() which gives you “partial log files” as you say to get 1024 data points per function call (the speed of which is based on your network latency). Some people use this to monitor their data as it comes in while doing some other postprocessing, but the application for it is totally up to you. I hope this information helps and I’ll be sure to follow up when network data streaming has been released!
we have now enabled datalogger streaming over the network for Moku:Go, Moku:Lab and Moku:Pro.
API data streaming is available in the standalone Data Logger instrument and in any instrument with built-in logging capability, such as the Lock-in Amplifier, PID Controller, and Laser Lock Box.
Python, Matlab and LabVIEW all support data streaming. You can find a Python streaming examples here. You can find a Matlab streaming examples here. The LabVIEW API package also has streaming examples.