VMEtest. Program for testing CAEN VME links.
There is alias VMEtest in ecalpro, which starts program VMEtest.exe.
There are 3 possibilities:
1) Start it without parameters. It will propose menu for VME64x debugging from Cristoph Schwick.
2) Start it with 2 parameters - the first parameter is slot, the second one is address
(program understands the both decimal and hex formats)
The program will loop with write/read test sequence, which include 0,0xfffffff,0x55555555,oxaaaaaaa and
random values. It will inform about all problems on the terminal and log file /tmp/VMEtest_timestamp.log
It will stop in the cases: 1) fatal error; 2) 100 not fatal errors; 3) Control_C
3) Start with 3 parameters - it will work in block-transfer mode with the length of the block = 3-d parameter (words)
Program was tested with CCS addresses 0x330,0x334,0x338,0x33c in the test crate.
It works fine in the both modes if no TTC commands coming to CCS.
Block transfer mode fails in case TTC commands coming to CCS (known feature of CCS modules).
Program was tested also in the crate
S2D02 slot 18 in the single mode transfer during global runs yesterday.
No any interference with DAQ was found (excepting increasing of configuration time of course).
About 0.5G single word transfers were done without any problems.
So, the program is ready for use, but be carefull !
It is very dangerous to use it during data taking, of course.
Evgueni
Connection of LeCroy ocilloscope
White Ethernet cable coming from Rack 2. IP 10.176.62.44
rdesktop 10.176.62.44
username
LeCroyUser pswd empty.
ecalAGF. Tool for programming Tektronix AFG3000 pulse generator.
Blue Ethernet cable coming from back of rack 1. AFG3252 IP 10.176.11.70
There is script /nfshome/ecaldev/utils/ecalAfg.sh for setting desirable frequency.
The script has one parameter - desirable frequency.
The parameter will be interpreted as difference between LHC frequency in Hz
in case it less then 1.000.000 and absolute frequency in case it bigger 1.000.000
As example "./ecalAfg 0" will set frequeny to 40.078.966Hz,
"./ecalAfg -100" will set frequency to 40.078.866Hz.
If you run the script without parameter, it will print current frequency.
Script can be started from any computer in P5.
TBC - All the staff in ~ecaldev/DAQ/ECAL/Devel/ecal/ecalAfg/
The simple example how to use it is .../ecalAfg/src/common/ecalFreq.cc
ecalFreq.exe used in the ~/utility/ecalAfg.sh script, which was described in message elier today.
There are several more methods for conviniency. Thay are obvious. See .../ecalAfg/include/ecalAfg.h
The bad feature was found in VXI11 connection with AFG3252.
AFG3252 has 32 internal links (0-31), that means 32 clients can work with it
simultaniously. Link should be closed from server side in case link
was dropped (client crashed, as example) according VXI11 specification.
Unfortunately it is not happens for some reason from device or Linux side.
As result sometimes all 32 links can be blocked by dropped links and
it is impossible to connect to device.
What was done to solve the problem:
0) Method Close() MUST be used at the finish of application
or object ecalAfg should be deleted, of course.
In case of application crash:
1) All the links can be closed (destroyed) by "ecalAfg.sh -d all".
It works even all 32 links are busy.
But be shure that another clients does not use device;
2) The method
GetLinkId was added to class ecalAfg;
Users can print this linkId to use it to close link
by calling "ecalAfg.sh -d
LinkId". It works also in case all the
links are busy.
Evgueni
--
EvgueniVlassov - 14-Jan-2011