pixel tuning and masking
export MIDAS_PATH=/PathToMidas
export MIDAS_PYTHON_PATH=$MIDAS_PATH/python
export MUSIP_PATH=/PathToMusip
export SCRIPT_PATH=$MUSIP_PATH/scripts
PYTHONPATH=$PYTHONPATH:$MIDAS_PYTHON_PATH:$SCRIPT_PATH python3 -m midas.sequencer
Example:
mu3e@localhost:~/musip $ export /
mu3e@localhost:~/musip $ export MIDAS_PATH=/home/mu3e/midas
mu3e@localhost:~/musip $ export MIDAS_PYTHON_PATH=$MIDAS_PATH/python
mu3e@localhost:~/musip $ echo $MIDAS_PYTHON_PATH
mu3e@localhost:~/musip $ export MUSIP_PATH=/home/mu3e/musip
mu3e@localhost:~/musip $ export SCRIPT_PATH=$MUSIP_PATH/scripts
mu3e@localhost:~/musip $ PYTHONPATH=$PYTHONPATH:$MIDAS_PYTHON_PATH:$SCRIPT_PATH python3 -m midas.sequencer
Starting PySequencer with base ODB directory of /PySequencer
Loading script /home/mu3e/online/online/userfiles/sequencer/pixels/python_qc/scripts/noise_scan.py ...
Running user's `define_params()` function
Script loaded successfully
tdac writing
Tdac writing for a chip would work like this: write 32 bit words, 4* 8bit tdac in each word order: col 0 -> 255, starting with col 0, physical col addr. row 0 -> row 255 for each col, starting with row0, physical row addr.
example:
start with col 0 ..
(32 bit) : [8 bit tdac, 8 bit tdac, 8 bit tdac, 8 bit tdac]
word 0 : [row 3 , row 2 , row 1 , row 0 ]
word 1 : [row 7 , row 6 , row 5 , row 4 ]
word 2 : [row 11 , row 10 , row 9 , row 8 ]
...
word 63 : [row 255 , row 254 , row253 , row 252 ]
now col 1 ..
word 64 : [row 3 , row 2 , row 1 , row 0 ]
...