Subversion Repositories f9daq

Rev

Rev 137 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 137 Rev 323
Line 9... Line 9...
9
#ifndef _CVI_DEBUG_
9
#ifndef _CVI_DEBUG_
10
#  include "wavejet_uic.h"
10
#  include "wavejet_uic.h"
11
#endif /* _CVI_DEBUG_ */
11
#endif /* _CVI_DEBUG_ */
12
#include "wavejet_ui.h"
12
#include "wavejet_ui.h"
13
 
13
 
-
 
14
int ctrl_c=0;
14
//#define SCOPE_IP "192.168.1.11"
15
//#define SCOPE_IP "192.168.1.11"
15
#define MAX_TCP_CONNECT         5       /* time in secs to get a connection */
16
#define MAX_TCP_CONNECT         5       /* time in secs to get a connection */
16
#define MAX_TCP_READ            3       /* time in secs to wait for the DSO
17
#define MAX_TCP_READ            3       /* time in secs to wait for the DSO
17
                                           to respond to a read request */
18
                                           to respond to a read request */
18
#define MAX_ST  512     /* maximum message string. no picked from thin air */
19
#define MAX_ST  512     /* maximum message string. no picked from thin air */
Line 36... Line 37...
36
{
37
{
37
  return (0);
38
  return (0);
38
}
39
}
39
*/
40
*/
40
 
41
 
-
 
42
int CVICALLBACK acquire_waveforms(void *functionData)   {
-
 
43
      struct HDR {
-
 
44
        int id;
-
 
45
        int length;
-
 
46
        int event;
-
 
47
      };
-
 
48
     
-
 
49
      struct HDR hdr;
-
 
50
      int p1_tra[5]={P1_TRA_1,P1_TRA_2,P1_TRA_3,P1_TRA_4,0};    
-
 
51
      char outbuf[MAX_ST],inbuf[MAX_ST], tmpstr[100];
-
 
52
      static char databuf[1000000];
-
 
53
      int status, byte_count;
-
 
54
      char filename[0xFF];
-
 
55
     
-
 
56
      GetCtrlVal (p1h, P1_FNAME, filename);
-
 
57
      ctrl_c=0;
-
 
58
   
-
 
59
      LECROY_TCP_write(sockfd, "DTFORM BYTE\n");
-
 
60
      LECROY_TCP_write(sockfd, "DTSTART 0\n");
-
 
61
      LECROY_TCP_write(sockfd, "MLEN  1M\n");
-
 
62
      LECROY_TCP_write(sockfd, "DTPOINTS  5000\n");
-
 
63
      //LECROY_TCP_write(sockfd, "DTPOINTS 0\n");  
-
 
64
       FILE *fp = fopen (filename, "wb");
-
 
65
       
-
 
66
        int maxeve;
-
 
67
        GetCtrlVal (p1h, P1_NEVE, &maxeve);
-
 
68
        for (int neve=0;neve<maxeve;neve++){
-
 
69
          SetCtrlVal (p1h, P1_CEVE, neve+1);      
-
 
70
          sprintf(outbuf,"WSGL?\n");
-
 
71
          LECROY_TCP_write(sockfd, outbuf);
-
 
72
          LECROY_TCP_read(sockfd, inbuf, sizeof(inbuf), MAX_TCP_READ);
-
 
73
          sscanf(inbuf,"%s",tmpstr);
-
 
74
       
-
 
75
          hdr.event=neve;  
-
 
76
          for (int ch=0;ch<4;ch++){
-
 
77
            int on;
-
 
78
            GetCtrlVal (p1h, p1_tra[ch], &on);
-
 
79
           
-
 
80
            if (on){
-
 
81
              hdr.id=ch;
-
 
82
              sprintf(outbuf,"WAVESRC CH%d\n",ch+1);
-
 
83
              LECROY_TCP_write(sockfd, outbuf);
-
 
84
             
-
 
85
              sprintf(outbuf,"DTWAVE?\n");
-
 
86
              LECROY_TCP_write(sockfd, outbuf);
-
 
87
              LECROY_TCP_read(sockfd, databuf, sizeof(databuf), MAX_TCP_READ);
-
 
88
              sscanf(databuf,"# %1d %8d",&status,&byte_count);
-
 
89
              printf("[%d] wfmid=%d bytes=%d\n", neve,status, byte_count);
-
 
90
              if (byte_count<=0) continue;
-
 
91
              hdr.length = byte_count+sizeof(hdr);
-
 
92
              status = fwrite (&hdr, 1, sizeof(hdr), fp);  
-
 
93
              status = fwrite (&databuf[10], 1, byte_count, fp);
-
 
94
     
-
 
95
            }
-
 
96
          }
-
 
97
          if (ctrl_c) break;
-
 
98
        }
-
 
99
        ctrl_c=0;
-
 
100
        status = fclose (fp);
-
 
101
        SetCtrlVal(p1h, P1_DTWFM, 0);
-
 
102
  return 0;
-
 
103
}
-
 
104
       
41
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
105
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
42
                                           LPSTR lpszCmdLine, int nCmdShow)
106
                                           LPSTR lpszCmdLine, int nCmdShow)
43
{
107
{
44
  int i;
108
  int i;
45
  int status,connected,displen;
109
  int status,connected,displen;
46
  int refon;
110
  int refon;
47
  int tmpindex,tmpint;
111
  int tmpindex,tmpint, dummy;
48
  int p1_tra[5]={P1_TRA_1,P1_TRA_2,P1_TRA_3,P1_TRA_4,0};
112
  int p1_tra[5]={P1_TRA_1,P1_TRA_2,P1_TRA_3,P1_TRA_4,0};
49
  int p1_vdiv[5]={P1_VDIV_1,P1_VDIV_2,P1_VDIV_3,P1_VDIV_4,0};
113
  int p1_vdiv[5]={P1_VDIV_1,P1_VDIV_2,P1_VDIV_3,P1_VDIV_4,0};
50
  int p1_bwl[5]={P1_BWL_1,P1_BWL_2,P1_BWL_3,P1_BWL_4,0};
114
  int p1_bwl[5]={P1_BWL_1,P1_BWL_2,P1_BWL_3,P1_BWL_4,0};
51
  float tmpfloat;
115
  float tmpfloat;
52
  char ip_address[50],tmpstr[100];
116
  char ip_address[50],tmpstr[100];
53
  char outbuf[MAX_ST],inbuf[MAX_ST];
117
  char outbuf[MAX_ST],inbuf[MAX_ST];
54
  char display[500000],imgfn[300],ftyp[10];
118
  char display[500000],imgfn[300],ftyp[10];
-
 
119
  int daqon=0;
55
 
120
 
56
  FILE *imgfp;
121
  FILE *imgfp;
57
 
122
 
58
  connected=0;
123
  connected=0;
59
 
124
 
Line 287... Line 352...
287
          case P1_TEST:
352
          case P1_TEST:
288
            if (!connected) break;
353
            if (!connected) break;
289
        strcpy(outbuf,"GTL\n");
354
        strcpy(outbuf,"GTL\n");
290
        LECROY_TCP_write(sockfd, outbuf);
355
        LECROY_TCP_write(sockfd, outbuf);
291
            break;
356
            break;
292
          //case P1_GET_SETUP:
357
    case P1_DTWFM:
-
 
358
      if (!connected) break;
-
 
359
      GetCtrlVal(p1h, P1_DTWFM, &daqon);
-
 
360
      if (daqon) {
-
 
361
                     CmtScheduleThreadPoolFunction (poolHandle, acquire_waveforms, (void *)&dummy, &tfID);
-
 
362
                  } else {
-
 
363
          ctrl_c=1;
-
 
364
         
-
 
365
          //CmtWaitForThreadPoolFunctionCompletion (poolHandle, tfID,
-
 
366
                                        //                                                        OPT_TP_PROCESS_EVENTS_WHILE_WAITING);
-
 
367
                      //CmtReleaseThreadPoolFunctionID (poolHandle, tfID)
-
 
368
         
-
 
369
                  }
-
 
370
   
-
 
371
     
-
 
372
     
293
          //  break;
373
          break;
294
          default:
374
          default:
295
            break;
375
            break;
296
        }
376
        }
297
       
377
       
298
  } while ((rID != P1_EXIT));
378
  } while ((rID != P1_EXIT));