IVS Routines for IVSCC/PatchSeq automation

ZeroMQ Infos:

  • Listening port for the REP/ROUTER socket starts at ZEROMQ_BIND_REP_PORT.

  • Listening port for the PUBLISHER socket starts at ZEROMQ_BIND_PUB_PORT

  • If one of those ports is already in use, the next larger port is tried.

  • The publisher socket does include an automatic heartbeat message every 5 seconds. Subscribe to ZeroMQ_HEARTBEAT if you want to receive that.

  • All available message filters can be queried via FFI_GetAvailableMessageFilters().

  • More information regarding the ZeroMQ-XOP is located here

  • See IVS_PublishQCState() for more infos about the published messages


variable IVS_ConfigureMCC()
variable IVS_runBaselineCheckQC()

Run the baseline QC check.

variable IVS_runInitAccessResisQC()

Run the initial access resistance smoke from the WSE.

variable IVS_RunGigOhmSealQC()

Run PSQ_SealEvaluation()

variable IVS_Load_StimSet(string stim_filename)

Loads a single stimulus for the user when using the ZMQ Proxy.

variable IVS_ExportAllData(string filePath)
string IVS_ReturnNWBFileLocation()
variable IVS_SaveExperiment(string filename)
variable IVS_runStimWave(string stimWaveName, variable scaleFactor)

Run a designated stim wave.

  • stimWaveName – stimWaveName to be used

  • scaleFactor – scale factor to run the stim wave at

variable IVS_ButtonProc_Setup(WMButtonAction *ba)
variable IVS_ButtonProc_BaselineQC(WMButtonAction *ba)
variable IVS_ButtonProc_AccessResist(WMButtonAction *ba)
variable IVS_ButtonProc_GOhmSeal(WMButtonAction *ba)
variable IVS_CreatePanel()
variable IVS_GetSetQCForSweep(string device, variable sweepNo)

Return the Set QC passed/failed state for the given sweep.


1 if passed, 0 if not (or not yet) and asserts out on all other errors.

variable IVS_EnableStoringEveryTP(string device)
variable IVS_DisableStoringEveryTP(string device)


static const double IVS_DEFAULT_NWBVERSION = 2
static const double IVS_DEFAULT_HEADSTAGE = 0
static const string IVS_DEFAULT_DEVICE = "ITC18USB_Dev_0"