Subversion Repositories f9daq

Compare Revisions

Ignore whitespace Rev 281 → Rev 304

/cvi/instr/K6517/IUdraw.cxx
4,16 → 4,17
#include <TGraph.h>
#include <TCanvas.h>
#include <TMultiGraph.h>
#include <math.h>
 
int IUdraw(const char *datoteka = "C:/home/data/meritev-iv.dat"){
auto c1 = new TCanvas("c1","A Simple Graph Example",200,10,1400,1000);
c1->SetLogy();
auto mg = new TMultiGraph();
char setNames[40][20] = {"gr1", "gr2", "gr3", "gr4", "gr5", "gr6","gr7","gr8"};
char barve[40][20] = {"kBlue", "kRed", "kGreen", "kOrange", "kYellow", "kPurple","kBlack","kMagenta"};
char naslovi[40][35] = {"testna"};
double sigmaGauss = 0.3;
double xError = 0.5;
double rangeX = 5;
//c1->SetLogy();
//auto mg = new TMultiGraph();
printf("#%s#\n", datoteka);
// printf("#%s#\n", datoteka);
/*
string s = datoteka;
s.erase(s.find_last_of("."), string::npos);
29,11 → 30,19
TString path = gSystem->DirName(datoteka);
ime.Remove(ime.Index(".dat"));
fprintf(stderr,"Ime=%s\n", ime.Data());
TString formatted = path + TString("/") + ime + TString(".png");
TString formatted = path + TString("/") + ime; // + TString(".png");
//formatted.Form("%s.png", );
fprintf(stderr,"png=%s\n", formatted.Data());
TString formattedGraph;
formattedGraph.Form("I ( V ) -> %s ; Voltage [V]; Current [A]", ime.Data());
TString formattedGraph1;
TString formattedGraph2;
TString formattedGraph3;
TString formattedGraph4;
TString formattedGraph5;
TString formatted1;
TString formatted2;
TString formatted3;
TString formatted4;
TString formatted5;
 
for (Int_t d = 0; d<1; d++) {
FILE * fp=fopen(datoteka,"r");
48,7 → 57,7
while (fgets(line,ndim,fp)!=NULL) {
if (line[0] == '#') continue;
sscanf(line,"%f%f%f%f",&f[0],&f[1],&f[2],&f[3]);
printf("%f %f %f %f \n",f[0],f[1],f[2],f[3]);
// printf("%f %f %f %f \n",f[0],f[1],f[2],f[3]);
fpXX[j]=f[2];
fpYY[j]=f[3];
j++;
68,26 → 77,224
// }
fclose(fp);
auto graf = new TGraph();
graf->SetMarkerStyle(20);
// graf->SetName(setNames[d]);
// graf->SetTitle(naslovi[d]);
graf->SetDrawOption("AP");
// graf->SetLineColor(d+1);
graf->SetLineWidth(3);
graf->SetFillStyle(0);
auto graf11 = new TGraph();
graf11->SetMarkerStyle(20);
graf11->SetDrawOption("AP");
graf11->SetLineWidth(3);
graf11->SetFillStyle(0);
auto graf12 = new TGraph();
graf12->SetMarkerStyle(20);
graf12->SetDrawOption("AP");
graf12->SetLineWidth(3);
graf12->SetFillStyle(0);
auto graf2 = new TGraph();
graf2->SetMarkerStyle(20);
graf2->SetDrawOption("AP");
graf2->SetLineWidth(3);
graf2->SetFillStyle(0);
auto graf3 = new TGraph();
graf3->SetMarkerStyle(20);
graf3->SetDrawOption("AP");
graf3->SetLineWidth(3);
graf3->SetFillStyle(0);
auto graf4 = new TGraph();
graf4->SetMarkerStyle(20);
graf4->SetDrawOption("AP");
graf4->SetLineWidth(3);
graf4->SetFillStyle(0);
auto graf5 = new TGraph();
graf5->SetMarkerStyle(20);
graf5->SetDrawOption("AP");
graf5->SetLineWidth(3);
graf5->SetFillStyle(0);
for (int i=0; i<j; i++) {
if (fpYY[i]<=0) fpYY[i] = 1e-12;
graf->SetPoint(i,fpXX[i],fpYY[i]);
graf11->SetPoint(i,fpXX[i],log(fpYY[i]));
graf12->SetPoint(i,fpXX[i],log(fpYY[i]));
graf5->SetPoint(i,log(fpYY[i]),fpXX[i]);
}
mg->Add(graf,"PL"); //graf->SetTitle(naslovi[d]); //graf->SetLineWidth(3);
//delete fpXX;
//delete fpYY;
double max2 = 0;
double max2x = 0;
int k = 0;
for (int i=0; i<j-1; i++) {
if (fpYY[i]<=0) fpYY[i] = 1e-12;
double x2 = (fpXX[i+1]+fpXX[i])/2;
double y2 = (log(fpYY[i+1])-log(fpYY[i]))/(fpXX[i+1]-fpXX[i]);
graf2->SetPoint(i,x2, y2);
if (y2 > 1.1) {
double y3 = 1 / y2;
graf3->SetPoint(k,x2, y3);
k++;
}
if (y2 > max2) {
max2 = y2;
max2x = x2;
}
}
double max4 = 0;
double max4x = 0;
double x4stari = 0;
double y4stari = 0;
double x4novi = 0;
double y4novi = 0;
for (int i=0; i<j-2; i++) {
if (fpYY[i]<=0) fpYY[i] = 1e-12;
double x4 = (fpXX[i+2]+fpXX[i])/4+fpXX[i+1]/2;
double y4 = ((log(fpYY[i+2])-log(fpYY[i+1]))/(fpXX[i+2]-fpXX[i+1]) - (log(fpYY[i+1])-log(fpYY[i]))/(fpXX[i+1]-fpXX[i]))/((fpXX[i+2]-fpXX[i])/2);
if (i==0) {
x4novi = x4;
y4novi = y4;
}
else {
x4novi = (x4 + x4stari)/2;
y4novi = (y4 + y4stari)/2;
}
graf4->SetPoint(i,x4novi, y4novi);
x4stari = x4;
y4stari = y4;
if (y4 > max4) {
max4 = y4;
max4x = x4;
}
}
}
mg->SetTitle(formattedGraph);
mg->Draw("A pmc plc");
//c1->BuildLegend();
c1->SaveAs(formatted);
 
TF1 *fa1 = new TF1("fa1","pol1",61,67);
fa1->SetParameters(-28.4467,0.0875386);
graf11->Fit("fa1", "R");
graf11->Draw("APL");
c1->Update();
TF1 *fa2 = new TF1("fa2","pol1",69.7,70.1);
graf11->Fit("fa2", "R+");
//graf12->Draw("APL");
printf("p0=%e, p1=%e\n", fa1->GetParameter(0), fa1->GetParameter(1));
double par0 = fa1->GetParameter(0);
double par1 = fa1->GetParameter(1);
printf("p2=%e, p3=%e\n", fa2->GetParameter(0), fa2->GetParameter(1));
double par2 = fa2->GetParameter(0);
double par3 = fa2->GetParameter(1);
double x1 = (par0 - par2)/(par3 - par1);
formattedGraph1.Form("I ( V ) -> %s, V(1) = %f ; V [V]; ln(I) [A]", ime.Data(), x1);
graf11->SetTitle(formattedGraph1);
graf12->SetTitle(formattedGraph1);
//graf13->Draw("APL");
formatted1.Form("%s-1.png", formatted.Data());
c1->SaveAs(formatted1);
 
auto c2 = new TCanvas("c2","A Simple Graph Example",200,10,1400,1000);
graf2->Draw("APL");
graf2->GetXaxis()->SetRangeUser(x1 - rangeX, x1 + rangeX);
TF1 *fa2 = new TF1("fa2","gaus(0)+pol1(3)",max2x - sigmaGauss, max2x + sigmaGauss);
fa2->SetParameters(60,x1,0.1339,0,0);
fa2->SetParLimits(1, max2x - sigmaGauss, max2x + sigmaGauss);
// fa1->SetParLimits(1, 10**(-14), 10**(-10));
graf2->Fit("fa2", "R");
// printf("p20=%e, p21=%e, p22=%e, max2x=%f\n", fa2->GetParameter(0), fa2->GetParameter(1), fa2->GetParameter(2), max2x);
// double par2 = fa2->GetParameter(2);
// double par3 = fa2->GetParameter(3);
double x2 = fa2->GetParameter(1);
formattedGraph2.Form("I ( V ) -> %s, V(2) = %f ; Voltage [V]; d(ln(I)/dV)", ime.Data(), x2);
graf2->SetTitle(formattedGraph2);
formatted2.Form("%s-2.png", formatted.Data());
gStyle->SetOptFit(1);
c2->SaveAs(formatted2);
 
auto c3 = new TCanvas("c3","A Simple Graph Example",200,10,1400,1000);
graf3->Draw("APL");
graf3->Fit("pol3");
graf3->GetXaxis()->SetRangeUser(x1 - rangeX, x1 + rangeX);
TF1 *fa3 = new TF1("fa3", "pol1", x2, x2 + 0.5);
fa3->SetParameters(-30.6306,0.4398);
//fa3->SetParLimits(0, 10**(-14), 10**(-10));
//fa3->SetParLimits(1, 10**(-14), 10**(-10));
graf3->Fit("fa3", "R");
double n3 = fa3->GetParameter(0);
double k3 = fa3->GetParameter(1);
double x3 = - n3 / k3;
formattedGraph3.Form("I ( V ) -> %s, V(3) = %f ; Voltage [V]; 1/(d(ln(I)/dV))", ime.Data(), x3);
graf3->SetTitle(formattedGraph3);
//printf("p30=%e, p31=%e\n", fa3->GetParameter(0), fa3->GetParameter(1));
formatted3.Form("%s-3.png", formatted.Data());
c3->SaveAs(formatted3);
 
auto c4 = new TCanvas("c4","A Simple Graph Example",200,10,1400,1000);
graf4->Draw("APL");
graf4->GetXaxis()->SetRangeUser(x1 - rangeX, x1 + rangeX);
TF1 *fa4 = new TF1("fa4","gaus(0)",max4x - sigmaGauss, max4x + sigmaGauss);
fa4->SetParameters(60,x2,0.1339);
fa4->SetParLimits(1, x2 - xError, x2 + xError);
fa4->SetParLimits(0, 0, 1000);
graf4->Fit("fa4", "R");
// printf("p40=%e, p41=%e, p42=%e, max4x=%f\n", fa4->GetParameter(0), fa4->GetParameter(1), fa4->GetParameter(2), max4x);
// double par2 = fa2->GetParameter(2);
// double par3 = fa2->GetParameter(3);
double x4 = fa4->GetParameter(1);
formatted4.Form("%s-4.png", formatted.Data());
// TString stringx4;
// stringx4.Form("V(4) = %f", x4);
// TText *t = new TText(60,70,stringx4);
// t->SetTextAlign(22);
// t->SetTextColor(1);
// t->SetTextFont(43);
// t->SetTextSize(20);
// t->Draw();
formattedGraph4.Form("I ( V ) -> %s, V(4) = %f ; Voltage [V]; d^2(ln(I)/dV^2)", ime.Data(), x4);
graf4->SetTitle(formattedGraph4);
gPad->Modified(); gPad->Update();
c4->SaveAs(formatted4);
 
auto c5 = new TCanvas("c5","A Simple Graph Example",200,10,1400,1000);
graf5->Draw("APL");
TF1 *fa5 = new TF1("fa5","-[0] - [1]*x - [2]*x**2",par0 + par1*x1 +4,par0 + par1*x1+11);
// fa5->SetParameters(28.4467,0.0875386,4);
graf5->Fit("fa5", "R+");
printf("p4=%e, p5=%e, p6=%e\n", fa5->GetParameter(0), fa5->GetParameter(1), fa5->GetParameter(2));
double par4 = fa5->GetParameter(0);
double par5 = fa5->GetParameter(1);
double par6 = fa5->GetParameter(2);
double xx5 = - (double)(par5/(2*par6));
double x5 = - par4 - par5 * xx5 - par6 * xx5**2;
// double f5(double p);
// double f5(double p) {
// double par0, par1, par4, par5, par6;
// double a=-(double)(par0/par1) + (double)(1/par1) * p + par4 + par5 * p + par6 * p**2;
// return a;
// }
// cout.precision(4);
// cout.setf(ios::fixed);
// double a5,b5,cc5,e5,faa5,fb5,fc5;
// a5 = x1-5;
// b5 = x1+5;
// e5 = 0.001;
// if (f5(a5)*f5(b5)>0) print("No root exists between a and b.\n");
// else {
// while (fabs(a5-b5)>=e5) {
// cc5=(a5+b5)/2.0; //bisect the interval and find the value of c
// faa5=f5(a5);
// fb5=f5(b5);
// fc5=f5(cc5);
// if (fc5==0) {
// printf("The root of the equation is %f \n",cc5);
// break;
// }
// if (fa5*fc5>0) a5=cc5;
// else if (fa5*fc5<0) b5=cc5;
// }
// } //The loop ends when the difference between a and b becomes less than the desired accuracy ie now the value stored in 'c' can be called the approximate root of the equation
// printf("The root of the equation is %f \n",cc5);
formattedGraph5.Form("V ( I ) -> %s, V(5) = %f ; ln(I) [A] ; V [V]", ime.Data(), x5);
graf5->SetTitle(formattedGraph5);
formatted5.Form("%s-5.png", formatted.Data());
c5->SaveAs(formatted5);
 
printf("RESULT: V(1) = %f, V(2) = %f, V(3) = %f, V(4) = %f, V(5) = %f", x1, x2, x3, x4, x5);
return 0;
}
/cvi/instr/K6517/K6517-ctrl.h
34,43 → 34,55
 
#define P2 2
#define P2_DRAW 2 /* control type: command, callback function: DrawCB */
#define P2_EXIT_2 3 /* control type: command, callback function: Exit2CB */
#define P2_STOP 4 /* control type: command, callback function: StopCB */
#define P2_GRAPHIV 5 /* control type: graph, callback function: (none) */
#define P2_SETVOLT 6 /* control type: command, callback function: SETVOLTCB */
#define P2_IVSCAN 7 /* control type: command, callback function: IVSCANCB */
#define P2_UMAX_4 8 /* control type: numeric, callback function: (none) */
#define P2_UMIN_4 9 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_4 10 /* control type: numeric, callback function: (none) */
#define P2_UMAX_3 11 /* control type: numeric, callback function: (none) */
#define P2_UMIN_3 12 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_3 13 /* control type: numeric, callback function: (none) */
#define P2_RANGE_4 14 /* control type: ring, callback function: (none) */
#define P2_SLCT_4 15 /* control type: radioButton, callback function: (none) */
#define P2_UMAX_2 16 /* control type: numeric, callback function: (none) */
#define P2_UMIN_2 17 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_2 18 /* control type: numeric, callback function: (none) */
#define P2_RANGE_3 19 /* control type: ring, callback function: (none) */
#define P2_SLCT_3 20 /* control type: radioButton, callback function: (none) */
#define P2_UMAX_1 21 /* control type: numeric, callback function: (none) */
#define P2_UMIN_1 22 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_1 23 /* control type: numeric, callback function: (none) */
#define P2_RANGE_2 24 /* control type: ring, callback function: (none) */
#define P2_SLCT_2 25 /* control type: radioButton, callback function: (none) */
#define P2_FILENAME 26 /* control type: string, callback function: (none) */
#define P2_PATH 27 /* control type: string, callback function: (none) */
#define P2_VOLT 28 /* control type: ring, callback function: (none) */
#define P2_RANGE_1 29 /* control type: ring, callback function: (none) */
#define P2_SLCT_1 30 /* control type: radioButton, callback function: (none) */
#define P2_DEBUG 31 /* control type: radioButton, callback function: DebugCB */
#define P2_LOGSCALE 32 /* control type: radioButton, callback function: LogScaleCB */
#define P2_PRINTX 33 /* control type: command, callback function: Print */
#define P2_VMON 34 /* control type: numeric, callback function: (none) */
#define P2_EXIT 3 /* control type: command, callback function: ExitCB */
#define P2_EXIT_2 4 /* control type: command, callback function: Exit2CB */
#define P2_STOP 5 /* control type: command, callback function: StopCB */
#define P2_HUMIDITY 6 /* control type: numeric, callback function: (none) */
#define P2_TMON 7 /* control type: numeric, callback function: (none) */
#define P2_GRAPHIV 8 /* control type: graph, callback function: (none) */
#define P2_SETVOLT 9 /* control type: command, callback function: SETVOLTCB */
#define P2_DISCONNECT 10 /* control type: command, callback function: DisconnectCB */
#define P2_CONNECT 11 /* control type: command, callback function: ConnectCB */
#define P2_TSCAN 12 /* control type: command, callback function: TScanCB */
#define P2_IVSCAN 13 /* control type: command, callback function: IVSCANCB */
#define P2_UMAX_4 14 /* control type: numeric, callback function: (none) */
#define P2_UMIN_4 15 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_4 16 /* control type: numeric, callback function: (none) */
#define P2_UMAX_3 17 /* control type: numeric, callback function: (none) */
#define P2_UMIN_3 18 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_3 19 /* control type: numeric, callback function: (none) */
#define P2_RANGE_4 20 /* control type: ring, callback function: (none) */
#define P2_SLCT_4 21 /* control type: radioButton, callback function: (none) */
#define P2_UMAX_2 22 /* control type: numeric, callback function: (none) */
#define P2_UMIN_2 23 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_2 24 /* control type: numeric, callback function: (none) */
#define P2_RANGE_3 25 /* control type: ring, callback function: (none) */
#define P2_SLCT_3 26 /* control type: radioButton, callback function: (none) */
#define P2_UMAX_1 27 /* control type: numeric, callback function: (none) */
#define P2_UMIN_1 28 /* control type: numeric, callback function: (none) */
#define P2_NSTEPS_1 29 /* control type: numeric, callback function: (none) */
#define P2_RANGE_2 30 /* control type: ring, callback function: (none) */
#define P2_SLCT_2 31 /* control type: radioButton, callback function: (none) */
#define P2_TIME 32 /* control type: string, callback function: (none) */
#define P2_FILENAME 33 /* control type: string, callback function: (none) */
#define P2_PATH 34 /* control type: string, callback function: (none) */
#define P2_RANGE_1 35 /* control type: ring, callback function: (none) */
#define P2_SLCT_1 36 /* control type: radioButton, callback function: (none) */
#define P2_DEBUG 37 /* control type: radioButton, callback function: DebugCB */
#define P2_REPEAT 38 /* control type: radioButton, callback function: (none) */
#define P2_LOGSCALE 39 /* control type: radioButton, callback function: LogScaleCB */
#define P2_PRINTX 40 /* control type: command, callback function: Print */
#define P2_NEXTSCAN 41 /* control type: numeric, callback function: (none) */
#define P2_VCUR 42 /* control type: numeric, callback function: (none) */
#define P2_VMON 43 /* control type: numeric, callback function: (none) */
#define P2_VOLT 44 /* control type: numeric, callback function: (none) */
#define P2_DELAY2 45 /* control type: numeric, callback function: (none) */
#define P2_PERIOD 46 /* control type: numeric, callback function: (none) */
#define P2_DELAY 47 /* control type: numeric, callback function: (none) */
#define P2_TABLE 48 /* control type: table, callback function: (none) */
#define P2_LED 49 /* control type: LED, callback function: (none) */
 
#define PANEL 3
#define PANEL_COMMANDBUTTON 2 /* control type: command, callback function: StartTest */
 
 
/* Control Arrays: */
 
/* (no control arrays in the resource file) */
83,7 → 95,9
 
/* Callback Prototypes: */
 
int CVICALLBACK ConnectCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK DebugCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK DisconnectCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK DrawCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK Exit2CB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK ExitCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
96,12 → 110,12
int CVICALLBACK SetIntervalCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK SetMaskCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK SETVOLTCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK StartTest(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK StopCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK SwitchOnOffCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK TestCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK TimerCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK TimerOnOffCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
int CVICALLBACK TScanCB(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 
 
#ifdef __cplusplus
/cvi/instr/K6517/K6517-ctrl.uir
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/cvi/instr/K6517/K6517.c
1,3 → 1,4
#include <tcpsupp.h>
#include <formatio.h>
#include <userint.h>
#include <ansi_c.h>
11,6 → 12,7
static int K6517_Interface,K6517_Port,K6517_Gdev;
static int iret;
static int stop;
static int debugCode;
int _VI_FUNC K6517_status_print (void);
void GpibError(char *msg) {
 
120,7 → 122,7
 
void _VI_FUNC K6517_send (char *cmd, int len)
{
printf("-> %s\n", cmd);
if (debugCode) printf("-> %s\n", cmd);
if (!len) len = strlen(cmd);
switch (K6517_Interface){
case 1:
141,7 → 143,7
case 1:
PROLOGIX_Send("++read eoi");
ierr= PROLOGIX_Receive (response,maxbyt);
printf("<---Read [%d] %s\n", ierr, response);
if (debugCode) printf("<---Read [%d] %s\n", ierr, response);
return ierr;
break;
default:
194,7 → 196,7
 
cres[0]= 0;
int len = K6517_receive (cres, 50);
printf("current >%d, %s\n",len,cres);
if (debugCode) printf("current >%d, %s\n",len,cres);
return atof(cres);
/*
269,6 → 271,8
char cmd[100];
len=sprintf(cmd,":SOURCE:VOLTAGE %f",value);
K6517_send (cmd, len);
len=sprintf(cmd,":SOURCE:VOLTAGE:MCONNECT ON");
K6517_send (cmd, len);
return;
}
 
388,7 → 392,203
int pnl;
FILE *gFp;
 
static int tfID;
static int rID;
static CmtThreadPoolHandle poolHandle = 0;
#define MAX_THREADS 10
 
 
 
/*---------------------------------------------------------------------------*/
/* Macros */
/*---------------------------------------------------------------------------*/
#define tcpChk(f) if ((g_TCPError=(f)) < 0) {ReportTCPError();}
 
 
/*---------------------------------------------------------------------------*/
/* Internal function prototypes */
/*---------------------------------------------------------------------------*/
int CVICALLBACK ClientTCPCB (unsigned handle, int event, int error,
void *callbackData);
static void ReportTCPError (void);
 
/*---------------------------------------------------------------------------*/
/* Module-globals */
/*---------------------------------------------------------------------------*/
static unsigned int g_hconversation;
static int g_hmainPanel;
static int g_connected = 0;
static int g_TCPError = 0;
 
/*---------------------------------------------------------------------------*/
/* Report TCP Errors if any */
/*---------------------------------------------------------------------------*/
static void ReportTCPError(void)
{
if (g_TCPError < 0)
{
char messageBuffer[1024];
sprintf(messageBuffer,
"TCP library error message: %s\nSystem error message: %s",
GetTCPErrorString (g_TCPError), GetTCPSystemErrorString());
MessagePopup ("Error", messageBuffer);
g_TCPError = 0;
}
}
/*---------------------------------------------------------------------------*/
 
 
int CVICALLBACK DisconnectCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2) {
switch (event) {
case EVENT_COMMIT:
if (g_connected)
DisconnectFromTCPServer (g_hconversation);
g_hconversation = 0;
g_connected = 0;
break;
}
return 0;
}
 
int CVICALLBACK ConnectCB (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) {
int portNum=10000;
char tempBuf[512];
sprintf(tempBuf,"localhost");
switch (event) {
case EVENT_COMMIT:
if (ConnectToTCPServer (&g_hconversation, portNum, tempBuf, ClientTCPCB, NULL, 5000) < 0)
MessagePopup("TCP Client", "Connection to server failed !");
else
{
SetWaitCursor (0);
g_connected = 1;
/* We are successfully connected -- gather info */
if (GetTCPHostAddr (tempBuf, 256) >= 0) printf("%s\n" ,tempBuf);
if (GetTCPHostName (tempBuf, 256) >= 0) printf("%s\n" ,tempBuf);
tcpChk (GetTCPPeerAddr (g_hconversation, tempBuf, 256));
printf("%s\n" ,tempBuf);
tcpChk (GetTCPPeerName (g_hconversation, tempBuf, 256));
printf("%s\n" ,tempBuf);
}
break;
}
return 0;
}
 
 
int CVICALLBACK ClientTCPCB (unsigned handle, int event, int error, void *callbackData)
{
char receiveBuf[256] = {0};
ssize_t dataSize = sizeof (receiveBuf) - 1;
 
switch (event)
{
case TCP_DATAREADY:
if ((dataSize = ClientTCPRead (g_hconversation, receiveBuf,
dataSize, 1000))
< 0)
{
printf( "Receive Error\n");
}
else
{
receiveBuf[dataSize] = '\0';
//printf("%s", receiveBuf);
float temp = 0;
float humidity = 0;
float dt=0;
float tdiff=0;
int t0 = 0;
sscanf(receiveBuf, "%d%f%f%f%f", &t0,&humidity,&temp, &tdiff, &dt);
SetCtrlVal(pn2,P2_TMON, temp);
SetCtrlVal(pn2,P2_HUMIDITY, humidity);
if (fabs(tdiff)<0.5 && fabs(dt) < 0.2) SetCtrlVal(pn2,P2_LED, 1);
else SetCtrlVal(pn2,P2_LED, 0);
}
break;
case TCP_DISCONNECT:
MessagePopup ("TCP Client", "Server has closed connection!");
g_connected = 0;
break;
}
return 0;
}
 
 
void SetDimming(int state) {
SetCtrlAttribute (pnl, P2_IVSCAN, ATTR_DIMMED, state);
SetCtrlAttribute (pnl, P2_EXIT, ATTR_DIMMED, state);
SetCtrlAttribute (pnl, P2_STOP, ATTR_DIMMED, !state);
}
 
void CVICALLBACK EndOfThread ( CmtThreadPoolHandle poolhandle,
CmtThreadFunctionID functionID, unsigned int event,
int value, void *callbackData ) {
SetDimming(0);
printf("End of Thread \n");
return ;
 
}
 
int ivscan (void *arg);
 
int TScan () {
 
double temp;
int n=0;
int led;
GetNumTableRows (pn2, P2_TABLE, &n );
for(int i=0; i<n; i++) {
GetTableCellVal (pn2, P2_TABLE, MakePoint (1,i+1), &temp);
if (temp>100) break;
char transmitBuf[512]= {0};
sprintf(transmitBuf, "1 %f\n", temp);
SetCtrlVal(pn2,P2_LED, 0);
if (g_hconversation)
if ( ClientTCPWrite (g_hconversation, transmitBuf, strlen (transmitBuf), 1000) < 0) printf("Transmit Error\n");
do {
time_t t0 = time(NULL);
SetCtrlVal(pn2,P2_TIME, ctime(&t0));
Delay(1);
GetCtrlVal(pn2,P2_LED, &led);
if (stop) break;
} while (!led);
if (stop) break;
int itemp = (int) temp;
ivscan(&itemp);
printf("%d %f\n",i,temp);
}
 
return 0;
}
 
int CVICALLBACK TScanCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2) {
 
switch (event) {
case EVENT_COMMIT:{
ThreadFunctionPtr mythread = TScan;
CmtScheduleThreadPoolFunctionAdv (poolHandle, mythread, &rID,
DEFAULT_THREAD_PRIORITY,
EndOfThread,
EVENT_TP_THREAD_FUNCTION_END,
NULL, RUN_IN_SCHEDULED_THREAD,
&tfID);
}
break;
}
return 0;
}
 
int CVICALLBACK TimerOnOffCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
438,6 → 638,7
return current_run+1;
}
 
 
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow)
{
444,10 → 645,13
char cres[100];
double Voltage, Current, tinterval;
if (InitCVIRTE (hInstance, 0, 0) == 0) return -1; /* out of memory */
SetStdioPort (CVI_STDIO_WINDOW);
SetStdioPort (CVI_STDIO_WINDOW);
SetSleepPolicy(VAL_SLEEP_MORE);
CmtNewThreadPool (MAX_THREADS, &poolHandle);
if ((pnl = LoadPanel (0, "K6517-ctrl.uir", P1)) < 0) return -1;
if ((pn2 = LoadPanel (0, "K6517-ctrl.uir", P2)) < 0) return -1;
DisableBreakOnLibraryErrors();
K6517_open (1,4,3,0,13);
468,6 → 672,9
DisplayPanel (pnl);
DisplayPanel (pn2);
RunUserInterface ();
CmtDiscardThreadPool (poolHandle);
if (g_connected)
DisconnectFromTCPServer (g_hconversation);
DiscardPanel (pn2);
DiscardPanel (pnl);
K6517_close();
660,8 → 867,8
}
 
 
int CVICALLBACK IVSCANCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2) {
int ivscan (void *arg) {
int *iarg = (int *) arg;
int nsteps;
double umin, umax, u;
double *xpoints;
682,32 → 889,41
FILE *fp;
time_t mtime;
ssize_t size;
switch (event) {
case EVENT_COMMIT:
int repeatscan = 1;
while (repeatscan){
K6517_send (":OUTP ON", 0);
// GetCtrlVal(panel, P2_UMIN, &umin);
// GetCtrlVal(panel, P2_UMAX, &umax);
// GetCtrlVal(panel, P2_NSTEPS, &nsteps);
 
SetCtrlVal(pnl, P1_TIMERON, 0);
GetCtrlVal(panel, P2_FILENAME, fileName);
GetCtrlVal(panel, P2_PATH, path);
// GetCtrlVal(panel, P2_RANGE, &range);
GetCtrlVal(pn2, P2_FILENAME, fileName);
GetCtrlVal(pn2, P2_PATH, path);
 
TimerOnOffCB(pnl, P1_TIMERON, EVENT_COMMIT, NULL, 0, 0);
sprintf(fname, "%s/%s.dat", path, fileName);
if ( !GetFileInfo(fname,&size) )
GetCtrlVal(pn2, P2_REPEAT, &repeatscan);
if (repeatscan) {
int month, day, year, hours,minutes,seconds;
GetSystemDate (&month,&day ,&year );
GetSystemTime(&hours, &minutes, &seconds);
sprintf(fname ,"%s/%s.%d_%d_%d_%d_%d.dat", path, fileName,year,month,day,hours,minutes );
fp = fopen(fname,"w");
} else {
if (*iarg>=100) sprintf(fname, "%s/%s.dat", path, fileName);
else sprintf(fname, "%s/%s_T%d.dat", path, fileName,*iarg);
if ( !GetFileInfo(fname,&size) || strstr("test",fileName)!=NULL )
fp = fopen(fname,"w");
else {
sprintf(cres, "File %s exist\n Remove it first",fname);
else {
sprintf(cres, "File %s exist\n Remove it first",fname);
MessagePopup ("Info", cres);
return 0;
}
}
}
time(&mtime);
printf("#%s %s\n",DateStr(), TimeStr());
if (fp) fprintf(fp, "#%s %s\n",DateStr(), TimeStr());
// K6517_current_mode (range);
stop = 0;
LogScaleCB (panel, P2_LOGSCALE, EVENT_COMMIT,NULL, 0, 0);
LogScaleCB (pn2, P2_LOGSCALE, EVENT_COMMIT,NULL, 0, 0);
int voltageMax[4]={P2_UMAX_1,P2_UMAX_2,P2_UMAX_3,P2_UMAX_4};
int voltageMin[4]={P2_UMIN_1,P2_UMIN_2,P2_UMIN_3,P2_UMIN_4};
int numberOfSteps[4]={P2_NSTEPS_1,P2_NSTEPS_2,P2_NSTEPS_3,P2_NSTEPS_4};
718,50 → 934,117
int N=0;
int K=0;
for (int j=0;j<4;j++){
GetCtrlVal(panel, intervals[j], &nrOfInt);
GetCtrlVal(pn2, intervals[j], &nrOfInt);
N = N + nrOfInt;
GetCtrlVal(panel, numberOfSteps[j], &nrOfSteps);
GetCtrlVal(pn2, numberOfSteps[j], &nrOfSteps);
K = K + nrOfSteps;
}
xpoints = (double *) malloc ((K-N+2)*sizeof(double));
ypoints = (double *) malloc ((K-N+2)*sizeof(double));
xpoints = (double *) malloc ((K-N+2)*sizeof(double)*4);
ypoints = (double *) malloc ((K-N+2)*sizeof(double)*4);
int tockaK=0;
double t1,t2;
GetCtrlVal(pn2, P2_DELAY, &t1);
GetCtrlVal(pn2, P2_DELAY2, &t2);
for (int i=0;i<N;i++){
GetCtrlVal(panel, voltageMin[i], &umin);
GetCtrlVal(panel, voltageMax[i], &umax);
GetCtrlVal(panel, numberOfSteps[i], &nsteps);
GetCtrlVal(panel, selectRange[i], &range);
GetCtrlVal(pn2, voltageMin[i], &umin);
GetCtrlVal(pn2, voltageMax[i], &umax);
GetCtrlVal(pn2, numberOfSteps[i], &nsteps);
GetCtrlVal(pn2, selectRange[i], &range);
K6517_current_mode (range);
for (int n=0;n<nsteps+1;n++){
if (i>0) {
if(n==0) n++;
};
u= umin+ n*(umax-umin)/nsteps;
K6517_vsource_set (u);
if (n==0) {
K6517_vsource_set (u);
Delay(1);
K6517_get(cres,&k);
K6517_vsource_set (u);
Delay(1);
K6517_get(cres,&k);
}
K6517_vsource_set (u);
current =K6517_get(cres,&k);
if (n==0) Delay(t1);
Delay(t2);
// voltage =K6517_vsource_get();
current =K6517_get(cres,&k);
if (current > range) printf("Overflow +\n");
if (current < -range) printf("Overflow -\n");
// if (current > range) printf("Overflow +\n");
// if (current < -range) printf("Overflow -\n");
voltage = u;
xpoints[tockaK]= voltage;
ypoints[tockaK]= current;
SetCtrlVal(panel, P2_VMON, voltage);
if (fp) fprintf(fp, "%d %g %g %g\n",tockaK, u, voltage,current);
printf("n=%d u=%g voltage=%g current=%g\n",tockaK, u, voltage,current);
if (plivhandle) DeleteGraphPlot (panel, P2_GRAPHIV, plivhandle, VAL_IMMEDIATE_DRAW);
plivhandle = PlotXY (panel, P2_GRAPHIV, xpoints, ypoints, tockaK+1, VAL_DOUBLE, VAL_DOUBLE, VAL_CONNECTED_POINTS, VAL_BOLD_X, VAL_SOLID, 1, VAL_RED);
SetCtrlVal(pn2, P2_VMON, voltage);
SetCtrlVal(pn2, P2_VCUR, current);
double temperature=0;
double humidity=0;
GetCtrlVal(pn2, P2_TMON, &temperature);
GetCtrlVal(pn2, P2_HUMIDITY, &humidity);
if (fp) fprintf(fp, "%d %g %g %g %g %g\n",tockaK, u, voltage,current, humidity, temperature);
if (debugCode) printf("n=%d u=%g voltage=%g current=%g\n",tockaK, u, voltage,current);
if (plivhandle) DeleteGraphPlot (pn2, P2_GRAPHIV, plivhandle, VAL_IMMEDIATE_DRAW);
plivhandle = PlotXY (pn2, P2_GRAPHIV, xpoints, ypoints, tockaK+1, VAL_DOUBLE, VAL_DOUBLE, VAL_CONNECTED_POINTS, VAL_BOLD_X, VAL_SOLID, 1, VAL_RED);
ProcessSystemEvents();
tockaK++;
if (stop) break;
}
if (stop) break;
}
u = 0;
K6517_vsource_set (u);
SetCtrlVal(pn2, P2_VMON, u);
SetCtrlVal(pnl, P1_ONOFF, 0);
K6517_vsource_operate (0);
fclose(fp);
free(xpoints);
free(ypoints);
if (stop) break;
if (repeatscan){
double period;
GetCtrlVal(pn2,P2_PERIOD,&period);
while (period>0){
Delay(1);
period--;
SetCtrlVal(pn2,P2_NEXTSCAN, period);
if (stop) {
SetCtrlVal(pn2,P2_NEXTSCAN, 0);
return 0;
}
}
}
}
return 0;
}
 
 
 
 
 
int CVICALLBACK IVSCANCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2) {
rID=100;
switch (event) {
case EVENT_COMMIT:{
ThreadFunctionPtr mythread = ivscan;
CmtScheduleThreadPoolFunctionAdv (poolHandle, mythread, &rID,
DEFAULT_THREAD_PRIORITY,
EndOfThread,
EVENT_TP_THREAD_FUNCTION_END,
NULL, RUN_IN_SCHEDULED_THREAD,
&tfID);
}
break;
}
return 0;
}
 
int CVICALLBACK SETVOLTCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2) {
770,6 → 1053,7
case EVENT_COMMIT:
GetCtrlVal(panel, P2_VOLT, &voltage);
K6517_vsource_set (voltage);
SetCtrlVal(panel, P2_VMON, voltage);
break;
}
return 0;
877,7 → 1161,7
int CVICALLBACK DebugCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2) {
int selected;
int debugCode;
switch (event) {
case EVENT_COMMIT:
GetCtrlVal(panel, control, &selected);
898,4 → 1182,7
}
return 0;
}
 
 
 
#endif
/cvi/instr/K6517/K6517.cws
9,15 → 9,16
IVI Standard Root 64-bit Dir = "/C/Program Files/IVI Foundation/IVI"
VXIplug&play Framework Dir = "/C/Program Files/IVI Foundation/VISA/winnt"
VXIplug&play Framework 64-bit Dir = "/C/Program Files/IVI Foundation/VISA/win64"
Number of Projects = 2
Number of Projects = 3
Active Project = 1
Project 0001 = "K6517.prj"
Project 0002 = "/c/home/rok/arich_daq/mergertest/mergertest.prj"
Drag Bar Left = 257
Window Top = 857
Window Left = 158
Window Bottom = 1600
Window Right = 1563
Project 0002 = "/c/home/CVI/apps/TempCtrl/TempCtrl.prj"
Project 0003 = "/c/home/CVI/instr/arduino_serial/arduino_serial.prj"
Drag Bar Left = 245
Window Top = 31
Window Left = 122
Window Bottom = 852
Window Right = 1592
Maximized = False
Maximized Children = True
Max32 Number Of Errors = 20
31,9 → 32,9
Hide Windows = False
Break At First Statement = False
Sort Type = "File Name"
Number of Opened Files = 17
Number of Opened Files = 6
Window Confinement Region Enabled = True
MainColumnWidth = 240
MainColumnWidth = 228
FileDateColumnWidth = 70
FileSizeColumnWidth = 70
 
55,10 → 56,19
Batch Build Release = False
Batch Build Debug = False
 
[Project Header 0003]
Version = 1302
Don't Update DistKit = False
Platform Code = 4
Build Configuration = "Debug"
Warn User If Debugging Release = 1
Batch Build Release = False
Batch Build Debug = False
 
[File 0001]
Path = "/c/home/CVI/instr/K6517/K6517.fp"
File Type = "Function Panel"
Disk Date = 3600242693
Disk Date = 3603694414
In Projects = "1,"
Window Top = 33
Window Left = 10
68,188 → 78,90
[File 0002]
Path = "/c/home/CVI/instr/PROLOGIX/prologix.fp"
File Type = "Function Panel"
Disk Date = 3596083745
Disk Date = 3596087345
In Projects = "1,"
 
[File 0003]
Path = "/c/home/CVI/instr/pw18-1.8aq/pw18-1.8aq.fp"
File Type = "Function Panel"
Disk Date = 3606995791
In Projects = "2,"
 
[File 0004]
Path = "/c/home/CVI/instr/arduino_serial/arduino_monitor.uir"
File Type = "User Interface Resource"
Disk Date = 3610007003
In Projects = "3,"
Window Top = 33
Window Left = 10
Window Height = 349
Window Width = 619
 
[File 0005]
Path = "/c/home/CVI/instr/K6517/K6517.c"
File Type = "CSource"
Disk Date = 3603689824
Disk Date = 3614705145
In Projects = "1,"
Window Top = 95
Window Left = 42
Window Z-Order = 1
Source Window State = "1,729,729,729,19,46,19,0,0,139,0,2,0,2,0,33,680,0,696,53,219,683,1,0,"
Source Window State = "1,556,556,556,30,47,47,0,0,148,0,3,0,3,0,36,534,0,552,42,219,683,1,0,"
 
[File 0004]
Path = "/c/home/CVI/instr/PROLOGIX/prologix.c"
File Type = "CSource"
Disk Date = 3596083745
In Projects = ""
Window Top = 31
Window Z-Order = 14
Source Window State = "1,98,98,98,5,35,5,0,0,70,0,0,0,0,0,28,153,0,150,34,400,600,1,0,"
 
[File 0005]
Path = "/c/Program Files/National Instruments/CVI2013/include/ansi/stdio.h"
File Type = "Include"
Disk Date = 3486528000
In Projects = ""
Window Top = 157
Window Left = 74
Window Z-Order = 13
Source Window State = "1,203,203,203,15,22,22,0,0,80,0,0,0,0,0,25,0,0,203,15,349,683,1,0,"
 
[File 0006]
Path = "/c/home/CVI/instr/PROLOGIX/prologix.h"
File Type = "Include"
Disk Date = 3596083745
In Projects = ""
Window Top = 157
Window Left = 74
Window Z-Order = 15
Source Window State = "1,35,35,35,13,26,26,0,0,75,0,0,0,0,0,25,12,0,41,49,349,643,1,0,"
 
[File 0007]
Path = "/c/home/CVI/instr/K6517/K6517.h"
File Type = "Include"
Disk Date = 3601370497
Disk Date = 3603694414
In Projects = "1,"
Window Top = 64
Window Left = 26
Window Z-Order = 7
Source Window State = "1,26,26,26,58,63,63,0,0,80,0,0,0,0,0,15,21,0,26,49,219,683,1,0,"
 
[File 0008]
[File 0007]
Path = "/c/home/CVI/instr/K6517/K6517-ctrl.uir"
File Type = "User Interface Resource"
Disk Date = 3603689753
Disk Date = 3614704747
In Projects = "1,"
Window Top = 126
Window Left = 58
Window Height = 219
Window Width = 683
Window Z-Order = 2
Window Z-Order = 4
 
[File 0009]
Path = "/c/home/CVI/instr/K6517/K6517-ctrl.h"
File Type = "Include"
Disk Date = 3603689754
In Projects = ""
Window Top = 33
Window Left = 10
Window Z-Order = 3
Source Window State = "1,91,91,91,17,25,25,0,0,80,0,0,0,0,0,13,85,0,91,24,193,683,1,0,"
 
[File 0010]
Path = "/c/Program Files/National Instruments/CVI2013/include/ansi/string.h"
File Type = "Include"
Disk Date = 3486528000
In Projects = ""
Window Top = 95
Window Left = 42
Window Z-Order = 16
Source Window State = "1,46,46,46,16,22,22,0,3,80,0,0,0,0,0,25,34,0,46,16,349,683,1,0,"
 
[File 0011]
Path = "/c/home/rok/arich_daq/mergertest/mergertest.c"
[File 0008]
Path = "/c/home/CVI/instr/arduino_serial/arduino_monitor.c"
File Type = "CSource"
Disk Date = 3601616667
In Projects = ""
Window Top = 33
Window Left = 10
Window Z-Order = 10
Source Window State = "1,0,0,0,0,0,0,0,0,72,0,0,0,0,0,20,0,0,0,0,284,619,1,0,"
Disk Date = 3610007125
In Projects = "3,"
Window Top = 250
Window Left = 122
Source Window State = "1,171,171,171,2,20,20,0,0,80,0,4,0,4,0,25,133,0,154,52,349,683,1,0,"
 
[File 0012]
Path = "/c/home/rok/arich_daq/mergertest/mergerjtag.uir"
File Type = "User Interface Resource"
Disk Date = 3602752185
In Projects = "2,"
Window Top = 64
Window Left = 26
Window Height = 284
Window Width = 619
Window Z-Order = 11
 
[File 0013]
Path = "/c/home/rok/arich_daq/mergertest/mergerjtag.c"
[File 0009]
Path = "/c/home/CVI/apps/TempCtrl/TempCtrl.c"
File Type = "CSource"
Disk Date = 3602752144
Disk Date = 3614665909
In Projects = "2,"
Window Top = 33
Window Left = 10
Window Z-Order = 12
Source Window State = "1,191,192,191,52,52,52,0,0,60,0,2,0,2,0,20,157,1,168,89,284,523,1,0,"
Window Top = 157
Window Left = 74
Window Z-Order = 2
Source Window State = "1,356,359,356,6,119,6,0,0,80,0,181,0,1,0,23,341,0,356,42,323,683,1,0,"
 
[File 0014]
Path = "/c/home/anze/febtest/FEBtest.c"
File Type = "CSource"
Disk Date = 3559192395
In Projects = ""
Window Top = 126
Window Left = 58
Window Z-Order = 9
Source Window State = "1,26,26,26,0,55,0,0,3,72,0,0,0,0,0,20,3,0,26,55,284,619,1,0,"
 
[File 0015]
Path = "/c/home/rok/arich_daq/sa02_daq/cvi/sa02_CVI.uir"
[File 0010]
Path = "/c/home/CVI/apps/TempCtrl/TempCtrl.uir"
File Type = "User Interface Resource"
Disk Date = 3602840620
In Projects = ""
Disk Date = 3614665758
In Projects = "2,"
Window Top = 33
Window Left = 10
Window Height = 193
Window Width = 523
Window Z-Order = 17
Window Height = 323
Window Width = 683
Window Z-Order = 6
 
[File 0016]
Path = "/c/home/rok/arich_daq/sa02_daq/cvi/sa02_CVI.c"
File Type = "CSource"
Disk Date = 3602849594
In Projects = ""
Window Top = 126
Window Left = 58
Window Z-Order = 4
Source Window State = "1,181,181,181,0,15,15,0,3,80,0,0,0,0,0,25,166,0,181,0,349,683,1,0,"
 
[File 0017]
Path = "/c/Program Files/National Instruments/CVI2013/include/userint.h"
File Type = "Include"
Disk Date = 3486528000
In Projects = ""
Window Top = 64
Window Left = 26
Window Z-Order = 8
Source Window State = "1,2415,2415,2415,12,27,27,0,3,80,0,0,0,0,0,21,2405,0,2415,12,297,683,1,0,"
 
[File 0018]
Path = "/c/home/rok/arich_daq/sa02_daq/sa02lib.c"
File Type = "CSource"
Disk Date = 3594193276
In Projects = ""
Window Top = 157
Window Left = 74
Window Z-Order = 5
Source Window State = "1,33,33,33,34,38,38,0,3,80,0,0,0,0,0,21,0,0,33,34,297,683,1,0,"
 
[Tab Order]
Tab 0001 = "/c/home/CVI/instr/PROLOGIX/prologix.c"
Tab 0002 = "/c/Program Files/National Instruments/CVI2013/include/ansi/stdio.h"
Tab 0003 = "/c/home/CVI/instr/PROLOGIX/prologix.h"
Tab 0004 = "/c/home/CVI/instr/K6517/K6517.h"
Tab 0005 = "/c/home/CVI/instr/K6517/K6517.c"
Tab 0006 = "/c/home/CVI/instr/K6517/K6517-ctrl.uir"
Tab 0007 = "/c/Program Files/National Instruments/CVI2013/include/ansi/string.h"
Tab 0008 = "/c/home/rok/arich_daq/mergertest/mergertest.c"
Tab 0009 = "/c/home/rok/arich_daq/mergertest/mergerjtag.uir"
Tab 0010 = "/c/home/rok/arich_daq/mergertest/mergerjtag.c"
Tab 0011 = "/c/home/anze/febtest/FEBtest.c"
Tab 0012 = "/c/home/rok/arich_daq/sa02_daq/cvi/sa02_CVI.uir"
Tab 0013 = "/c/home/rok/arich_daq/sa02_daq/cvi/sa02_CVI.c"
Tab 0014 = "/c/Program Files/National Instruments/CVI2013/include/userint.h"
Tab 0015 = "/c/home/rok/arich_daq/sa02_daq/sa02lib.c"
Tab 0016 = "/c/home/CVI/instr/K6517/K6517-ctrl.h"
Tab 0001 = "/c/home/CVI/apps/TempCtrl/TempCtrl.c"
Tab 0002 = "/c/home/CVI/apps/TempCtrl/TempCtrl.uir"
Tab 0003 = "/c/home/CVI/instr/K6517/K6517.c"
Tab 0004 = "/c/home/CVI/instr/K6517/K6517-ctrl.uir"
 
[Default Build Config 0001 Debug]
Generate Browse Info = True
427,3 → 339,91
Working Directory = ""
Environment Options = ""
 
[Default Build Config 0003 Debug]
Generate Browse Info = True
Enable Uninitialized Locals Runtime Warning = True
Batch Build = False
Profile = "Disabled"
Debugging Level = "Standard"
Execution Trace = "Disabled"
Command Line Args = ""
Working Directory = ""
Environment Options = ""
External Process Path = ""
 
[Default Build Config 0003 Release]
Generate Browse Info = True
Enable Uninitialized Locals Runtime Warning = True
Batch Build = False
Profile = "Disabled"
Debugging Level = "Standard"
Execution Trace = "Disabled"
Command Line Args = ""
Working Directory = ""
Environment Options = ""
External Process Path = ""
 
[Default Build Config 0003 Debug64]
Generate Browse Info = True
Enable Uninitialized Locals Runtime Warning = True
Batch Build = False
Profile = "Disabled"
Debugging Level = "Standard"
Execution Trace = "Disabled"
Command Line Args = ""
Working Directory = ""
Environment Options = ""
External Process Path = ""
 
[Default Build Config 0003 Release64]
Generate Browse Info = True
Enable Uninitialized Locals Runtime Warning = True
Batch Build = False
Profile = "Disabled"
Debugging Level = "Standard"
Execution Trace = "Disabled"
Command Line Args = ""
Working Directory = ""
Environment Options = ""
External Process Path = ""
 
[Build Dependencies 0003]
Number of Dependencies = 0
 
[Build Options 0003]
Generate Browse Info = True
Enable Uninitialized Locals Runtime Warning = True
Execution Trace = "Disabled"
Profile = "Disabled"
Debugging Level = "Standard"
Break On Library Errors = True
Break On First Chance Exceptions = False
 
[Execution Target 0003]
Execution Target Address = "Local desktop computer"
Execution Target Port = 0
Execution Target Type = 0
 
[SCC Options 0003]
Use global settings = True
SCC Provider = ""
SCC Project = ""
Local Path = ""
Auxiliary Path = ""
Perform Same Action For .h File As For .uir File = "Ask"
Perform Same Action For .cds File As For .prj File = "Ask"
Username = ""
Comment = ""
Use Default Username = False
Use Default Comment = False
Suppress CVI Error Messages = False
Always show confirmation dialog = True
 
[DLL Debugging Support 0003]
External Process Path = ""
 
[Command Line Args 0003]
Command Line Args = ""
Working Directory = ""
Environment Options = ""