Connectivity file with single chip is assumed to be a quad module
The connectivity and chip config files are evidently found, as it loads the correct chip parameters (incl type and name), but list index is out of range / module is stated to be a quad, even though there is a single connectivity file pointing to a single chip config json file.
(venv) [pixadmin@kai Yarr]$ yarrtist plots plot-scan -c configs/connectivity/example_itkpixv2_setup.json -s data/000002_std_digitalscan -v DEBUG
Plotting module scan summary
Plotting for module 1
Module is a Quad
╭─────────────────────────────────────────── Traceback (most recent call last) ───────────────────────────────────────────╮
│ /home/pixadmin/Yarr/yarrtist/src/yarrtist/cli/plot_scan.py:400 in main │
│ │
│ 397 │ │ │ ) │
│ 398 │ else: │
│ 399 │ │ log.info("Plotting module scan summary") │
│ ❱ 400 │ │ module_summary(connectivity_files, scan_directory, "module_summary") │
│ 401 │ │ if config_summary: │
│ 402 │ │ │ log.info("Plotting module config summary") │
│ 403 │ │ │ module_config_summary(connectivity_files, scan_directory, "config_summary") │
│ │
│ ╭───────────────────────────────────────────────── locals ─────────────────────────────────────────────────╮ │
│ │ config_summary = True │ │
│ │ connectivity_files = [PosixPath('/home/pixadmin/Yarr/configs/connectivity/example_itkpixv2_setup.json')] │ │
│ │ per_chip = False │ │
│ │ scan_directory = PosixPath('/home/pixadmin/Yarr/data/000002_std_digitalscan') │ │
│ │ verbosity = <LogLevel.debug: 'DEBUG'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/pixadmin/Yarr/yarrtist/src/yarrtist/cli/plot_scan.py:72 in module_summary │
│ │
│ 69 │ │ │ chip_data = load_data(f"{config_dir}/{chip}") │
│ 70 │ │ │ geomId, name = get_geomId_sn_from_config(chip_data) │
│ 71 │ │ │ ctype = get_chip_type_from_config(chip_data) │
│ ❱ 72 │ │ │ ordered_chips[geomId - 1] = name │
│ 73 │ │ │ chip_types[geomId - 1] = ctype │
│ 74 │ │ log.debug(f"Ordered chips in module {ordered_chips}") │
│ 75 │
│ │
│ ╭───────────────────────────────────────────────── locals ─────────────────────────────────────────────────╮ │
│ │ chip = '../itkpixv2_test.json' │ │
│ │ chip_data = { │ │
│ │ │ 'ITKPIXV2': { │ │
│ │ │ │ 'GlobalConfig': { │ │
│ │ │ │ │ 'AiRegionRow': 0, │ │
│ │ │ │ │ 'AuroraActiveLanes': 1, │ │
│ │ │ │ │ 'AuroraAltOutput0': 0, │ │
│ │ │ │ │ 'AuroraAltOutput1': 0, │ │
│ │ │ │ │ 'AuroraCBSend': 0, │ │
│ │ │ │ │ 'AuroraCBWait0': 4095, │ │
│ │ │ │ │ 'AuroraCBWait1': 0, │ │
│ │ │ │ │ 'AuroraCCSend': 3, │ │
│ │ │ │ │ 'AuroraCCWait': 25, │ │
│ │ │ │ │ 'AuroraEnPrbs': 0, │ │
│ │ │ │ │ ... +232 │ │
│ │ │ │ }, │ │
│ │ │ │ 'Parameter': { │ │
│ │ │ │ │ 'ADCcalPar': [5.89435, 0.192043, 4990.0], │ │
│ │ │ │ │ 'ChipId': 15, │ │
│ │ │ │ │ 'EnforceNameIdCheck': False, │ │
│ │ │ │ │ 'InjCap': 7.5, │ │
│ │ │ │ │ 'IrefTrim': 15, │ │
│ │ │ │ │ 'KSenseInA': 21000.0, │ │
│ │ │ │ │ 'KSenseInD': 21000.0, │ │
│ │ │ │ │ 'KSenseShuntA': 26000.0, │ │
│ │ │ │ │ 'KSenseShuntD': 26000.0, │ │
│ │ │ │ │ 'KShuntA': 1000.0, │ │
│ │ │ │ │ ... +7 │ │
│ │ │ │ }, │ │
│ │ │ │ 'PixelConfig': [ │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 0, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 1, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 2, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 3, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 4, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 5, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 6, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 7, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 8, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ { │ │
│ │ │ │ │ │ 'Col': 9, │ │
│ │ │ │ │ │ 'Enable': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'Hitbus': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... +374], │ │
│ │ │ │ │ │ 'InjEn': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374], │ │
│ │ │ │ │ │ 'TDAC': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... +374] │ │
│ │ │ │ │ }, │ │
│ │ │ │ │ ... +390 │ │
│ │ │ │ ] │ │
│ │ │ } │ │
│ │ } │ │
│ │ chip_types = [''] │ │
│ │ config_dir = PosixPath('/home/pixadmin/Yarr/configs/connectivity') │ │
│ │ connectivity = PosixPath('/home/pixadmin/Yarr/configs/connectivity/example_itkpixv2_setup.json') │ │
│ │ connectivity_data = { │ │
│ │ │ 'chipType': 'ITKPIXV2', │ │
│ │ │ 'chips': [ │ │
│ │ │ │ { │ │
│ │ │ │ │ 'path': 'relToCon', │ │
│ │ │ │ │ 'config': '../itkpixv2_test.json', │ │
│ │ │ │ │ 'tx': 0, │ │
│ │ │ │ │ 'rx': 0, │ │
│ │ │ │ │ 'enable': 1, │ │
│ │ │ │ │ 'locked': False │ │
│ │ │ │ } │ │
│ │ │ ] │ │
│ │ } │ │
│ │ connectivity_files = [PosixPath('/home/pixadmin/Yarr/configs/connectivity/example_itkpixv2_setup.json')] │ │
│ │ ctype = 'ITKPIXV2' │ │
│ │ files_list = [] │ │
│ │ geomId = 4 │ │
│ │ i = 0 │ │
│ │ images = [] │ │
│ │ module = ['../itkpixv2_test.json'] │ │
│ │ module_type = 'Quad' │ │
│ │ name = '0x10164' │ │
│ │ ordered_chips = [''] │ │
│ │ scan_dir = PosixPath('/home/pixadmin/Yarr/data/000002_std_digitalscan') │ │
│ │ summary_title = 'module_summary' │ │
│ │ tests_names = [] │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
IndexError: list assignment index out of range
Edited by Giordon Holtsberg Stark