pylab_ml.matrix.pickering.pickering_40_5xx.Pickering_40_5xx
- class Pickering_40_5xx(addr=None, connectionTableName=None, identify=False, instName=None, emulator=False)[source]
Bases:
PickeringInterface to the Matrix Pickering 40-541-021 (66x8 Matrix, 69x16).
- Date:
June 16, 2026
- Author:
Semi-ATE <info@Semi-ATE.org>
Warning
only tested with one table and Matrix Pickering 40-541-021 (66 x 8 Matrix)please use it carefully with other tables and matrixsmatlab.m files as table will not supported any moreTodo
SwitchOver not tested!!only one device allowedScenariosSet not implementedAuswertung protected=0/1 für Category fehltstackable testenwie ist switchover in neuem setup-file von Matlab implementiert- __init__(addr=None, connectionTableName=None, identify=False, instName=None, emulator=False)[source]
Initialise the instrument and load the connectionTable if connectionTableName is given.
- Parameters:
addr (str, optional) – Address Name from NIMax, or None, but than it is time-killing (only works ith one Pickering Matrix at PCIe ). The default is None.
connectionTableName (str, optional) – Filename from setup- or matlab-file with connection definition. The default is $WORKAREA/harness/matrix*.setup
instName (str, optional) – Instance Name from top
emulator (bool, optional) – If True than emulate only a Matrix. No real hardware. The default is False.
- Example: Initialization
>>> tablename = 'matrix_messplatz.setup' >>> matrix = Pickering_40_5xx(addr='Switch', tablename, instName='matrix') >>> matrix.set('Position2','close') # need connectionTable >>> matrix.set('Oszi','close') >>> matrix.set('APB_Vsup','close') >>> matrix.set('APB_Vsup','open') >>> matrix.set('SMU_Vsup','close') >>> matrix.set('SMU_Vsup') # default = open >>> matrix.set('APB_Vsup','close',SwitchOver=True) >>> matrix.display('nodes') >>> matrix.display('state') >>> matrix.connect('1,1,1;1,2,3;1,3,5','close') # if connectionTable not loaded
- Detailed example of usage:
examples/pickeringmatrix/matrix_40_541_201.py
Methods
GetChannelPattern(cardnr)Only for testing and debugging, could be removed or improve...
GetChannelState(cardnr)Only for testing and debugging, could be removed or improve...
GetCrosspointMask(cardnr)Only for testing and debugging, could be removed or improve...
GetMaskPattern(cardnr)Only for testing and debugging, could be removed or improve...
GetMaskState(cardnr)Only for testing and debugging, could be removed or improve...
__init__([addr, connectionTableName, ...])Initialise the instrument and load the connectionTable if connectionTableName is given.
clear()Clear all connections (open).
close()Close connection to Pickering device.
connect(crosspointtable, state)Set state from crosspoint.
Create Session, called von class Instrument.
display([mode])Display state, nodes or connection in ASCII-String.
List of outstanding errors.
find_names() returns list of identifiers strings, lhs of = assignments
findcard()Find address for Pickering Card.
help()Print the docstring of the instrument class.
identify()Identify message.
init([identify])Optional init for interlock startup after identification.
load_connectionTable([connectionTableName])Load matlab(.m) or setup-file(.setup) with definition from connections.
local()Not possible, always remote control.
message([message])Device has no display, message display to logger.
mqtt_add(client, instrument[, liste, qos])Add the instrument to mqtt.
Remove the instrument from mqtt.
publish(topic, value)Publish topic as type='cmd' with payload=value.
publish_get(function_name, value)Publish function_name as type='get' with paylad=value.
publish_set(function_name, value)Publish function_name as type='set' with paylad=value.
reset()Reset.
set(connection[, state, SwitchOver])Set categories or scenarios to state 'open' or 'close'.
Set instrument settings for setup, called von class Instrument.
Attributes
commandGet the id from the device.
interchoicesmqtt_enablemqtt_listGetter for the mqtt_status.
- close()
Close connection to Pickering device.
- connect(crosspointtable, state)[source]
Set state from crosspoint.
- Parameters:
crosspointtable (str) – String list with nodes (‘1,3,4;1,5,6;1,2,14’) card, row, col.
state (str) – ‘open’ or ‘close’.
- Returns:
- True : Establish stateFalse : Error
- Return type:
bool
- Raises:
Exception – When more than one card use.:
- display(mode=None)[source]
Display state, nodes or connection in ASCII-String.
mode==None or ‘state’ display actual statemode==’nodes’ display connected nodesmode==’connection’ display available codes for connectionsmode==someone else display help
- error_list()
List of outstanding errors.
- find_names()
find_names() returns list of identifiers strings, lhs of = assignments
- Returns:
obj_names – List of identifier strings
- Return type:
list of str
- findcard()
Find address for Pickering Card.
- Returns:
- -1 if no card foundaddr if card found-1 and display addr if more than 1 card found.
- Return type:
int
- help()
Print the docstring of the instrument class.
- property id
Get the id from the device.
- init(identify=False)
Optional init for interlock startup after identification.
- json = <module 'json' from '/home/runner/miniconda3/envs/test/lib/python3.9/json/__init__.py'>
- load_connectionTable(connectionTableName=None)[source]
Load matlab(.m) or setup-file(.setup) with definition from connections. Create constantsTable and connectionTable
- Parameters:
connectionTableName (str, optional) – Filename from setup- or matlab-file with connection definition. The default is $WORKAREA/harness/matrix*.setup
- local()
Not possible, always remote control.
- message(message=None)
Device has no display, message display to logger.
- mqtt_add(client, instrument, liste='#', qos=0)
Add the instrument to mqtt. Calling from base_instrument, after the instrument (device) has been create. Normally you have not to use this function, only base_instrument use it.
- Parameters:
client (mqtt_init) – The MQTT client instance to which the instrument should be added.
instrument (object) – The instrument to be added to the MQTT client.
liste (list or str) – A list of attributes for which MQTT messages should be sent. If set to “#”, all attributes will be included (default: “#”).
qos (int) – The Quality of Service level for MQTT messages (default: 0).
- Return type:
None
- mqtt_disconnect()
Remove the instrument from mqtt. Calling from base_instrument, if the instrument are closing. Normally you have not to use this function, only base_instrument use it.
- property mqtt_status
Getter for the mqtt_status.
- publish(topic, value)
Publish topic as type=’cmd’ with payload=value.
- Parameters:
topic (str) – The name of the topic to publish.
value (any) – The value to be published.
- Return type:
None
- publish_get(function_name, value)
Publish function_name as type=’get’ with paylad=value.
- Parameters:
function_name (str) – The name of the function to be published as a ‘get’ command.
value (any) – The value to be published as the payload of the ‘get’ command.
- Return type:
None
- publish_set(function_name, value)
Publish function_name as type=’set’ with paylad=value.
- Parameters:
function_name (str) – The name of the function to be published as a ‘set’ command.
value (any) – The value to be published as the payload of the ‘set’ command.
- Return type:
None
- reset()
Reset.
- set(connection, state='open', SwitchOver=False)[source]
Set categories or scenarios to state ‘open’ or ‘close’.
- Parameters:
connection (str) – Categories or scenarios.
state (str, optional) – ‘open’ or ‘close’. Defaults to ‘open’.
SwitchOver (bool, optional) –
True : Connection will be open AFTER the new one was set,False : default -> first: Open last connection, than: close new connection
- Return type:
None