psi_probecard
PSIProbecard class for probe cards to measure voltage on RD53B quad-chip modules.
The instrument is connected to a coldbox and controlled over tessie and MQTT.
Classes
|
PSIProbecard
- class icicle.psi_probecard.PSIProbecard(*args, **kwargs)
Bases:
MQTTInstrument
- __init__(resource, **kwargs)
must be explicitly specified - failing to do so will result in an error since the Multiton metaclass on VisaInstrument masks this default value for
resource
.- Parameters:
resource – VISA Resource address. TCPIP[channel]::<host>::<port>::SOCKET
**username – username for the mqtt server (default=””)
**password – password for the mqtt server (default=””)
**init – whether to initialize the coldbox (default=False)
**sim – whether to simulate the instrument (default=False)
**ssl – whether to use ssl (default=False)
- DEFAULT_PIN_MAP = {0: 'VIN', 1: 'VOFS', 2: 'VDDA_ROC0', 3: 'VDDD_ROC0', 4: 'VDDA_ROC1', 5: 'VDDD_ROC1', 6: 'VDDA_ROC2', 7: 'VDDD_ROC2', 8: 'VDDA_ROC3', 9: 'VDDD_ROC3'}
- MEASURE_TYPES = {'VOLTAGE': 'Differential voltage on pin, provided via coldbox'}
- MONITOR_SLEEP = 1
Frequency of monitor
- class MeasureChannel(instrument, channel, measure_type, unit='')
Bases:
MeasureChannel
MeasureChannel implementation for probecard.
- get_channel_name()
- Returns:
pin name
- Return type:
str
- property read: float
returns the pin value last measured. this will not remeasure the pin value. mostly used, when an array of pins is read out.
this function is not included in measurechannel_cli, is not accessible from the command line.
- Returns:
pin value from last measurement
- Return type:
float
- property status: bool
- Returns:
status of instrument
- Return type:
bool
- property value: float
- Returns:
pin value at measurement
- Return type:
float
- QUERY_LATENCY = 1
MQTT maximum query latency
- READ_LATENCY = 10
MQTT maximum read latency
- get_pin_map() dict
- Returns:
pin map of the board
- Return type:
dict
- get_probecard() int
- Returns:
position of the probecard in the coldbox
- Return type:
int
- identify() str
- Returns:
position of the probecard and host and port of the coldbox.
- Return type:
str
- monitor(**kwargs) None
monitoring the pin voltages. :param **repetition: number of repetitions. runs forever if not provided or 0. :param **monitor_sleep: time between queries. if not provided, default is used. :print: current measurement block.
- off() bool
“fake” entry point to keep common interface. this instrument does not have settings to turn on/off except for physically pulling the plug. this function is not actively used.
- on() bool
“fake” entry point to keep common interface. this instrument does not have settings to turn on/off except for physically pulling the plug. this function is not actively used.
- query(setting, **kwargs) float
- Parameters:
setting – the name of the pin, needs to be in pin_map.
**force_query – require query or read from cache (default=False).
- Returns:
pin value at measurement
- Return type:
float
- query_all(**kwargs) dict
returns the value for all pins that are in use as a dictionary. :param **force_query: require query or read from cache (default=False). :return: pin values at measurement :rtype: dict
- set() float
“fake” entry point to keep common interface. this device cannot set values. this function is not actively used.
- status() bool
- Returns:
status of the board
- Return type:
bool
- update(msg) None
callback for MQTT messages. Inherited from MQTTInstrument. Saves values received to the cache and updates timestamps :param msg: msg from MQTT broker.
- validate_channel(channel, **kwargs) bool
check if an output exists on this device. :param channel: channel number to validate as an output. :param **raise_exception: raise exception or return bool (default=True). :return: whether channel exists or not :rtype: bool