Beispiel #1
0
int waveform (int color, int data_file)
{
	static char write_buffer[100],  read_buffer[10000]  ;
	int numToRead=10000;
	int written_bytes;
	
	////////////////////////////////////////////////
	memset(read_buffer, 0, 10000);
	ibsic(device);

	strcpy (write_buffer, "DATA:STARt 1");
	ibwrt (device, write_buffer, strlen(write_buffer));
	sprintf (write_buffer, "DATA:STOP 10000");
	ibwrt (device, write_buffer, strlen(write_buffer));
	strcpy (write_buffer, "ACQUIRE:MODE SAMPLE");
	ibwrt (device, write_buffer, strlen(write_buffer));

	strcpy (write_buffer, "ACQUIRE:STOPAFTER SEQUENCE");
	ibwrt (device, write_buffer, strlen(write_buffer));
	
	//read pump intensity, mask type and scan ref
	get_intensity();
//	Delay(0.5);
	
	strcpy (write_buffer, "ACQUIRE:STATE ON");
	ibwrt (device, write_buffer, strlen(write_buffer));

	strcpy (write_buffer, "*WAI");
	ibwrt (device, write_buffer, strlen(write_buffer));

	strcpy (write_buffer, "CURVe?");
	ibwrt (device, write_buffer, strlen(write_buffer));
	Delay(0.3); 

	ibrd (device, read_buffer, numToRead);

//Delay(1);	 
	ConvertArrayType (read_buffer, VAL_CHAR, data2fit, VAL_DOUBLE, 10000);
	written_bytes=WriteFile (data_file,read_buffer ,10000 );
	CloseFile (data_file);
	
	
	
	if (written_bytes!=10000)
	{
		printf("Error writing file!!\n");
	}

	plot_data(color);                   
	
	GetCtrlVal (ERG_panel, ERG_panel_fit_live, &j);
//	printf ("%d", j);
	if (j==1)
	{
	fit_data ();
	}
	
	return 1;
}
Beispiel #2
0
int main()
{ string filename
     = cwin.get_string("Please enter the data file name: ");
  ifstream infile;
  infile.open(filename.c_str());
  vector<double> data;
  read_data(data, infile);
  infile.close();
  plot_data(data);
  return 0;
}
Beispiel #3
0
int waveform (int color, int data_file)
{
	static char write_buffer[100];
	int numToRead=10000;
	char * read_buffer;
	read_buffer = malloc (numToRead);
	
	
	memset(read_buffer, 0, 10000);
	ibsic(device);

	strcpy (write_buffer, "DATA:STARt 1");
	ibwrt (device, write_buffer, strlen(write_buffer));
	sprintf (write_buffer, "DATA:STOP 10000");
	ibwrt (device, write_buffer, strlen(write_buffer));
	strcpy (write_buffer, "ACQUIRE:MODE SAMPLE");
	ibwrt (device, write_buffer, strlen(write_buffer));

	strcpy (write_buffer, "ACQUIRE:STOPAFTER SEQUENCE");
	ibwrt (device, write_buffer, strlen(write_buffer));
	
	strcpy (write_buffer, "ACQUIRE:STATE ON");
	ibwrt (device, write_buffer, strlen(write_buffer));

	strcpy (write_buffer, "*WAI");				// wait for trigger to continue
	ibwrt (device, write_buffer, strlen(write_buffer));

	strcpy (write_buffer, "CURVe?");
	ibwrt (device, write_buffer, strlen(write_buffer));
	Delay(0.3); 

	ibrd (device, read_buffer, numToRead);

	ConvertArrayType (read_buffer, VAL_CHAR, data2fit, VAL_DOUBLE, 10000);
	free (read_buffer)  ;
	
	
	
	
	plot_data(color);                   
	
	// check if live-fitting is enabled
	GetCtrlVal (Fit_pnl_handle, Fit_panel_fit_live, &fit_status);
	if (fit_status==1)
	{
		fit_data ();
	}
	
	return 1;
}
Beispiel #4
0
int CVICALLBACK load_plot (int panel, int control, int event,
						   void *callbackData, int eventData1, int eventData2)
{
	int color;
	switch (event)
	{
		case EVENT_COMMIT:
			color=0;
			FileSelectPopupEx ("d:\\data\\test", "*.*", "txt", "Load data", VAL_LOAD_BUTTON, 0, 0, pathname);
			
			memset(data2fit, 0, sizeof(data2fit));
			FileToArray (pathname, data2fit, VAL_DOUBLE, 10000, 1, VAL_GROUPS_TOGETHER, VAL_GROUPS_AS_ROWS, VAL_ASCII);
			plot_data (color); 
			break;
	}
	return 0;
}
Beispiel #5
0
int CVICALLBACK load_plot (int panel, int control, int event,
						   void *callbackData, int eventData1, int eventData2)
{
	int color;
	static char read_buffer[10000]  ;
	switch (event)
	{
		case EVENT_COMMIT:
			color=0;
			FileSelectPopupEx ("d:\\data\\test", "*.*", "txt", "Load data", VAL_LOAD_BUTTON, 0, 0, pathname);
			
			memset(data2fit, 0, sizeof(data2fit));
			FileToArray (pathname, read_buffer, VAL_CHAR, 10000, 1, VAL_GROUPS_TOGETHER, VAL_GROUPS_AS_COLUMNS, VAL_BINARY);
			ConvertArrayType (read_buffer, VAL_CHAR, data2fit, VAL_DOUBLE, 10000); 
//			printf("%s, value:%f\n",pathname, data2fit[100]);
			plot_data (color); 
			break;
	}
	return 0;
}
 void render()
 {
     data plot_data;
     
     plot_data.append((unsigned int) this->spheres.size());
     plot_data.append((unsigned int) this->lines.size());
     
     for(unsigned int i=0; i<this->spheres.size(); i++)
     {
         plot_data.append((float) this->spheres[i].s.x.x);
         plot_data.append((float) this->spheres[i].s.x.y);
         plot_data.append((float) this->spheres[i].s.r);
         plot_data.append((const char *) this->spheres[i].color, 3);
         plot_data.append((const char *) this->spheres[i].label, 8);
     }
     
     for(unsigned int i=0; i<this->lines.size(); i++)
     {
         plot_data.append((float) this->lines[i].a.x);
         plot_data.append((float) this->lines[i].a.y);
         plot_data.append((float) this->lines[i].b.x);
         plot_data.append((float) this->lines[i].b.y);
         plot_data.append((const char *) this->lines[i].color, 3);
     }
     
     plot_data.prepend((unsigned int) plot_data.length());
     
     for(unsigned int i=0; i<=plot_data.length() / REALTIME_PLOT_PACKET_SIZE; i++)
     {
         unsigned int beg = REALTIME_PLOT_PACKET_SIZE * i;
         unsigned int end = REALTIME_PLOT_PACKET_SIZE * (i+1);
         
         this->sock.send(packet(address(), address("127.0.0.1", this->port), plot_data(beg, end > plot_data.length() ? plot_data.length() : end)));
     }
     
     this->spheres.clear();
     this->lines.clear();
 }
Beispiel #7
0
int main(int argc, const char **argv)
{
    plot_type *item;
    plot_dataset_type *d;
    PLFLT *x, *y;
    double x_max, y_max;
    int N;
    const char *kw = argv[1];

    if (argc < 2) {
	fprintf(stderr, "Error: give keyword as argument!\n");
	exit(EXIT_FAILURE);
    }

    item = plot_alloc();
    plot_set_window_size(item, 1152, 768);
    plot_initialize(item, "png", "punqs3.png");

    {
	char str[PATH_MAX];
	int i, k;
	int len = 2;
	int interval[len][2];

	interval[0][0] = 1;
	interval[0][1] = 10;
	interval[1][0] = 50;
	interval[1][1] = 60;

	for (i = 0; i < len; i++) {
	    for (k = interval[i][0]; k <= interval[i][1]; k++) {
		snprintf(str, PATH_MAX,
			 "/h/masar/EnKF_PUNQS3/PUNQS3/Original/Realizations/PUNQS3_Realization_%d/PUNQS3_%d.DATA",
			 k, k);
		plot_summary_collect_data(&x, &y, &N, str, kw);
		d = plot_dataset_alloc(false);
		plot_dataset_set_data(d, x, y, N, BLUE, LINE);
		plot_dataset_add(item, d);
		util_safe_free(x);
		util_safe_free(y);

		snprintf(str, PATH_MAX,
			 "/d/proj/bg/enkf/EnKF_PUNQS3/enkf_runs/member_%03d/PUNQS3_%04d.DATA",
			 k, k);
		d = plot_dataset_alloc( false );
		plot_summary_collect_data(&x, &y, &N, str, kw);
		plot_dataset_set_data(d, x, y, N, RED, LINE);
		plot_dataset_add(item, d);
		util_safe_free(x);
		util_safe_free(y);
	    }
	}
    }

    d = plot_dataset_alloc();
    plot_summary_collect_data(&x, &y, &N,
			      "/d/proj/bg/enkf/EnKF_PUNQS3/PUNQS3/Original/PUNQS3.DATA",
			      kw);
    plot_dataset_set_data(d, x, y, N, BLACK, POINT);
    plot_dataset_add(item, d);

    util_safe_free(x);
    util_safe_free(y);

    plot_set_labels(item, "Days", kw, "PUNQS3", BLACK);
    plot_get_extrema(item, &x_max, &y_max, NULL, NULL);
    plot_set_viewport(item, 0, x_max, 0, y_max);
    plot_data(item);
    plot_free(item);
}