Channel and/or Instrument global reset feature in API

We’ve been using the Moku:Pro for characterization of our cyrogenic detectors, mostly carrying out IV curves. One thing that we would like is a single classmethod for the Moku class in the Python API that “resets” all of the inputs and outputs to be turned off, such that we know that no voltages are being applied to the detectors if we leave the Moku plugged in after we’re one with tests. Right now, we do it manually with the GUI, but to do this quickly and easily with the API would be great, regardless of what instrument is currently being used.

I think this could also be useful in the GUI as well, but we mostly interface with the Python API for automated data taking.


This is a great feature that I think would be very useful to have in our APIs and I have let our API developers know!

In the meantime, I believe you could do this two ways but they are not very elegant.

  • One way is to remove the connections in the MiM function set_connections() where you could leave the connection blank which would effectively disconnect the input and output.
  • The other way is to explicitly for output channels you can use the generate_waveform() function and set the waveform type to “Off”. For some instruments, you can use the disable_input() function, but looking through our API documentation this function is not present in all instruments.

Is there a reason why you would like to disable the inputs explicitly? Moku has been designed such that you can leave it running for long periods of time without having to turn it off. If you are expecting signals that are outside the safe range of the Moku and want to turn off the inputs to not damage them, then this won’t exactly solve the issue since those overvoltage signals are still being applied to the ADC, its just that the Moku isn’t logging that data.

Great! I’ve been using the second option for now, as we have mainly been using the Oscilloscope and Datalogger objects through the Python API, which has been fine, but agreed not very elegant.

Ah, okay - yeah I think then that there’s not much of a reason to reset the inputs on the DAQ side. One thought is that it may be a nice visual cue for the Moku:Pro for someone in the lab. If the input/output lights are all off, then they immediately know that no one is currently taking data, and they are free to adjust the experiment as they see fit.

I see what you mean, one way you could indicate that the Moku:Pro is available for others to use visually is to adjust the LED color using the iPad interface. Of course, there will also be an indicator in the app when someone else is connected to a Moku:Pro since only one user can control the device at a time.