154,7 → 154,7 |
|
|
int16_t chdata[16*1024]; |
//float chfdata[16*1024]; |
float * chfdata = (float *) chdata; |
int daq_run (const char *par, char ** data, int *maxlen) |
|
{ |
168,9 → 168,10 |
unsigned short tout = sbuff[2]; |
unsigned char trigger = par[6]; |
unsigned char chmask = par[7]; |
clock_t t,t0; |
neve = 0; |
|
neve = 0; |
|
t0=clock(); |
int eventsize = 0; |
if (chmask & 0x1) eventsize += (nsamples+2); |
if (chmask & 0x2) eventsize += (nsamples+2); |
178,8 → 179,9 |
int required_size = eventsize * maxeve+3; |
|
#ifdef DEBUG |
fprintf (stderr, "daq_run:\tmaxeve %d\tnsamples=%d\ttimeout=%d\ttrigger=%d\tchmask=%d\n", maxeve ,nsamples,tout,trigger,chmask); // |
//fprintf (stderr, "required %d reserved %d\n", required_size,*maxlen); |
time_t mtime; |
time(&mtime); |
fprintf (stderr, "daq_run:\tmaxeve %d\tnsamples=%d\ttimeout=%d\ttrigger=%d\tchmask=%d\t%s", maxeve ,nsamples,tout,trigger,chmask, ctime(&mtime)); // |
#endif |
|
|
214,18 → 216,9 |
} while (source == trigger); |
|
tmulk (); |
|
usleep(sleeptime); |
|
/* |
rp_acq_trig_state_t state = RP_TRIG_STATE_TRIGGERED; |
do { |
rp_AcqGetTriggerState(&state); |
} while (state == RP_TRIG_STATE_WAITING ); |
*/ |
|
|
|
#else |
|
osc_fpga_arm_trigger(); |
251,9 → 244,8 |
#ifdef MRP |
const int c[2] = {RP_CH_1, RP_CH_2}; |
unsigned int isamples = nsamples; |
//rp_AcqGetLatestDataV(c[id], &isamples, chfdata ); |
rp_AcqGetLatestDataRaw(c[id], &isamples, chdata); |
for (int i=0;i<nsamples;i++) *(data_buf++) = chdata[i]; |
rp_AcqGetLatestDataV(c[id], &isamples, (float *) data_buf ); |
data_buf+=nsamples; |
#else |
|
const int BUF = 16*1024; |
281,11 → 273,13 |
|
int *len = ibuf; |
int *nev = ibuf + 1; |
int *recid = ibuf + 2; |
float *dt = (float *)(ibuf + 2); |
|
*len = (data_buf-len)*sizeof(int); |
*nev = neve; |
*recid = 0xFAF5; |
t = clock(); |
*dt = t-t0; |
*dt /= CLOCKS_PER_SEC; |
|
return *len; |
} |