Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 322 → Rev 323

/wavejet/trunk/wavejet.c
11,6 → 11,7
#endif /* _CVI_DEBUG_ */
#include "wavejet_ui.h"
 
int ctrl_c=0;
//#define SCOPE_IP "192.168.1.11"
#define MAX_TCP_CONNECT 5 /* time in secs to get a connection */
#define MAX_TCP_READ 3 /* time in secs to wait for the DSO
38,6 → 39,69
}
*/
 
int CVICALLBACK acquire_waveforms(void *functionData) {
struct HDR {
int id;
int length;
int event;
};
struct HDR hdr;
int p1_tra[5]={P1_TRA_1,P1_TRA_2,P1_TRA_3,P1_TRA_4,0};
char outbuf[MAX_ST],inbuf[MAX_ST], tmpstr[100];
static char databuf[1000000];
int status, byte_count;
char filename[0xFF];
GetCtrlVal (p1h, P1_FNAME, filename);
ctrl_c=0;
LECROY_TCP_write(sockfd, "DTFORM BYTE\n");
LECROY_TCP_write(sockfd, "DTSTART 0\n");
LECROY_TCP_write(sockfd, "MLEN 1M\n");
LECROY_TCP_write(sockfd, "DTPOINTS 5000\n");
//LECROY_TCP_write(sockfd, "DTPOINTS 0\n");
FILE *fp = fopen (filename, "wb");
int maxeve;
GetCtrlVal (p1h, P1_NEVE, &maxeve);
for (int neve=0;neve<maxeve;neve++){
SetCtrlVal (p1h, P1_CEVE, neve+1);
sprintf(outbuf,"WSGL?\n");
LECROY_TCP_write(sockfd, outbuf);
LECROY_TCP_read(sockfd, inbuf, sizeof(inbuf), MAX_TCP_READ);
sscanf(inbuf,"%s",tmpstr);
hdr.event=neve;
for (int ch=0;ch<4;ch++){
int on;
GetCtrlVal (p1h, p1_tra[ch], &on);
if (on){
hdr.id=ch;
sprintf(outbuf,"WAVESRC CH%d\n",ch+1);
LECROY_TCP_write(sockfd, outbuf);
sprintf(outbuf,"DTWAVE?\n");
LECROY_TCP_write(sockfd, outbuf);
LECROY_TCP_read(sockfd, databuf, sizeof(databuf), MAX_TCP_READ);
sscanf(databuf,"# %1d %8d",&status,&byte_count);
printf("[%d] wfmid=%d bytes=%d\n", neve,status, byte_count);
if (byte_count<=0) continue;
hdr.length = byte_count+sizeof(hdr);
status = fwrite (&hdr, 1, sizeof(hdr), fp);
status = fwrite (&databuf[10], 1, byte_count, fp);
}
}
if (ctrl_c) break;
}
ctrl_c=0;
status = fclose (fp);
SetCtrlVal(p1h, P1_DTWFM, 0);
return 0;
}
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow)
{
44,7 → 108,7
int i;
int status,connected,displen;
int refon;
int tmpindex,tmpint;
int tmpindex,tmpint, dummy;
int p1_tra[5]={P1_TRA_1,P1_TRA_2,P1_TRA_3,P1_TRA_4,0};
int p1_vdiv[5]={P1_VDIV_1,P1_VDIV_2,P1_VDIV_3,P1_VDIV_4,0};
int p1_bwl[5]={P1_BWL_1,P1_BWL_2,P1_BWL_3,P1_BWL_4,0};
52,6 → 116,7
char ip_address[50],tmpstr[100];
char outbuf[MAX_ST],inbuf[MAX_ST];
char display[500000],imgfn[300],ftyp[10];
int daqon=0;
 
FILE *imgfp;
 
289,8 → 354,23
strcpy(outbuf,"GTL\n");
LECROY_TCP_write(sockfd, outbuf);
break;
//case P1_GET_SETUP:
// break;
case P1_DTWFM:
if (!connected) break;
GetCtrlVal(p1h, P1_DTWFM, &daqon);
if (daqon) {
CmtScheduleThreadPoolFunction (poolHandle, acquire_waveforms, (void *)&dummy, &tfID);
} else {
ctrl_c=1;
//CmtWaitForThreadPoolFunctionCompletion (poolHandle, tfID,
// OPT_TP_PROCESS_EVENTS_WHILE_WAITING);
//CmtReleaseThreadPoolFunctionID (poolHandle, tfID)
}
break;
default:
break;
}