| .vscode | ||
| .gitignore | ||
| CanvasClass.cpp | ||
| CanvasClass.h | ||
| ClassData.h | ||
| ClassDigitizer.cpp | ||
| ClassDigitizer.h | ||
| CustomHistogram.h | ||
| CustomThreads.h | ||
| CustomWidgets.h | ||
| DataGenerator.cpp | ||
| DataReaderScript.cpp | ||
| DigiSettingsPanel.cpp | ||
| DigiSettingsPanel.h | ||
| EventBuilder.cpp | ||
| FSUDAQ_Qt6.pro | ||
| FSUDAQ.cpp | ||
| FSUDAQ.h | ||
| influxdb.cpp | ||
| influxdb.h | ||
| macro.h | ||
| main.cpp | ||
| Makefile_test | ||
| OnlineAnalyser.cpp | ||
| OnlineAnalyser.h | ||
| OnlineEventBuilder.cpp | ||
| OnlineEventBuilder.h | ||
| qcustomplot.cpp | ||
| qcustomplot.h | ||
| README.md | ||
| RegisterAddress.h | ||
| Scope.cpp | ||
| Scope.h | ||
| test_indep.cpp | ||
| test.cpp | ||
Introduction
This is a DAQ for 1st gen CAEN digitizer for V1725, V17255S, V1230 with PHA and PSD firmware.
It has scope (updated every half-sec), allow full control of the digitizer (except LVDS), and allow saving waveform.
It can be connected to InfluxDB v1.8 and Elog.
Undergoing
the following additional functions are planned and I am working on them
- 1-D and 2-D histogram
- Online Analyzer
- support V1740 DPP-QDC
- synchronization helper
Required / Development enviroment
Ubuntu 22.04
-
CAENVMELib_v3.3
-
CAENCOmm_v1.5.3
-
CAENDigitizer_v2.17.1
-
CAEN A3818 Driver
-
qt6-base-dev
-
libqt6charts6-dec
-
libcurl4-openssl-dev
-
elog
The CAEN Libraries need to download and install manually. The other libraries can be installed using the following command:
sudo apt install qt6-base-dev libqt6charts6-dev libcurl4-openssl-dev elog
The elog installed using apt is 3.1.3. If a higher version is needed. Please go to https://elog.psi.ch/elog/
The libcurl4 is need for pushing data to InfluxDB v1.8
The QCustomPlot (https://www.qcustomplot.com/index.php/introduction) source files are already included in the repository.
Compile
use qmake6 -project to generate the *.pro
in the *.pro, add
QT += core widgets charts printsupport
LIBS += -lCAENDigitizer -lcurl
then run qmake6 *.pro it will generate Makefile
then make
if you want to use GDB debugger, in the *.pro file add
QMAKE_CXXFLAGS += -g
exclude some files from the auto-gen *.pro
The following files must be excluded from the *.pro, as they are not related to the GUI
- DataGenerator.cpp
- DataReaderScript.cpp
- EventBuilder.cpp
- test.cpp
- test_indep.cpp
Those file can be compiled using
make -f Makefile_test