static int ReadConfigFile( int item) { FILE *hFile; char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; char buffer[300]; ResetTextBox (configHandle, CONFIG_BOX, ""); GetProjectDir (dirName); switch(item) { case MENUBAR_CONFIG_CONFIGIP: MakePathname (dirName, "bbuip.txt", pathName); break; case BBUCOMMON_CONFIGCMD: MakePathname (dirName, "command.txt", pathName); break; } if (hFile = fopen(pathName, "r")) { while (fgets(buffer, (int)sizeof(buffer), hFile)) { SetCtrlVal (configHandle, CONFIG_BOX, buffer); } } else { return 0; } if(hFile) { fclose(hFile); } return 1; }
static int WriteOupputBox(int flag) { FILE *hFile; char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; char buffer[300]; ResetTextBox (outputHandle, OUTPUTVIEW_OUTPUTBOX, ""); GetProjectDir (dirName); if (0 == flag) // mean write output.txt to box { MakePathname (dirName, "output.txt", pathName); } if (1 == flag) // mean write help.txt to box { MakePathname (dirName, "help.txt", pathName); } if (hFile = fopen(pathName, "r")) { while (fgets(buffer, (int)sizeof(buffer), hFile)) { SetCtrlVal (outputHandle, OUTPUTVIEW_OUTPUTBOX, buffer); } } else { return 0; } if(hFile) { fclose(hFile); } return 1; }
void WriteLog(void) { char *buffer=""; char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; int fHandle=-1,linenumber=0,i=0,size=0; int file_size=0,file_status=0; GetProjectDir (dirName); MakePathname (dirName, "log.txt", pathName); file_status = GetFileSize (pathName, &file_size); if(-1==file_status) { fHandle = OpenFile (pathName, VAL_WRITE_ONLY, VAL_TRUNCATE, VAL_ASCII); WriteLogDateTime(fHandle); } if(0==file_status) { fHandle = OpenFile (pathName, VAL_WRITE_ONLY, VAL_APPEND, VAL_ASCII); WriteLogDateTime(fHandle); } buffer=(char*)malloc(1000); GetNumTextBoxLines (panelHandle, PANEL_TEXTBOX, &linenumber); for(i=0;i<linenumber;i++) { memset(buffer,0,1000); GetTextBoxLine (panelHandle, PANEL_TEXTBOX, i, buffer); strcat(buffer,"\n"); size=strlen(buffer); WriteFile (fHandle, buffer, size); } free(buffer); CloseFile(fHandle); }
/* 辅助函数-Log信息台-右键菜单-回调函数 */ void CVICALLBACK logBoxRightClickMenuCallback(int menuBarHandle, int menuItemID, void *callbackData, int panelHandle){ switch(menuItemID){ case 3: SYSTEMTIME localTime; char dirName[MAX_PATHNAME_LEN]; char filePath[MAX_PATHNAME_LEN]; char fileName[200]; fileName[0]='\0'; GetProjectDir(dirName); strcat(dirName, "\\Logs"); GetLocalTime(&localTime); sprintf(fileName, "Log,%04d-%d-%d,%d_%02d_%02d.txt", localTime.wYear, localTime.wMonth, localTime.wDay, localTime.wHour, localTime.wMinute, localTime.wSecond); MakePathname(dirName, fileName, filePath); FILE *fp = fopen(filePath, "w"); int len=0; GetCtrlAttribute(panelHdl, MainPanel_MainLogBox, ATTR_STRING_TEXT_LENGTH, &len); char tempLog[10000]; GetCtrlVal(panelHdl, MainPanel_MainLogBox, tempLog); fwrite(tempLog, sizeof(char), len, fp); fclose(fp); ResetTextBox(panelHdl, MainPanel_MainLogBox, "Logs have been saved!"); break; case 4: ResetTextBox(panelHdl, MainPanel_MainLogBox, ""); break; } }
void acquire_DataFileMakePath (void) { char name[300], ext[10]; Fmt (ext, "%s<%f[p3]", (double)dataFile.ext/1000); CopyBytes (ext, 0, ext, 1, 5); Fmt(name, "%s<%s%s", dataFile.name, ext); MakePathname(dataFile.dir, name, dataFile.path); }
char *readfoldername(void) { char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; char *buffer=""; GetProjectDir (dirName); MakePathname (dirName, "config.ini", pathName); inihandle = Ini_New (0); Ini_ReadFromFile (inihandle, pathName); buffer=(char*)malloc(100); memset(buffer,0,100); Ini_GetStringIntoBuffer (inihandle, "system", "download_folder_name", buffer, 100); Ini_Dispose (inihandle); return buffer; }
int CVICALLBACK CheckUptime (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: char buffer[20000]; char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; FILE *hFile; char *p = ""; int i=0; int lenth=0; char temp[20]; //char value[50]; int flag =0; int row = 0; int column = 0; int insertcolumn = 0; int confirmresult = 0; typedef struct { int x; int y; } Point; confirmresult = ConfirmPopup ("Check uptime","Do you want to check uptime now?"); if ((outputHandle = LoadPanel (0, "Remotely.uir", OUTPUTVIEW)) < 0) { SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Load check uptime panel error,please try again!\r\n"); return -1; } SetPanelAttribute (outputHandle, ATTR_TITLE, "CheckUptimeRecord"); SetCtrlAttribute (outputHandle, OUTPUTVIEW_OUTPUTBOX, ATTR_VISIBLE, 0); SetCtrlAttribute (outputHandle, OUTPUTVIEW_TABLE, ATTR_VISIBLE, 1); GetProjectDir (dirName); MakePathname (dirName, "uptime.csv", pathName); WriteLog(); ResetTextBox (panelHandle, PANEL_TEXTBOX, ""); if (hFile = fopen(pathName, "r")) { while (fgets(buffer, (int)sizeof(buffer), hFile)) { row++; InsertTableRows (outputHandle, OUTPUTVIEW_TABLE, -1, 1, VAL_CELL_STRING); column = 0; p = buffer; flag = 0; do { column++; if (insertcolumn == 0) { InsertTableColumns (outputHandle, OUTPUTVIEW_TABLE, -1, 1, VAL_CELL_STRING); } lenth = FindPattern (p, 0, -1, ",", 0, 0); // strip "," if (lenth >=0) { memset(temp,0,20); for (i=0;i<lenth;i++) { temp[i] = *p; p++; } p++; SetTableCellVal (outputHandle, OUTPUTVIEW_TABLE, MakePoint(column, row), temp); } else { lenth = FindPattern (p, 0, -1, "\n", 0, 0); // strip "\n" if (lenth >=0) // if find "\n" write last string to last column { memset(temp,0,20); for (i=0;i<lenth;i++) { temp[i] = *p; p++; } SetTableCellVal (outputHandle, OUTPUTVIEW_TABLE, MakePoint(column, row), temp); flag = -1; insertcolumn = 1; } else // if not find "\n", write all to last column { SetTableCellVal (outputHandle, OUTPUTVIEW_TABLE, MakePoint(column, row), p); flag = -1; insertcolumn = 1; } } }while( flag != -1); SetTableColumnAttribute (outputHandle, OUTPUTVIEW_TABLE, -1, ATTR_COLUMN_WIDTH, 80); memset(buffer,0,20000); } fclose(hFile); } if (confirmresult) // if user select yes to check uptime install popup { InstallPopup(outputHandle); } else // if user select no, discard panel due to load it at beginning of this function { if (outputHandle) { DiscardPanel (outputHandle); } } break; } return 0; }
static int Initial(int item, int flag) { char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; char *buffer=""; int value=0; int status=0; GetProjectDir (dirName); MakePathname (dirName, "config.ini", pathName); inihandle = Ini_New (0); status = Ini_ReadFromFile (inihandle, pathName); buffer=(char*)malloc(300); memset(buffer,0,300); if ((status)<0) { return status; } if (0 == item) // system operation { if(1 == flag) //write { GetCtrlVal (customizingHandle, CUSTOM_UPDATENAME, buffer); Ini_PutString (inihandle, "system", "update_vendor_name", buffer); Ini_WriteToFile (inihandle, pathName); } if(0 == flag) // read { Ini_GetStringIntoBuffer (inihandle, "system", "update_vendor_name", buffer, 100); SetCtrlVal (customizingHandle, CUSTOM_UPDATENAME, buffer); } } if (1 == item) // item operation { if(1 == flag) // write { status = GetCtrlVal (itemHandle, FILE_ITEM_VENDOR, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "item", "vendor", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_SCFC, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "item", "scfc", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_CONFIG, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "item", "config", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_SWCONFIG, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "item", "swconfig", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_HWF, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "item", "hwf", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_SYSINFO, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "item", "sysinfo", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_SELFDEFI, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "item", "selfdefi", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_SELFDEFIPATH, buffer); if ((status)<0) { return status; } status = Ini_PutString (inihandle, "item", "selfpath", buffer); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_SELFDEFIFILE, buffer); if ((status)<0) { return status; } status = Ini_PutString (inihandle, "item", "selffile", buffer); if ((status)<0) { return status; } status = Ini_WriteToFile (inihandle, pathName); if ((status)<0) { return status; } } if(0 == flag) // read { status = Ini_GetInt (inihandle, "item", "vendor", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_VENDOR, value); if ((status)<0) { return status; } status = Ini_GetInt (inihandle, "item", "scfc", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_SCFC, value); if ((status)<0) { return status; } status = Ini_GetInt (inihandle, "item", "config", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_CONFIG, value); if ((status)<0) { return status; } status = Ini_GetInt (inihandle, "item", "swconfig", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_SWCONFIG, value); if ((status)<0) { return status; } status = Ini_GetInt (inihandle, "item", "hwf", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_HWF, value); if ((status)<0) { return status; } status = Ini_GetInt (inihandle, "item", "sysinfo", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_SYSINFO, value); if ((status)<0) { return status; } status = Ini_GetInt (inihandle, "item", "selfdefi", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_SELFDEFI, value); if ((status)<0) { return status; } status = Ini_GetStringIntoBuffer (inihandle, "item", "selfpath", buffer, 300); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_SELFDEFIPATH, buffer); if ((status)<0) { return status; } status = Ini_GetStringIntoBuffer (inihandle, "item", "selffile", buffer, 300); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_SELFDEFIFILE, buffer); if ((status)<0) { return status; } } } if (2 == item) // filter operation { if(1==flag) { status = GetCtrlVal (itemHandle, FILE_ITEM_TECHLOGS, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "filter", "techlogs", value); if ((status)<0) { return status; } status = GetCtrlVal (itemHandle, FILE_ITEM_FILTER, buffer); if ((status)<0) { return status; } status = Ini_PutString (inihandle, "filter", "filter", buffer); if ((status)<0) { return status; } status = Ini_WriteToFile (inihandle, pathName); if ((status)<0) { return status; } } if(0==flag) { status = Ini_GetInt (inihandle, "filter", "techlogs", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_TECHLOGS, value); if ((status)<0) { return status; } status = Ini_GetStringIntoBuffer (inihandle, "filter", "filter", buffer, 300); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_FILTER, buffer); if ((status)<0) { return status; } } } if (3 == item) // search operation { if(1==flag) { status = GetCtrlVal (itemHandle, FILE_ITEM_SEARCH, &value); if ((status)<0) { return status; } status = Ini_PutInt (inihandle, "search", "search", value); if ((status)<0) { return status; } memset(buffer,0,100); status = GetCtrlVal (itemHandle, FILE_ITEM_S_FILENAME, buffer); if ((status)<0) { return status; } status = Ini_PutString (inihandle, "search", "file_name", buffer); if ((status)<0) { return status; } memset(buffer,0,100); status = GetCtrlVal (itemHandle, FILE_ITEM_S_FILEPATH, buffer); if ((status)<0) { return status; } status = Ini_PutString (inihandle, "search", "file_path", buffer); if ((status)<0) { return status; } status = Ini_WriteToFile (inihandle, pathName); if ((status)<0) { return status; } } if(0==flag) { status = Ini_GetInt (inihandle, "search", "search", &value); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_SEARCH, value); if ((status)<0) { return status; } memset(buffer,0,100); status = Ini_GetStringIntoBuffer (inihandle, "search", "file_name", buffer, 300); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_S_FILENAME, buffer); if ((status)<0) { return status; } memset(buffer,0,100); status = Ini_GetStringIntoBuffer (inihandle, "search", "file_path", buffer, 300); if ((status)<0) { return status; } status = SetCtrlVal (itemHandle, FILE_ITEM_S_FILEPATH, buffer); if ((status)<0) { return status; } } } free(buffer); Ini_Dispose (inihandle); return 1; }
static int WriteConfig(int flag) { int fHandle=-1,linenumber=0,i=0,size=0,findflag=0; char *buffer=""; char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; GetProjectDir (dirName); if(MENUBAR_CONFIG_CONFIGIP == flag) { MakePathname (dirName, "bbuip.txt", pathName); fHandle = OpenFile (pathName, VAL_WRITE_ONLY, VAL_TRUNCATE, VAL_ASCII); if(fHandle<0) { SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Open bbuip.txt file error,please check by yourself!\r\n"); return -1; } buffer=(char*)malloc(1000); GetNumTextBoxLines (configHandle, CONFIG_BOX, &linenumber); for(i=0;i<linenumber;i++) { memset(buffer,0,1000); GetTextBoxLine (configHandle, CONFIG_BOX, i, buffer); strcat(buffer,"\n"); size=strlen(buffer); if (size > 7) { WriteFile (fHandle, buffer, size); } } free(buffer); if(( CloseFile(fHandle))<0) { SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Close bbuip.txt file error,please try again!\r\n"); return -1; } GetFileSize (pathName, &size); if(size==0) { SetCtrlVal (panelHandle, PANEL_TEXTBOX, "bbuip.txt size is zero,please check and try again!\r\n"); return -1; } } if(BBUCOMMON_CONFIGCMD == flag) { MakePathname (dirName, "command.txt", pathName); fHandle = OpenFile (pathName, VAL_WRITE_ONLY, VAL_TRUNCATE, VAL_ASCII); if(fHandle<0) { SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Open command.txt file error,please check by yourself!\r\n"); return -1; } buffer=(char*)malloc(1000); GetNumTextBoxLines (configHandle, CONFIG_BOX, &linenumber); for(i=0;i<linenumber;i++) { memset(buffer,0,1000); GetTextBoxLine (configHandle, CONFIG_BOX, i, buffer); strcat(buffer,"\n"); size=strlen(buffer); WriteFile (fHandle, buffer, size); } free(buffer); if(( CloseFile(fHandle))<0) { SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Close command.txt file error,please try again!\r\n"); return -1; } GetFileSize (pathName, &size); if(size==0) { SetCtrlVal (panelHandle, PANEL_TEXTBOX, "command.txt size is zero,please check and try again!\r\n"); } } return 1; }
int CVICALLBACK DataThread (void *functionData) { char fileNameA[32]; char fileNameB[32]; char filePathA[MAX_PATHNAME_LEN]; // for data from channel A char filePathB[MAX_PATHNAME_LEN]; // for data from channel B U16 *data; FILE *outA, *outB; unsigned int numberOfElements = 0; // wait for tread lock CmtGetLock (dataThreadLock); // release the lock CmtReleaseLock (dataThreadLock); status = 3; // DataThread() is started SetCtrlVal (panelHandle, PANEL_STATUS, status); SetCtrlVal (panelHandle, PANEL_ERRORMSG, "Nice! DataThread() has been started!\n"); // get the total number of elements to write numberOfElements = rawBscanSize * rawAlineSize; // init the values dataLoop = 0; // run until button STOP pressed while (stop == 0) { // wait for event from AlazarAcquire() WaitForSingleObject (eventData, INFINITE); // remove buffer from FIFO buffer and free memory space while (FIFOBuff->f_head != FIFOBuff->f_tail) { data = FIFO_Remove (FIFOBuff); // remove buffer from FIFO queue // update counters SetCtrlAttribute (panelHandle, PANEL_TIMEVALUE, ATTR_CTRL_VAL, timerValue * 1000.0); // draw plot DeleteGraphPlot (panelHandle, PANEL_ALINEGRAPH, -1, VAL_DELAYED_DRAW); PlotY (panelHandle, PANEL_ALINEGRAPH, data + numberOfElements * channel + rawAlineSize * aLineIndex, rawAlineSize, VAL_UNSIGNED_SHORT_INTEGER, VAL_FAT_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_CYAN); // record files only if we have directory name in pathName variable if ((save == 2) || (dataLoop < alazarLoop)) { // set number of buffers which were saved SetCtrlAttribute (panelHandle, PANEL_DATALOOPS, ATTR_CTRL_VAL, dataLoop++); SetCtrlAttribute (panelHandle, PANEL_ALAZARLOOPS, ATTR_CTRL_VAL, alazarLoop); // set the name of output files and notify sprintf (fileNameA, "%09lli.mzi.raw.dat", dataLoop); sprintf (fileNameB, "%09lli.sample.raw.dat", dataLoop); MakePathname (pathName, fileNameA, filePathA); MakePathname (pathName, fileNameB, filePathB); SetCtrlAttribute (panelHandle, PANEL_DIRPATH, ATTR_CTRL_VAL, filePathB); // open output files for recording outA = fopen (filePathA, "wb"); outB = fopen (filePathB, "wb"); // error handling if ((outA == NULL) || (outB == NULL)) { SetCtrlVal (panelHandle, PANEL_ERRORMSG, "Ooops! We could not open files for recording!\n"); save = 0; SetCtrlVal (panelHandle, PANEL_SAVESWITCH, save); break; } // record buffer from channel A if (numberOfElements != fwrite (data, bytesPerSample, numberOfElements, outA)) { SetCtrlVal (panelHandle, PANEL_ERRORMSG, "Ooops! We could not write the file!\n"); save = 0; SetCtrlVal (panelHandle, PANEL_SAVESWITCH, save); fclose (outA); break; } // record buffer from channel B if (numberOfElements != fwrite (data + numberOfElements, bytesPerSample, numberOfElements, outB)) { SetCtrlVal (panelHandle, PANEL_ERRORMSG, "Ooops! We could not write the file!\n"); save = 0; SetCtrlVal (panelHandle, PANEL_SAVESWITCH, save); fclose (outB); break; } // close output files fclose (outA); fclose (outB); } free (data); // free buffer obtained from FIFO queue } } SetCtrlVal (panelHandle, PANEL_ERRORMSG, "Nice! DataThread() has been stopped!\n"); return 0; }
/* In another thread, receives data and writes them into TSQ */ int CVICALLBACK receiveDataWriteToTSQ(void *functionData){ int storeFileFlag = 0; GetCtrlVal(panelHdl, MainPanel_StoreTheData_Switch, &storeFileFlag); if(0 == dataSrc){ //read data from [device port] if(OpenComConfig(comPort, "", baudRate, parity, dataBits, stopBits, inQueueSize, outQueueSize) <0) showError("Failed to open RS232 port!"); if(storeFileFlag > 0){ if( writeFPP >0){ writeFP = fopen(writeFilePath, "a"); if(writeFP == NULL) showError("Open WriteFile Failed"); fseek(writeFP, writeFPP, SEEK_SET); }else{ SYSTEMTIME localTime; char dirName[MAX_PATHNAME_LEN]; char fileName[200]; GetProjectDir(dirName); strcat(dirName, "\\DataStorage"); GetLocalTime(&localTime); sprintf(fileName, "%04d-%d-%d,%d_%02d_%02d.dat", localTime.wYear, localTime.wMonth, localTime.wDay, localTime.wHour, localTime.wMinute, localTime.wSecond); MakePathname(dirName, fileName, writeFilePath); writeFP = fopen(writeFilePath, "a"); if(writeFP == NULL) showError("Open WriteFile Failed"); } }//if(storeFileFlag) }else if(1 == dataSrc){ //read data from [file] loadFP = fopen(loadFilePath, "r"); if(loadFP == NULL){ showError("Load File Failed"); return -1; } fseek(loadFP, loadFPP, SEEK_SET); }else{ //[simulating data] } GetCtrlVal(panelHdl, MainPanel_StoreTheData_Switch, &storeFileFlag); while(receiveFlag){ writeTSQEndFlag = 1; switch(dataSrc){ case 0: bytesRead = ComRd(comPort, readData, READ_LENGTH); if(storeFileFlag > 0) fwrite(readData, sizeof(char), READ_LENGTH, writeFP); break; case 1: Delay(fileLoadSpeed); if(!feof(loadFP)){ bytesRead = fread(readData, sizeof(char), READ_LENGTH, loadFP); }else{ receiveFlag = 0; MessagePopup("Reach The End", "All data in this file has been read !"); } break; case 2: for(int i=0; i<READ_LENGTH; i++) readData[i] = 0x80; Delay(0.1); break; }//switch() CmtWriteTSQData(tsqHdl, &readData, READ_LENGTH, TSQ_INFINITE_TIMEOUT, NULL); writeTSQEndFlag = 0; }//while() switch(dataSrc){ case 0: //CloseCom(comPort); if(storeFileFlag >0){ if(!feof(writeFP)) writeFPP = ftell(writeFP); fclose(writeFP); writeFP = NULL; } break; case 1: if(!feof(loadFP)) loadFPP = ftell(loadFP); fclose(loadFP); loadFP = NULL; break; }//switch() addLog("End-Acq", 0, panelHdl); return 0; }