Interfaces

Interfaces to the objects in the network (IDL file)

module SaneStatus {

valuetype Instrument { // Definition of 'Instrument'
public string name; // string sent by NOMAD and checked by Igor Pro
};
valuetype Setpoint { // Definition of 'Setpoint'
public double value; // in K, bar, Tesla
};
valuetype Data { // Definition of 'Data'
public double value; // in K, bar, Tesla
public double datime; // seconds since 01.01.1970
public long errCode; // error code
public string errMessage; // error message
};
valuetype Status { // Definition of 'Status'
public double code; // 0:disabled, 1:enabled
public string message; // string returned by Igor Pro
public long errCode; // error code
public string errMessage; // error message
};
interface Temperature { // Interface for the temperature control
Data getTempRegul(in Instrument n); // Regulation temperature Treg in K
Data getTempRegulSetpoint(in Instrument n); // Regulation setpoint Tsp in K
Data setTempRegulSetpoint(in Instrument n, in Setpoint s);
Data getTempSmpReading1(in Instrument n); // Sample temperature Tsmp in K
Data getTempSmpReading2(in Instrument n);
Data getTempTolerance(in Instrument n); // Data collection when Tsmp in Tsp±Tolerance in K
Data SetTempTolerance(in Instrument n, in Setpoint s);
Data getTempSmpReady(in Instrument n); // Data collection when sample ready (0:not ready, 1:ready)
Status getTempStatus(in Instrument n); // Availability of the equipment (0:disabled, 1:enabled)
Data getTempTimeout(in Instrument n); // Error management (Timeout for communication in s)
Data setTempTimeout(in Instrument n, in Setpoint s);
Status getTempError(in Instrument n);
};
interface Pressure { // Interface for the pressure control
Data getPressRegul(in Instrument n); // Regulation pressure Preg in bar
Data getPressRegulSetpoint(in Instrument n); // Regulation setpoint Psp in bar
Data setPressRegulSetpoint(in Instrument n, in Setpoint s);
Data getPressSmpReading(in Instrument n); // Sample pressure Psmp in bar
Data getPressTolerance(in Instrument n); // Data collection when Psmp in Psp±Tolerance in bar
Data SetPressTolerance(in Instrument n, in Setpoint s);
Data getPressSmpReady(in Instrument n); // Data collection when sample ready (0:not ready, 1:ready)
Status getPressStatus(in Instrument n); // Availability of the equipment (0:disabled, 1:enabled)
Data getPressTimeout(in Instrument n); // Error management (Timeout for communication in s)
Data setPressTimeout(in Instrument n, in Setpoint s);
Status getPressError(in Instrument n);
};
interface MagField { // Interface for the magnetic field control
Data getMagField(in Instrument n); // Magnetic field B in Tesla
Data getMagFieldSetpoint(in Instrument n); // Regulation setpoint Bsp in Tesla
Data setMagFieldSetpoint(in Instrument n, in Setpoint s);
Data getMagFieldPersistentMode(in Instrument n); // Field mode (0:non-persistent, 1:persistent)
Data setMagFieldPersistentMode(in Instrument n, in Setpoint s);
Data getMagFieldTolerance(in Instrument n); // Data collection when B in Bsp±Tolerance in Tesla
Data SetMagFieldTolerance(in Instrument n, in Setpoint s);
Data getMagFieldSmpReady(in Instrument n); // Data collection when sample ready (0:not at field, 1:ready)
Status getMagFieldStatus(in Instrument n); // Availability of the equipment (0:disabled, 1:enabled)
Data getMagFieldTimeout(in Instrument n); // Error management (Timeout for communication in s)
Status getMagFieldError(in Instrument n); Data setMagFieldTimeout(in Instrument n, in Setpoint s);
};
interface Cryogenics { // Interface for the cryogenics (for manual mode only)
Data getCryoLevelLN2(in Instrument n); // Cryogen levels in %
Data getCryoLevelLHe(in Instrument n);
Data getCryoColdValveMode(in Instrument n); // Cold-valve control mode (0:manual, 1:auto)
Data getCryoColdValvePressure(in Instrument n); // Cold-valve pressure in mbar
Data setCryoColdValvePressure(in Instrument n, in Setpoint s);
Data getCryoColdValvePower(in Instrument n); // Cold-valve power in %
Data setCryoColdValvePower(in Instrument n, in Setpoint s);
Status getCryoStatus(in Instrument n); // Availability of the equipment (0:disabled, 1:enabled)
};
};