#include #include #include #include "ScanControlUir.h" #include "fillUirControls.h" #include "processor.h" //#include "memoryPartitions.h" #include "primParams.h" #include "primFunc_startTask.h" #include "globalDefinitions.h" #include "fileUtility.h" #include "uirUtility.h" #include #include "setHistoPanel.h" void histoCreateInit(struct GLOBAL_VARIABLES *global); #if defined(SCT_ROD) #include "ABCDChip.h" #include "ABCDScans.h" #elif defined(PIXEL_ROD) #endif /****************************************************************************** * Macros * ******************************************************************************/ #define TMP_FILE "tmp_histofile.bin" int getUIR( struct HISTOGRAM_CTRL_TASK_IN_PARAMS *histoInParams); void CVICALLBACK menu (int menuBar, int menuItem, void *callbackData, int panel) { HidePanel(global.panel.histoCreator); } int CVICALLBACK load (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { struct HISTOGRAM_CTRL_TASK_IN_PARAMS histoInParams; char fileName[PATHNAME_LENGTH]; int status; unsigned int fileSize; switch (event) { case EVENT_COMMIT: sprintf(fileName, ""); status=FileSelectPopup(global.histoDir, "*.hst","*.hst","Pick file", VAL_SELECT_BUTTON,0,0,1,1, fileName); if (status == VAL_NO_FILE_SELECTED) return 0; getFileSize(fileName, &fileSize); if(fileSize != sizeof(struct HISTOGRAM_CTRL_TASK_IN_PARAMS)) { MessagePopup("File Size", "File size doesn't match\nusing smaller one"); fileSize = (fileSize < sizeof(struct HISTOGRAM_CTRL_TASK_IN_PARAMS)) ? fileSize : sizeof(struct HISTOGRAM_CTRL_TASK_IN_PARAMS); } readFromBinFile(fileName, &histoInParams, fileSize); setUIR(&histoInParams); break; } return 0; } int CVICALLBACK save (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { struct HISTOGRAM_CTRL_TASK_IN_PARAMS histoInParams; unsigned int fileSize; char fileName[PATHNAME_LENGTH]; int status; switch (event) { case EVENT_COMMIT: getUIR(&histoInParams); #ifdef COMMENTED if( (histoInParams.primParams.useRangeList == 0) && (histoInParams.default1 == 1) ) { getFileSize(histoInParams.inputFile1, &fileSize); if (fileSize/sizeof(UINT32) != histoInParams.primParams.nBins ) { MessagePopup("nBins", "Length of file1 is not equal to nBins!!"); printf("file: %d, nbins: %d\n", fileSize, histoInParams.primParams.nBins); } getFileSize(histoInParams.inputFile2, &fileSize); if (fileSize/sizeof(UINT32) != histoInParams.primParams.nBins ) { MessagePopup("nBins", "Length of file2 is not equal to nBins!!"); printf("file: %d, nbins: %d\n", fileSize, histoInParams.primParams.nBins); } } #endif sprintf(fileName, ""); status=FileSelectPopup(global.histoDir, "*.hst","*.hst","Pick file", VAL_SAVE_BUTTON,0,0,1,1, fileName); if (status == VAL_NO_FILE_SELECTED) return 0; writeToBinFile(fileName, 0, &histoInParams, sizeof(struct HISTOGRAM_CTRL_TASK_IN_PARAMS)); break; } return 0; } int CVICALLBACK extView (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { struct HISTOGRAM_CTRL_TASK_IN_PARAMS histoInParams; static char viewFile[PATHNAME_LENGTH]; char fileName[PATHNAME_LENGTH]; ERROR_ID errorId; switch (event) { case EVENT_COMMIT: strcpy(fileName, global.mainDir); strcat(fileName, TEMPORARY_DATA_SUBDIR); strcat(fileName, TMP_FILE); getUIR(&histoInParams); writeToBinFile(fileName, 0, &histoInParams, sizeof(struct HISTOGRAM_CTRL_TASK_IN_PARAMS)); errorId=viewBinFile(fileName); ERROR_CHECK(errorId, viewBinFile()); break; } return 0; } void histoCreateInit(struct GLOBAL_VARIABLES *global) { int panel; int status= 0; LOAD_PANEL(&global->panel.histoCreator,0, "HistoCreator.uir", HISTOC); panel=global->panel.histoCreator; fillModuleCmdRing(panel, HISTOC_SERIAL_CMD0_0, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD0_1, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD0_2, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD0_3, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD0_4, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD0_5, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD1_0, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD1_1, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD1_2, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD1_3, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD1_4, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_SERIAL_CMD1_5, 0, 1, 0, 0); fillModuleCmdRing(panel, HISTOC_GEN_SCAN_PARAM_0, 0, 0, 1, 1); fillModuleCmdRing(panel, HISTOC_GEN_SCAN_PARAM_1, 0, 0, 1, 1); } int getUIR( struct HISTOGRAM_CTRL_TASK_IN_PARAMS *histoInParams) { int slave, number; UINT16 unsignedShort; int panelHandle=global.panel.histoCreator; memset(histoInParams, 0, sizeof(struct HISTOGRAM_CTRL_TASK_IN_PARAMS)); histoInParams->primParams.scanControl.dspDist.slvBits=0; GetCtrlVal(panelHandle, HISTOC_DIST_SLV0, &slave); if(slave) SET_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 0); GetCtrlVal(panelHandle, HISTOC_DIST_SLV1, &slave); if(slave) SET_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 1); GetCtrlVal(panelHandle, HISTOC_DIST_SLV2, &slave); if(slave) SET_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 2); GetCtrlVal(panelHandle, HISTOC_DIST_SLV3, &slave); if(slave) SET_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 3); #ifdef COMMENTED GetCtrlVal(panelHandle, HISTOC_CONFIG_SCT_SET, &histoInParams->primParams.configSctSet); GetCtrlVal(panelHandle, HISTOC_CONFIG_REGISTER1, &histoInParams->primParams.configRegister[0]); GetCtrlVal(panelHandle, HISTOC_CONFIG_REGISTER2, &histoInParams->primParams.configRegister[1]); GetCtrlVal(panelHandle, HISTOC_DATA_SET, &histoInParams->primParams.dataSet); GetCtrlVal(panelHandle, HISTOC_USE_RANGE_LIST, &histoInParams->primParams.useRangeList); GetTableCellRangeVals (panelHandle, HISTOC_MODULE_GROUP, MakeRect(1, 1, 2, 1), histoInParams->primParams.groupRangeMap, VAL_COLUMN_MAJOR); if(histoInParams->primParams.useRangeList) { GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 1), &histoInParams->primParams.rangeList[0].xPair[0].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 2), &histoInParams->primParams.rangeList[0].xPair[1].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 3), &histoInParams->primParams.rangeList[0].xPair[2].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 4), &histoInParams->primParams.rangeList[0].xPair[3].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 5), &histoInParams->primParams.rangeList[0].xPair[4].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 1), &histoInParams->primParams.rangeList[0].xPair[0].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 2), &histoInParams->primParams.rangeList[0].xPair[1].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 3), &histoInParams->primParams.rangeList[0].xPair[2].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 4), &histoInParams->primParams.rangeList[0].xPair[3].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 5), &histoInParams->primParams.rangeList[0].xPair[4].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 1), &histoInParams->primParams.rangeList[1].xPair[0].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 2), &histoInParams->primParams.rangeList[1].xPair[1].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 3), &histoInParams->primParams.rangeList[1].xPair[2].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 4), &histoInParams->primParams.rangeList[1].xPair[3].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 5), &histoInParams->primParams.rangeList[1].xPair[4].x0); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 1), &histoInParams->primParams.rangeList[1].xPair[0].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 2), &histoInParams->primParams.rangeList[1].xPair[1].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 3), &histoInParams->primParams.rangeList[1].xPair[2].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 4), &histoInParams->primParams.rangeList[1].xPair[3].delta_x); GetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 5), &histoInParams->primParams.rangeList[1].xPair[4].delta_x); histoInParams->primParams.dataPtr[0] = 0; histoInParams->primParams.dataPtr[1] = 0; histoInParams->inputFile1[0] = 0; histoInParams->inputFile2[0] = 0; histoInParams->default1 = 0; // histoInParams->default2 = 0; } else { GetCtrlVal(panelHandle, HISTOC_DATA_PTR_1, (UINT32 *) &histoInParams->primParams.dataPtr[0]); GetCtrlVal(panelHandle, HISTOC_DATA_PTR_2, (UINT32 *) &histoInParams->primParams.dataPtr[1]); GetCtrlVal(panelHandle, HISTOC_DEFAULT_1, &histoInParams->default1); // GetCtrlVal(panelHandle, HISTOC_DEFAULT_2, &histoInParams->default2); GetCtrlVal(panelHandle, HISTOC_INP_FILE_1, histoInParams->inputFile1); GetCtrlVal(panelHandle, HISTOC_INP_FILE_2, histoInParams->inputFile2); memset(histoInParams->primParams.rangeList, 0, 20*sizeof(FLOAT32)); } GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_0, &histoInParams->primParams.triggerSequence[0].cmd[0]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_1, &histoInParams->primParams.triggerSequence[0].cmd[1]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_2, &histoInParams->primParams.triggerSequence[0].cmd[2]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_3, &histoInParams->primParams.triggerSequence[0].cmd[3]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_4, &histoInParams->primParams.triggerSequence[0].cmd[4]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_5, &histoInParams->primParams.triggerSequence[0].cmd[5]); GetCtrlVal(panelHandle, HISTOC_DATA0_0, &histoInParams->primParams.triggerSequence[0].data[0]); GetCtrlVal(panelHandle, HISTOC_DATA0_1, &histoInParams->primParams.triggerSequence[0].data[1]); GetCtrlVal(panelHandle, HISTOC_DATA0_2, &histoInParams->primParams.triggerSequence[0].data[2]); GetCtrlVal(panelHandle, HISTOC_DATA0_3, &histoInParams->primParams.triggerSequence[0].data[3]); GetCtrlVal(panelHandle, HISTOC_DATA0_4, &histoInParams->primParams.triggerSequence[0].data[4]); GetCtrlVal(panelHandle, HISTOC_DATA0_5, &histoInParams->primParams.triggerSequence[0].data[5]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_0, &histoInParams->primParams.triggerSequence[1].cmd[0]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_1, &histoInParams->primParams.triggerSequence[1].cmd[1]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_2, &histoInParams->primParams.triggerSequence[1].cmd[2]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_3, &histoInParams->primParams.triggerSequence[1].cmd[3]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_4, &histoInParams->primParams.triggerSequence[1].cmd[4]); GetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_5, &histoInParams->primParams.triggerSequence[1].cmd[5]); GetCtrlVal(panelHandle, HISTOC_DATA1_0, &histoInParams->primParams.triggerSequence[1].data[0]); GetCtrlVal(panelHandle, HISTOC_DATA1_1, &histoInParams->primParams.triggerSequence[1].data[1]); GetCtrlVal(panelHandle, HISTOC_DATA1_2, &histoInParams->primParams.triggerSequence[1].data[2]); GetCtrlVal(panelHandle, HISTOC_DATA1_3, &histoInParams->primParams.triggerSequence[1].data[3]); GetCtrlVal(panelHandle, HISTOC_DATA1_4, &histoInParams->primParams.triggerSequence[1].data[4]); GetCtrlVal(panelHandle, HISTOC_DATA1_5, &histoInParams->primParams.triggerSequence[1].data[5]); GetCtrlVal(panelHandle, HISTOC_PORT, &unsignedShort); histoInParams->primParams.port = unsignedShort; GetCtrlVal(panelHandle, HISTOC_REP, &histoInParams->primParams.repetitions); GetCtrlVal(panelHandle, HISTOC_NBINS, &histoInParams->primParams.nBins); GetCtrlVal(panelHandle, HISTOC_BIN0, &histoInParams->primParams.bin0); GetCtrlVal(panelHandle, HISTOC_CINCR0, &histoInParams->primParams.incCmd[0]); GetCtrlVal(panelHandle, HISTOC_CINCR1, &histoInParams->primParams.incCmd[1]); GetCtrlVal(panelHandle, HISTOC_DINCR0, &histoInParams->primParams.incData[0]); GetCtrlVal(panelHandle, HISTOC_DINCR1, &histoInParams->primParams.incData[1]); GetCtrlVal(panelHandle, HISTOC_CALL_LINE_LOOP, &number); histoInParams->primParams.calLineLoop = number; /* GetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(1, 1, 1, 2), histoInParams->primParams.groupSerialPort[0], VAL_ROW_MAJOR); GetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(2, 1, 1, 2), histoInParams->primParams.groupSerialPort[1], VAL_ROW_MAJOR); GetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(3, 1, 1, 2), histoInParams->primParams.groupSerialPort[2], VAL_ROW_MAJOR); GetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(4, 1, 1, 2), histoInParams->primParams.groupSerialPort[3], VAL_ROW_MAJOR); */ GetTableCellRangeVals (panelHandle, HISTOC_MODULE_GROUP_2, MakeRect(1, 1, 2, 1), histoInParams->primParams.groupSPMap, VAL_COLUMN_MAJOR); GetTableCellRangeVals (panelHandle, HISTOC_MODULE_GROUP_3, MakeRect(1, 1, 4, 1), histoInParams->primParams.groupDSPMap, VAL_COLUMN_MAJOR); GetCtrlVal(panelHandle, HISTOC_DISTR_TOGGLE, &histoInParams->primParams.distributionToggle); //GetTableCellRangeVals (panelHandle, HISTOC_GEN_DATA, MakeRect(1, 1, 10, 10), histoInParams->primParams.genData, VAL_COLUMN_MAJOR); GetCtrlVal(panelHandle, HISTOC_GLBL_CTRL, &histoInParams->primParams.globalCtrl); GetCtrlVal(panelHandle, HISTOC_SYNC_LVL, &histoInParams->primParams.syncLevel); GetCtrlVal(panelHandle, HISTOC_HISTO_BASE, (UINT32 *) &histoInParams->primParams.histoBase); GetCtrlVal(panelHandle, HISTOC_EXT_SETUP, &histoInParams->primParams.extSetup); GetCtrlVal(panelHandle, HISTOC_DATA_PATH, &histoInParams->primParams.dataPath); GetCtrlVal(panelHandle, HISTOC_CAPTURE, &number); histoInParams->primParams.capture = number; //GetCtrlVal(panelHandle, HISTOC_ARRANGEMENT, &histoInParams->primParams.arrangement); GetCtrlVal(panelHandle, HISTOC_DATA_FORMAT, &histoInParams->primParams.dataFormat); GetCtrlVal(panelHandle, HISTOC_BIN_SIZE, &histoInParams->primParams.binSize); GetTableCellRangeVals (panelHandle, HISTOC_GEN_DATA, MakeRect(1, 1, 1, 10), histoInParams->primParams.genData, VAL_ROW_MAJOR); #endif return 0; } int setUIR( struct HISTOGRAM_CTRL_TASK_IN_PARAMS *histoInParams) { int panelHandle=global.panel.histoCreator; SetCtrlVal(panelHandle, HISTOC_DIST_SLV0, READ_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 0)); SetCtrlVal(panelHandle, HISTOC_DIST_SLV1, READ_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 1)); SetCtrlVal(panelHandle, HISTOC_DIST_SLV2, READ_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 2)); SetCtrlVal(panelHandle, HISTOC_DIST_SLV3, READ_BIT(histoInParams->primParams.scanControl.dspDist.slvBits, 3)); #ifdef COMMENTED SetCtrlVal(panelHandle, HISTOC_CONFIG_SCT_SET, histoInParams->primParams.configSctSet); SetCtrlVal(panelHandle, HISTOC_CONFIG_REGISTER1, histoInParams->primParams.configRegister[0]); SetCtrlVal(panelHandle, HISTOC_CONFIG_REGISTER2, histoInParams->primParams.configRegister[1]); SetCtrlVal(panelHandle, HISTOC_DATA_SET, histoInParams->primParams.dataSet); SetCtrlVal(panelHandle, HISTOC_USE_RANGE_LIST, histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_TABLE_1, histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_TABLE_2, histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_TEXTMSG, !histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_DATA_PTR_1, !histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_DATA_PTR_2, !histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_DEFAULT_1, !histoInParams->primParams.useRangeList); // SetInputMode(panelHandle, HISTOC_DEFAULT_2, !histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_INP_FILE_1, !histoInParams->primParams.useRangeList); SetInputMode(panelHandle, HISTOC_INP_FILE_2, !histoInParams->primParams.useRangeList); if(histoInParams->primParams.useRangeList) { SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 1), histoInParams->primParams.rangeList[0].xPair[0].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 2), histoInParams->primParams.rangeList[0].xPair[1].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 3), histoInParams->primParams.rangeList[0].xPair[2].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 4), histoInParams->primParams.rangeList[0].xPair[3].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(1, 5), histoInParams->primParams.rangeList[0].xPair[4].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 1), histoInParams->primParams.rangeList[0].xPair[0].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 2), histoInParams->primParams.rangeList[0].xPair[1].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 3), histoInParams->primParams.rangeList[0].xPair[2].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 4), histoInParams->primParams.rangeList[0].xPair[3].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_1, MakePoint(2, 5), histoInParams->primParams.rangeList[0].xPair[4].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 1), histoInParams->primParams.rangeList[1].xPair[0].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 2), histoInParams->primParams.rangeList[1].xPair[1].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 3), histoInParams->primParams.rangeList[1].xPair[2].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 4), histoInParams->primParams.rangeList[1].xPair[3].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(1, 5), histoInParams->primParams.rangeList[1].xPair[4].x0); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 1), histoInParams->primParams.rangeList[1].xPair[0].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 2), histoInParams->primParams.rangeList[1].xPair[1].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 3), histoInParams->primParams.rangeList[1].xPair[2].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 4), histoInParams->primParams.rangeList[1].xPair[3].delta_x); SetTableCellVal (panelHandle, HISTOC_TABLE_2, MakePoint(2, 5), histoInParams->primParams.rangeList[1].xPair[4].delta_x); } else { if(histoInParams->default1) { SetInputMode(panelHandle, HISTOC_INP_FILE_1, 1); SetCtrlVal(panelHandle, HISTOC_INP_FILE_1, histoInParams->inputFile1); SetInputMode(panelHandle, HISTOC_INP_FILE_2, 1); SetCtrlVal(panelHandle, HISTOC_INP_FILE_2, histoInParams->inputFile2); SetCtrlVal(panelHandle, HISTOC_DEFAULT_1, 1); SetCtrlVal(panelHandle, HISTOC_DATA_PTR_1, DEFAULT); SetCtrlAttribute(panelHandle, HISTOC_DATA_PTR_1, ATTR_CTRL_MODE, VAL_INDICATOR); SetCtrlVal(panelHandle, HISTOC_DATA_PTR_2, DEFAULT); SetCtrlAttribute(panelHandle, HISTOC_DATA_PTR_2, ATTR_CTRL_MODE, VAL_INDICATOR); } else { SetInputMode(panelHandle, HISTOC_INP_FILE_1, 0); SetInputMode(panelHandle, HISTOC_INP_FILE_2, 0); SetCtrlAttribute(panelHandle, HISTOC_DATA_PTR_1, ATTR_CTRL_MODE, VAL_HOT); SetCtrlAttribute(panelHandle, HISTOC_DATA_PTR_2, ATTR_CTRL_MODE, VAL_HOT); SetCtrlVal(panelHandle, HISTOC_DATA_PTR_1, (unsigned int) histoInParams->primParams.dataPtr[0]); SetCtrlVal(panelHandle, HISTOC_DATA_PTR_2, (unsigned int) histoInParams->primParams.dataPtr[1]); SetCtrlVal(panelHandle, HISTOC_DEFAULT_1, 0); } } SetTableCellRangeVals (panelHandle, HISTOC_MODULE_GROUP, MakeRect(1, 1, 2, 1), histoInParams->primParams.groupRangeMap, VAL_COLUMN_MAJOR); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_0, histoInParams->primParams.triggerSequence[0].cmd[0]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_1, histoInParams->primParams.triggerSequence[0].cmd[1]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_2, histoInParams->primParams.triggerSequence[0].cmd[2]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_3, histoInParams->primParams.triggerSequence[0].cmd[3]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_4, histoInParams->primParams.triggerSequence[0].cmd[4]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD0_5, histoInParams->primParams.triggerSequence[0].cmd[5]); SetCtrlVal(panelHandle, HISTOC_DATA0_0, histoInParams->primParams.triggerSequence[0].data[0]); SetCtrlVal(panelHandle, HISTOC_DATA0_1, histoInParams->primParams.triggerSequence[0].data[1]); SetCtrlVal(panelHandle, HISTOC_DATA0_2, histoInParams->primParams.triggerSequence[0].data[2]); SetCtrlVal(panelHandle, HISTOC_DATA0_3, histoInParams->primParams.triggerSequence[0].data[3]); SetCtrlVal(panelHandle, HISTOC_DATA0_4, histoInParams->primParams.triggerSequence[0].data[4]); SetCtrlVal(panelHandle, HISTOC_DATA0_5, histoInParams->primParams.triggerSequence[0].data[5]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_0, histoInParams->primParams.triggerSequence[1].cmd[0]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_1, histoInParams->primParams.triggerSequence[1].cmd[1]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_2, histoInParams->primParams.triggerSequence[1].cmd[2]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_3, histoInParams->primParams.triggerSequence[1].cmd[3]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_4, histoInParams->primParams.triggerSequence[1].cmd[4]); SetCtrlVal(panelHandle, HISTOC_SERIAL_CMD1_5, histoInParams->primParams.triggerSequence[1].cmd[5]); SetCtrlVal(panelHandle, HISTOC_DATA1_0, histoInParams->primParams.triggerSequence[1].data[0]); SetCtrlVal(panelHandle, HISTOC_DATA1_1, histoInParams->primParams.triggerSequence[1].data[1]); SetCtrlVal(panelHandle, HISTOC_DATA1_2, histoInParams->primParams.triggerSequence[1].data[2]); SetCtrlVal(panelHandle, HISTOC_DATA1_3, histoInParams->primParams.triggerSequence[1].data[3]); SetCtrlVal(panelHandle, HISTOC_DATA1_4, histoInParams->primParams.triggerSequence[1].data[4]); SetCtrlVal(panelHandle, HISTOC_DATA1_5, histoInParams->primParams.triggerSequence[1].data[5]); SetCtrlVal(panelHandle, HISTOC_PORT, histoInParams->primParams.port); SetCtrlVal(panelHandle, HISTOC_REP, histoInParams->primParams.repetitions); SetCtrlVal(panelHandle, HISTOC_NBINS, histoInParams->primParams.nBins); SetCtrlVal(panelHandle, HISTOC_BIN0, histoInParams->primParams.bin0); SetCtrlVal(panelHandle, HISTOC_CINCR0, histoInParams->primParams.incCmd[0]); SetCtrlVal(panelHandle, HISTOC_CINCR1, histoInParams->primParams.incCmd[1]); SetCtrlVal(panelHandle, HISTOC_DINCR0, histoInParams->primParams.incData[0]); SetCtrlVal(panelHandle, HISTOC_DINCR1, histoInParams->primParams.incData[1]); SetCtrlVal(panelHandle, HISTOC_CALL_LINE_LOOP, (int) histoInParams->primParams.calLineLoop); /* SetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(1, 1, 1, 2), histoInParams->primParams.groupSerialPort[0], VAL_ROW_MAJOR); SetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(2, 1, 1, 2), histoInParams->primParams.groupSerialPort[1], VAL_ROW_MAJOR); SetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(3, 1, 1, 2), histoInParams->primParams.groupSerialPort[2], VAL_ROW_MAJOR); SetTableCellRangeVals (panelHandle, HISTOC_GROUP_SERIAL_PORT, MakeRect(4, 1, 1, 2), histoInParams->primParams.groupSerialPort[3], VAL_ROW_MAJOR); */ SetTableCellRangeVals (panelHandle, HISTOC_MODULE_GROUP_2, MakeRect(1, 1, 2, 1), histoInParams->primParams.groupSPMap, VAL_COLUMN_MAJOR); SetTableCellRangeVals (panelHandle, HISTOC_MODULE_GROUP_3, MakeRect(1, 1, 4, 1), histoInParams->primParams.groupDSPMap, VAL_COLUMN_MAJOR); SetCtrlVal(panelHandle, HISTOC_DISTR_TOGGLE, histoInParams->primParams.distributionToggle); // SetTableCellRangeVals (panelHandle, HISTOC_GEN_DATA, MakeRect(1, 1, 10, 10), histoInParams->primParams.genData, VAL_COLUMN_MAJOR); SetCtrlVal(panelHandle, HISTOC_GLBL_CTRL, histoInParams->primParams.globalCtrl); SetCtrlVal(panelHandle, HISTOC_SYNC_LVL, histoInParams->primParams.syncLevel); SetCtrlVal(panelHandle, HISTOC_HISTO_BASE, (UINT32) histoInParams->primParams.histoBase); SetCtrlVal(panelHandle, HISTOC_EXT_SETUP, histoInParams->primParams.extSetup); SetCtrlVal(panelHandle, HISTOC_DATA_PATH, histoInParams->primParams.dataPath); SetCtrlVal(panelHandle, HISTOC_CAPTURE, histoInParams->primParams.capture); //SetCtrlVal(panelHandle, HISTOC_ARRANGEMENT, histoInParams->primParams.arrangement); SetCtrlVal(panelHandle, HISTOC_DATA_FORMAT, histoInParams->primParams.dataFormat); SetCtrlVal(panelHandle, HISTOC_BIN_SIZE, histoInParams->primParams.binSize); SetTableCellRangeVals (panelHandle, HISTOC_GEN_DATA, MakeRect(1, 1, 1, 10), histoInParams->primParams.genData, VAL_ROW_MAJOR); #endif return 0; } int CVICALLBACK histoCreate (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { UINT8 rangeList; UINT32 value, value2, status; char fileName1[PATHNAME_LENGTH], fileName2[PATHNAME_LENGTH]; #ifdef COMMENTED switch (event) { case EVENT_VAL_CHANGED: switch (control) { case HISTOC_USE_RANGE_LIST: GetCtrlVal(panel, control, &rangeList); SetInputMode(panel, HISTOC_TABLE_1, rangeList); SetInputMode(panel, HISTOC_TABLE_2, rangeList); // SetInputMode(panel, HISTOC_MODULE_GROUP, rangeList); SetInputMode(panel, HISTOC_TEXTMSG, !rangeList); SetInputMode(panel, HISTOC_DATA_PTR_1, !rangeList); SetInputMode(panel, HISTOC_DATA_PTR_2, !rangeList); SetInputMode(panel, HISTOC_DEFAULT_1, !rangeList); // SetInputMode(panel, HISTOC_DEFAULT_2, !rangeList); if (rangeList) { SetInputMode(panel, HISTOC_INP_FILE_1, 0); SetInputMode(panel, HISTOC_INP_FILE_2, 0); } else { GetCtrlVal(panel, HISTOC_DEFAULT_1, &value); SetInputMode(panel, HISTOC_INP_FILE_1, value); SetInputMode(panel, HISTOC_INP_FILE_2, value); } break; case HISTOC_DEFAULT_1: GetCtrlVal (panel, control, &value); if(value) { status = SetCtrlAttribute(panel, HISTOC_DATA_PTR_1, ATTR_CTRL_MODE, VAL_INDICATOR); status = SetCtrlAttribute(panel, HISTOC_DATA_PTR_2, ATTR_CTRL_MODE, VAL_INDICATOR); status = SetCtrlVal(panel, HISTOC_DATA_PTR_1, DEFAULT); status = SetCtrlVal(panel, HISTOC_DATA_PTR_2, DEFAULT); status = SetInputMode(panel, HISTOC_INP_FILE_1, 1); status = SetInputMode(panel, HISTOC_INP_FILE_2, 1); status = GetCtrlVal(panel, HISTOC_INP_FILE_1, fileName1); status=FileSelectPopup(global.histoDir, "*.bin","*.bin","Pick file 1", VAL_SELECT_BUTTON,0,0,1,1, fileName1); if( (status != VAL_EXISTING_FILE_SELECTED) && (fileName1[0] == 0x0 ) ) { return(1); } SetCtrlVal(panel, HISTOC_INP_FILE_1, fileName1); status = GetCtrlVal(panel, HISTOC_INP_FILE_2, fileName2); status=FileSelectPopup(global.histoDir, "*.bin","*.bin","Pick file 2", VAL_SELECT_BUTTON,0,0,1,1, fileName2); if( (status != VAL_EXISTING_FILE_SELECTED) && (fileName2[0] == 0x0 ) ) { return(1); } SetCtrlVal(panel, HISTOC_INP_FILE_2, fileName2); } else { status = SetCtrlAttribute(panel, HISTOC_DATA_PTR_1, ATTR_CTRL_MODE, VAL_HOT); status = SetCtrlAttribute(panel, HISTOC_DATA_PTR_2, ATTR_CTRL_MODE, VAL_HOT); status = SetInputMode(panel, HISTOC_DATA_PTR_1, 1); status = SetInputMode(panel, HISTOC_DATA_PTR_2, 1); status = SetCtrlVal(panel, HISTOC_DATA_PTR_1, 0); status = SetCtrlVal(panel, HISTOC_DATA_PTR_2, 0); status = SetInputMode(panel, HISTOC_INP_FILE_1, 0); status = SetInputMode(panel, HISTOC_INP_FILE_2, 0); } break; default: break; } break; case EVENT_LEFT_CLICK: switch (control) { case HISTOC_INP_FILE_1: status=FileSelectPopup(global.histoDir, "*.bin","*.bin","Pick file", VAL_SELECT_BUTTON,0,0,1,1, fileName1); if(status != VAL_EXISTING_FILE_SELECTED) { return(1); } SetCtrlVal(panel, HISTOC_INP_FILE_1, fileName1); break; case HISTOC_INP_FILE_2: status=FileSelectPopup(global.histoDir, "*.bin","*.bin","Pick file", VAL_SELECT_BUTTON,0,0,1,1, fileName2); if(status != VAL_EXISTING_FILE_SELECTED) { return(1); } SetCtrlVal(panel, HISTOC_INP_FILE_2, fileName2); break; default: break; } default: break; } #endif return 0; }