Database manager
Implements a new script manage_database.py
which handles all interfacing with databases. For now only supports the RD53 internal database to be queried for a specific chip, to cache the full database and to query the cache for a specific chip.
This MR also adds the mandatory, fully automatic check during a chip init, if the chip is existing in the database and if the board type is defined (non-zero).
This check uses a cached version of the database. If the cache is not existing, e.g. for the first run, creating it takes about 3s. Subsequent checks then take about 600ms.
If the chip as defined by testbench.yaml
is not found in the local cache of the database, the cache is refreshed automatically and the check is repeated. If the chip is still not found, a red ERROR
-level message is logged, encouraging the user to add the chip to the database.
If the chip is existing in the database, but the board type is not set there, another ERROR
-level message is logged.
Location logging is not implemented for now.
The local database cache can be manually created using a new CLI bdaq_db
. See bdaq_db -h
for usage.