/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 = "" |