Code set for the IceCube-Upgrade D-Egg mainboard simple testing (supports mainboard Rev 3<). Here are listed (currently) available scripts, giving simple descriptions, while the detailed docs can be provided in the following sub-sections. Recommends comfirmation of the ICM firmware set to the runtime image (usually loading from the slot 2) before running every scripts.
mbfasttest.py: the main script. It includes all testing items. If runing the script, it takes the data from the mainboard, automatically analyzes them, and then generates a PDF-format report. Available to use the same options as the iceboot (see STM32Tools).thresSpeCurve.py: waveform-based data-taking script. It accepts several trigger settings.Qhist_chargestamp.py: charge-stamp-based data-taking script. It accepts several trigger settings.
The package includes directories:
analysis/: scripts for analyses. They can be used in some executing scripts or be worked standalone.scripts/: contains special runs especially for the pre-FAT.testitems/: includes testing programs used in the executing scripts.utils/: stores initial settings, common options, and so on. The codes are migrated from codes intestitems, but not yet completed.
The packages WIPACrepo/STM32Tools as well as WIPACrepo/fh_icm_api are required (you need the access permission to get both). They are not automatically downloaded by git clone. Do it manally. The ideal directory structure is shown below:
$ ls
MB_FastTest/ Tools/ fh_icm_api/
Note that the STM32Tools is renamed to Tools in this instruction.
$ export PYTHONPATH=$PYTHONPATH:$PWD/MB_FastTest/testitems:$PWD/Tools/python:$PWD/fh_icm_api
Or, you just run setup.sh:
$ cd MB_FastTest
$ source setup.sh
$ python3 mbfasttest.py --host=[host IP] --port=[port] --mbsnum=[S/N] --author=[author]
--host=[IP address]--port=[port number]--mbsnum=[serial number]- The serial number can be set manually, not depends on the hardware ID, software ID, and so on.
--author=[author name]--dacscanmode=[mode]- This sets the precision of the DAC scan. From 0 to 8 is available. The #points increases if set larger number. Default is 5, corresponding to 10 scan points.
--samples=[number of sampling bins in a waveform]- Default: 256 (same as the standard iceboot procedure)
--nevents=[number of events for each point of the DAC scan]- Default: 10
$ python3 scripts/spe_by_led.py
--mbsnum=[serial number]