1 Introduction
The database module is developped and maintained by Guillaume Baulieu at IPNL wich provide documentation available at
https://lyosvn.in2p3.fr/ilc/wiki/ILCConfDB.
- A setup is a set of states. While each state contains the description of a subdetector configuration, the setup sumup the whole detector configuration.
- A state is a coherent set of 4 Configurations :
1 LdaConfiguration, 1 DccConfiguration, 1 DifConfiguration and 1 AsicConfiguration.
It contains all the configuration parameters of a sub-detector.
- Basically, a configuration is a list of objects :
a LdaConfiguration is a list of LDA, a DccConfiguration is a list of Dcc and so on...
When you want to store the LDA configuration of your sub-detector, you create a LdaConfiguration object and populate it with all your Ldas objects. The same can be done for DCC, DIF and ASICS.
The Daq, RunInfo and Job classes have been add by Laurent fo acquisition.
Jobs are related to process on aquisition computer.
Daq contain the XDaq configuration description.
1.1 Installation
$ ssh calice@poldhcp45
$ mkdir db && cd !$
$ wget ftp://lyoftp.in2p3.fr/baulieu/ILCConfDB-dev-0.8-1.i686.rpm
$ wget ftp://lyoftp.in2p3.fr/baulieu/ILCConfDB-lib-0.8-1.i686.rpm
$ wget ftp://lyoftp.in2p3.fr/baulieu/ILCOracle-dev-11.1-1.i686.rpm
$ wget ftp://lyoftp.in2p3.fr/baulieu/ILCOracle-lib-11.1-1.i686.rpm
$ su
# rpm -i ILCOracle-dev-11.1-1.i686.rpm ILCOracle-lib-11.1-1.i686.rpm \
ILCConfDB-lib-0.8-1.i686.rpm ILCConfDB-dev-0.8-1.i686.rpm
/* python */
$ wget ftp://lyoftp.in2p3.fr/baulieu/ILCConfDB-pythonlib-0.9-1.i686.rpm
# yum install libxerces-c-3_1
# rpm -i ILCConfDB-pythonlib-0.9-1.i686.rpm
This will install the /usr/lib/libilcconfdb.so shared library but also files into:
- /usr/lib/
- /usr/include/
- /usr/include/ILCConfDB
1.2 Usage
Test file: db.cc
(bellow is shorter)
#include <ILCConfDB/ILCConfDB.h>
int main() {
int rc = 0;
try{
DBInit::init();//connection
State* s = State::download("toto");
DBInit::terminate();//disconnection
delete s;
}
catch(Exception e){
cout<<e.getMessage()<<endl;
}
return rc;
}
Compilation and execution:
$ g++ db.cc -l ilcconfdb
$ a.out
Composition of state TB_12-17_31_13_38_56_5_40_v01 :
1 lda
name= mac=5e:70:0c:d2:51:0a fw= hw=
2 dcc
name= addr=5e:70:0c:d2:51:0a:7 fw= hw=
name= addr=5e:70:0c:d2:51:0a:6 fw= hw=
15 dif
id=43 name=FT1010043 addr=5e:70:0c:d2:51:0a:6:5 enabled=1 type=DHCALDIF
sdhcal:
AVDD_SHDN=0 DIF_IMON_GAIN=0 DVDD_SHDN=0 ENABLE_MONITORING=0 MASK=0
MEMORY_DISPLAY_LIMIT_MAX=0 MEMORY_DISPLAY_LIMIT_MIN=0
MEMORY_EFFICIENCY_LIMIT_MAX=0 MEMORY_EFFICIENCY_LIMIT_MIN=0
MONITORED_CHANNEL=0 MONITOR_SEQUENCER=0 NUMERICAL_READOUT_MODE=0
NUMERICAL_READOUT_START_MODE=0 POWER_ADC=0 POWER_ANALOG=0 POWER_DAC=0
POWER_DIGITAL=0 POWER_SS=0 SLAB_IMON_GAIN=0 TIMER_HOLD_REGISTER=0
id=44 name=FT1010044 addr=5e:70:0c:d2:51:0a:6:4 enabled=1 type=DHCALDIF
sdhcal:
AVDD_SHDN=0 DIF_IMON_GAIN=0 DVDD_SHDN=0 ENABLE_MONITORING=0 MASK=0
MEMORY_DISPLAY_LIMIT_MAX=0 MEMORY_DISPLAY_LIMIT_MIN=0
MEMORY_EFFICIENCY_LIMIT_MAX=0 MEMORY_EFFICIENCY_LIMIT_MIN=0
MONITORED_CHANNEL=0 MONITOR_SEQUENCER=0 NUMERICAL_READOUT_MODE=0
NUMERICAL_READOUT_START_MODE=0 POWER_ADC=0 POWER_ANALOG=0 POWER_DAC=0
POWER_DIGITAL=0 POWER_SS=0 SLAB_IMON_GAIN=0 TIMER_HOLD_REGISTER=0
...
720 asic
difId=78 pos=1 type=HR2
hr2:
B0=250 B1=250 B2=250 CLKMUX=1 CMDB0FSB1=1 CMDB0FSB2=1 CMDB0SS=0
CMDB2FSB1=0 CMDB2FSB2=0 CMDB2SS=0 CMDB3FSB1=1 CMDB3FSB2=1 CMDB3SS=0
CTEST= DACSW=1 DISCRI0=1 DISCRI1=1 DISCRI2=1 DISCROROR=1 ENABLED=0
ENOCCHIPSATB=1 ENOCDOUT1B=1 ENOCDOUT2B=0 ENOCTRANSMITON1B=1 ENOCTRANSMITON2B=0
ENTRIGOUT=1 EN_OTAQ=1 HEADER=1 MASK0=0XFFFFFFFFFFFFFFFF
MASK1=0XFFFFFFFFFFFFFFFF MASK2=0XFFFFFFFFFFFFFFFF OTABGSW=1 OTAQ_PWRADC=1
PWRONBUFF=1 PWRONFSB0=1 PWRONFSB1=1 PWRONFSB2=1 PWRONPA=1 PWRONSS=1 PWRONW=1
QSCSROUTSC=1 RAZCHNEXTVAL=0 RAZCHNINTVAL=1 RS_OR_DISCRI=1 SCON=1 SEL0=1 SEL1=0
SELENDREADOUT=1 SELSTARTREADOUT=1 SMALLDAC=0 SW100F0=1 SW100F1=1 SW100F21 SW100K0=1
SW100K1=1 SW100K2=1 SW50F0=1 SW50F1=1 SW50F2=1 SW50K0=1 SW50K1=1 SW50K2=1 SWSSC=7
TRIG0B=1 TRIG1B=0 TRIG2B=0 TRIGEXTVAL=0
PAGAIN_VALUES= 115 140 136 136 120 111 119 143 125 121 128 135 117 128 118 133 116 130 134
135 146 149 117 132 135 134 117 116 131 130 139 112 110 126 147 119 120 135 118 123 112 129
135 125 128 129 120 124 132 155 119 122 131 132 129 130 135 130 147 128 135 130 136 127
difId=78 pos=25 type=HR2
hr2:
B0=250 B1=250 B2=250 CLKMUX=1 CMDB0FSB1=1 CMDB0FSB2=1 CMDB0SS=0
CMDB2FSB1=0 CMDB2FSB2=0 CMDB2SS=0 CMDB3FSB1=1 CMDB3FSB2=1 CMDB3SS=0
CTEST= DACSW=1 DISCRI0=1 DISCRI1=1 DISCRI2=1 DISCROROR=1 ENABLED=0
ENOCCHIPSATB=1 ENOCDOUT1B=1 ENOCDOUT2B=0 ENOCTRANSMITON1B=1 ENOCTRANSMITON2B=0
ENTRIGOUT=1 EN_OTAQ=1 HEADER=25 MASK0=0XFFFFFFFFFFFFFFFF
MASK1=0XFFFFFFFFFFFFFFFF MASK2=0XFFFFFFFFFFFFFFFF OTABGSW=1 OTAQ_PWRADC=1
PWRONBUFF=1 PWRONFSB0=1 PWRONFSB1=1 PWRONFSB2=1 PWRONPA=1 PWRONSS=1 PWRONW=1
QSCSROUTSC=1 RAZCHNEXTVAL=0 RAZCHNINTVAL=1 RS_OR_DISCRI=1 SCON=1 SEL0=1 SEL1=0
SELENDREADOUT=1 SELSTARTREADOUT=1 SMALLDAC=0 SW100F0=1 SW100F1=1 SW100F21 SW100K0=1
SW100K1=1 SW100K2=1 SW50F0=1 SW50F1=1 SW50F2=1 SW50K0=1 SW50K1=1 SW50K2=1 SWSSC=7
TRIG0B=1 TRIG1B=0 TRIG2B=0 TRIGEXTVAL=0
PAGAIN_VALUES= 127 122 144 122 118 128 122 126 133 145 113 126 130 134 111 122 137 136 129
140 139 118 119 126 115 130 133 124 124 124 138 128 128 125 128 113 120 147 123 118 133 125
125 123 127 120 128 133 127 130 139 126 131 129 136 144 126 125 134 135 120 145 121 136
...
1.3 Bugs or troubles
- setups still not used (only one state by setup)
- firmware and hardware fields not used
- ID Dif's key parameter is not documented.
- SDHCAL DIF parameters no used (all set to 0) ask Laurent and Christophe about it.
1.4 Error messages
There is no particular logging system. See explanations of the errors messages encountered bellow:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
This message came directely from the Oracle server wich is not operational.
2 Install on other OS
We consider that the above installation was done on the calice@poldhcp45 account of a SLC55 machine.
$ mkdir ~/caliceDB
$ mkdir ~/caliceDB/lib
$ mkdir ~/caliceDB/include
$ cd ~caliceDB
$ scp calice@poldhcp45:/usr/lib/libilcconfdb.so lib
$ scp -r calice@poldhcp45:/usr/include/ILCConfDB include
$ files="/usr/lib/libclntsh.so /usr/lib/libnnz11.so /usr/lib/libocci.so /usr/lib/libociicus.so /usr/lib/libocijdbc11.so"
$ for f in $files ; do scp calice@poldhcp45:$f lib; done
$ files="/usr/include/ldap.h /usr/include/nzerror.h /usr/include/nzt.h /usr/include/occi.h /usr/include/occiAQ.h \
/usr/include/occiCommon.h /usr/include/occiControl.h /usr/include/occiData.h /usr/include/occiObjects.h /usr/include/oci.h \
/usr/include/oci1.h /usr/include/oci8dp.h /usr/include/ociap.h /usr/include/ociapr.h /usr/include/ocidef.h \
/usr/include/ocidem.h /usr/include/ocidfn.h /usr/include/ociextp.h /usr/include/ocikpr.h /usr/include/ocixmldb.h \
/usr/include/ocixstream.h /usr/include/odci.h /usr/include/oratypes.h /usr/include/ori.h /usr/include/orid.h \
/usr/include/orl.h /usr/include/oro.h /usr/include/ort.h /usr/include/xa.h"
$ for f in $files ; do scp calice@poldhcp45:$f include; done
The target machine have a 64 bits architecture :
# apt-get install libc6-dev-i386
$ g++ -c db.cc -o db.o -Iinclude
$ $ g++ db.o -o db -Iinclude -Llib -l ilcconfdb -fPIC
/usr/bin/ld: skipping incompatible lib/libilcconfdb.so when searching for -lilcconfdb
/usr/bin/ld: cannot find -lilcconfdb
collect2: ld returned 1 exit status
This will install the /usr/lib/libilcconfdb.so shared library but also files into:
- /usr/lib/
- /usr/include/
- /usr/include/ILCConfDB
3 Ecals parameters
Ecals parameters
Mail from Stéphane Callier:
Explications :
- en colonne G, les bits ecrits en rouge sont fixés et ne sont pas disponibles pour l'utilisateur
(les 3 cases jaunes etaient fixées dans la 1ere version et n'apparaissent pas encore dans le GUI de Muriel)
- en colonne H, le nom du parametre
- en colonne C, le nombre de bits
- en colonne J, explications pour le decodage lorsqu'il y a plusieurs bits et que l'affichage est du texte
Ce fichier est valable pour les ASUs ECAL avec les puces SPIROC2 et SPIROC2A.
La seule difference entre ces 2 puces, concerne la ligne 12 (en rose) qui n'est disponible que dans SPIROC2A.
Si tu as des questions...
A+
Stephane
|