Skip to content

Issue with IOC startup (handling tables) #45

Open
@dmgav

Description

@dmgav

The IOC fails to start with the following error message:

initial_value=field_details.labels.index(initial_value),

Below is the traceback. I inserted some helpful print statements in the code, so the line numbers in _table.py are shifted by 3.

field_details=TableFieldDetails(subtype='enum', bit_low=16, bit_high=19, description='The trigger condition to start the phases ', labels=['Immediate', 'BITA=0', 'BITA=1', 'BITB=0', 'BITB=1', 'BITC=0', 'BITC=1', 'POSA>=POSITION', 'POSA<=POSITION', 'POSB>=POSITION', 'POSB<=POSITION', 'POSC>=POSITION', 'POSC<=POSITION'])
field_details.labels = ['Immediate', 'BITA=0', 'BITA=1', 'BITB=0', 'BITB=1', 'BITC=0', 'BITC=1', 'POSA>=POSITION', 'POSA<=POSITION', 'POSB>=POSITION', 'POSB<=POSITION', 'POSC>=POSITION', 'POSC<=POSITION']
type(labels) = <class 'list'>
ERROR:Exception while initializing softioc
Traceback (most recent call last):
  File "/nsls2/users/dgavrilov/repos/PandABlocks-ioc/src/pandablocks_ioc/ioc.py", line 145, in create_softioc
    ).result()
  File "/nsls2/users/dgavrilov/conda_envs/2023-2.1-py310-tiled-panda/lib/python3.10/concurrent/futures/_base.py", line 458, in result
    return self.__get_result()
  File "/nsls2/users/dgavrilov/conda_envs/2023-2.1-py310-tiled-panda/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/nsls2/users/dgavrilov/repos/PandABlocks-ioc/src/pandablocks_ioc/ioc.py", line 99, in _create_softioc
    (all_records, all_values_dict, block_info_dict) = await create_records(
  File "/nsls2/users/dgavrilov/repos/PandABlocks-ioc/src/pandablocks_ioc/ioc.py", line 1818, in create_records
    records = record_factory.create_record(
  File "/nsls2/users/dgavrilov/repos/PandABlocks-ioc/src/pandablocks_ioc/ioc.py", line 1607, in create_record
    return self._make_table(record_name, field_info, list_vals)
  File "/nsls2/users/dgavrilov/repos/PandABlocks-ioc/src/pandablocks_ioc/ioc.py", line 1114, in _make_table
    table_updater = TableUpdater(
  File "/nsls2/users/dgavrilov/repos/PandABlocks-ioc/src/pandablocks_ioc/_tables.py", line 390, in __init__
    initial_value=field_details.labels.index(initial_value),
ValueError: 0 is not in list

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions