How do you tigger the board? In your code below you start the board (StartDomino()) and then wait for a trigger. Setting the trigger level to zero (via SetTriggerLevel(0)) is certainly wrong. Please have a look at drs_exam.cpp in the distribution and use the same functions used there. If you want to trigger the board, you need some external pulser with high enough rate (more than 500 Hz or course). You can also "software" trigger the board with a call to SoftTrigger() just after StartDomino(). This is then like the "auto" trigger on an oscilloscope.
We are using an DRS4 board V5.1 for building a metering system for the scintillator detector by a Labview program. The program was built based on the functions in DRS.cpp and it reads data from channel 0 very well (Fig 1). Now, I am having a problem with the data acquisition from DRS4 board. The data acquisition speed on this program is only about 30-50 Acq / s, while using the DRS Oscilloscope that of about 300-400 Acq / s.
When the program was installed with fDominoMode = 0 and fDominoActive = 0, the data acquisition speed was about 300-400 Acq / s. However, the waveform is inaccurate.
I do not know if I installed the wrong function! Can you show me how to solve this problem?
In the Labview program, functions (corresponding to functions in DRS.cpp) are called with the following parameters:
fROFS = 1.6; // differential input range -0.5V ... +0.5V
fRange = 0;
fCommonMode = 0.8; // 0.8V +- 0.5V inside NMOS range
/* set default number of channels per chip */
SetChannelConfig(0, fNumberOfReadoutChannels - 1, 8);
// set ADC clock phase
fADCClkPhase = 0;
fADCClkInvert = 0;
// default settings
fMultiBuffer = 0;
fNMultiBuffer = 0;
fDominoMode = 1;
fReadoutMode = 1;
fReadPointer = 0;
fTriggerEnable1 = 1;
fTriggerEnable2 = 0;
fTriggerSource = 0;
fTriggerDelay = 0;
fTriggerDelayNs = 0;
fSyncDelay = 0;
fNominalFrequency = 1;
fDominoActive = 1;
// load calibration from EEPROM
SelectClockSource(0); // FPGA clock
// disable calibration signals
// got to idle state
// in loop of read data from DRS4:
GetTime(0, 0, b->GetTriggerCell(0), time_array);
GetWave(0, 0, wave_array);
Thank you very much!