felis_handler

Handler to execute Felis commands. Felis is a submodule that checks results and uploads them to a database

Classes

FelisDummy()

Filler to handle calls to Felis if it is not used.

FelisHandler(module_list[, sequence_name])

FelisDummy

class module_testing.dirigent.felis_handler.FelisDummy

Bases: object

Filler to handle calls to Felis if it is not used.

__init__()

FelisHandler

class module_testing.dirigent.felis_handler.FelisHandler(module_list, sequence_name='unnamed', **kwargs)

Bases: object

__init__(module_list, sequence_name='unnamed', **kwargs)

Initialising function for the felis handler :param module_list: List of dictionaries, each defining the properties of one of the modules. Extracted from modules.json :param dummy: If True, all functions called do nothing :param sequence_name: the sequence can only be named at felis.upload_result(), which is called at context exit but the sequence name must be set from within add_result()

FELIS_DIR = 'Felis_Results'
add_result(context, file_path, test_name, test_type, comment='')
IV and SLDO result upload for set_result() from felis/felis.py:

file_path = e.g. “Results_dirigent/iv_curve”. test_name = Name of test. The name of the test result belongs to.

Test names must be unique (str)

test_type = Type of test. Must be from official list (str)

comment = User comment. defaults to “” (str)

add_result_Ph2_ACF(context, run, testtype, label)
add_result_basic(context, felis_files, module_name, test_name, test_type, comment='')

Only works for single modules currently

add_result_sequence(context, file_path, scan_name, test_type, test_name, comment='')
calibration sequence (e.g. assembly_test) result upload for set_result() from felis/felis.py:

file_path = e.g. “Felis_Results/2025-07-01_15-46-58”. scan_name = Name of scan e.g. “07_PixelAlive”. This is used to find the folder name during calibraiton seqs. test_type = e.g. “ivcurve”. Must be from official list (str) test_name = Name of test e.g. “07_CrossTalk”. Must be unique (str). This is the one that’s actually passed to Panthera

comment = User comment. defaults to “” (str)

property context
do_upload()
get_names(module_list)
get_prefix(hybrid)
get_rootpath(hybrid, chip)
get_sequence_name()

Return value stored in sequence name

return_add_status(status, message, sanity, explanation)
set_dirigent_version(dirigent_ver)

Sets the dirigent version string instance variable. The string ‘dirigent ‘ will be appended to distinguish between QC softwares.

Parameters:

dirigent_ver – String to be sent to Panthera via Felis and displayed in ‘Test Station Software Version: ‘ in the Sequence.

set_ph2acf_version(ph2acf_ver)

Sets the Ph2 ACF version string instance variable.

Parameters:

ph2acf_ver – String to be sent to Panthera via Felis and displayed in ‘Ph2_ACF Version: ‘ in the Sequence.

set_sequence_name(new_sequence_name)

Allow external scripts/functions to update the value

set_versions(ph2acf_ver, dirigent_ver)