Skip to content

optoboard-felix

optoboard-felix is a Python package supporting optoboard configuration and operation. It can be installed via pip from the git repo in the same python environment defined by the felix-distribution setup script.

cd $ITK_DAQ_BASE
cd felix-distribution
source setup.sh
python -m pip install optoboard-felix --index-url https://gitlab.cern.ch/api/v4/projects/113584/packages/pypi/simple

Typically, we install the last version available. Currenly 1.0.46.

In order to avoid interference with other applications, we operate in a virtual environment where only the optoboard-felix dependencies are installed. The virtual environment can created with a command like:

cd $ITK_DAQ_BASE
python -m venv felix-env

then activated with

unset PYTHONPATH
source felix-env/bin/activate

and populated ofter its first use with pip as needed, starting from optoboard-felix and and continuing to satisfy all the dependencies. This is the output of pip list --format freeze after the installation of the required packages:

about-time==4.2.1
alive-progress==3.1.5
backcall==0.2.0
certifi==2025.1.31
charset-normalizer==3.4.1
contourpy==1.3.0
cycler==0.12.1
decorator==5.2.1
fonttools==4.56.0
grapheme==0.6.0
idna==3.10
importlib_resources==6.5.2
ipython==7.34.0
jedi==0.19.2
kiwisolver==1.4.7
matplotlib==3.9.4
matplotlib-inline==0.1.7
numpy==1.26.4
optoboard-felix==1.0.46
packaging==24.2
parso==0.8.4
pexpect==4.9.0
pickleshare==0.7.5
pillow==11.1.0
pip==25.0.1
progress==1.6
prompt_toolkit==3.0.50
ptyprocess==0.7.0
Pygments==2.19.1
pyparsing==3.2.1
python-dateutil==2.9.0.post0
requests==2.32.3
setuptools==58.1.0
six==1.17.0
traitlets==5.14.3
urllib3==1.26.20
wcwidth==0.2.13
zipp==3.21.0

In order to operate correctly, optoboard-felix must find ic-over-netio, itk-ic-over-netio-next or lpgbt-com-next in the environment. See the corresponding instructions.

The script to manipulate optoboard configurations and execute BER tests is called InitOpto and it is saved by default in ~/.local/bin. This foder is not normally included in the dafault PATH. Consider moving the script in a more convenient place after pip installation, e.g.:

cd $ITK_DAQ_BASE
mkdir scripts
cp ~/.local/bin/InitOpto scripts/

Warning

When using InitOpto with felix-star (with -commToolName itk-ic-over-netio-next or -commToolName lpgbt-com-next) optoboard-felix makes the assumption that the bus folder is /bus. This seems to be hardcoded. We have to follow this convention, but this is a bit problematic, especially if different users want to test different software versions. We believe it would be better to give the possibility to choose the bus folder when running InitOpto.