Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 231 → Rev 232

/cvi/instr/RedPitaya/sockserv/daq.c
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;
}