void acquire_UpdatePanel(void) { int menuBar; if (expG.UpdatePanel) expG.UpdatePanel(); menuBar = GetPanelMenuBar (acqG.p.setup); SetMenuBarAttribute (menuBar, ACQMENUS_EXP_GENERAL, ATTR_DIMMED, util_TakingData()); SetMenuBarAttribute (menuBar, ACQMENUS_EXP_SOURCE, ATTR_DIMMED, util_TakingData()); SetMenuBarAttribute (menuBar, ACQMENUS_EXP_BEGIN, ATTR_DIMMED, util_TakingData()); SetMenuBarAttribute (menuBar, ACQMENUS_EXP_PAUSE, ATTR_DIMMED, !(utilG.acq.status == ACQ_BUSY)); SetMenuBarAttribute (menuBar, ACQMENUS_EXP_CONTINUE, ATTR_DIMMED, !(utilG.acq.status == ACQ_PAUSED)); SetMenuBarAttribute (menuBar, ACQMENUS_EXP_END, ATTR_DIMMED, !util_TakingData()); // SetMenuBarAttribute (menuBar, ACQMENUS_EXP_INFO, ATTR_DIMMED, !util_TakingData()); acqchanlist_Dimmed (util_TakingData()); switch (utilG.acq.status) { case ACQ_BUSY: SetCtrlVal (acqG.p.setup, ACQSETUP_STATUS, "BUSY"); break; case ACQ_STOPPED: SetCtrlVal (acqG.p.setup, ACQSETUP_STATUS, "STOPPED"); break; case ACQ_DONE: SetCtrlVal (acqG.p.setup, ACQSETUP_STATUS, "DONE"); break; case ACQ_PAUSED: SetCtrlVal (acqG.p.setup, ACQSETUP_STATUS, "PAUSED"); break; } }
static void k2400_UpdateReadings (int panel, void *dev) { gpibioPtr my_dev = dev; k2400Ptr smu = my_dev->device; acqchanPtr acqchan = smu->source->acqchan; short statusbyte; char rsp[256]; int control, dim, bg, mode, m; if (smu->operate) { if (utilG.acq.status == ACQ_BUSY) Delay(.05); if (!util_TakingData() || !(smu->source->acqchan->acquire || smu->measure->acquire)) { gpibio_GetStatusByte (dev, &statusbyte); if (statusbyte & K2400_SRE_READINGDONE) { //k2400_In (dev, rsp); //Scan (rsp, "%s>%f,%f", &smu->source->acqchan->reading, // &smu->measure->reading); } //if (statusbyte & K2400_SRE_READYFORTRIGGER) //k2400_Out (dev, "H0X", .02); } time(&present); if(difftime(present, past) >= delay) { k2400_GetReadings(acqchan); time(&past); } //if (expG.acqstatus != utilG.acq.status) { m = GetPanelMenuBar (panel); dim = (util_TakingData() && smu->source->inlist && (utilG.exp == EXP_SOURCE)); if (dim) { mode = VAL_INDICATOR; bg = VAL_PANEL_GRAY;} else { mode = VAL_HOT; bg = VAL_WHITE;} SetCtrlAttribute (panel, K2400_SOURCE, ATTR_CTRL_MODE, mode); SetCtrlAttribute (panel, K2400_SOURCE, ATTR_TEXT_BGCOLOR, bg); SetInputMode (panel, K2400_OPERATE, !dim); SetInputMode (panel, K2400_SELECT, !dim); SetInputMode (panel, K2400_SENSE, !dim); SetMenuBarAttribute (m, K2400MENUS_FILE_LOAD, ATTR_DIMMED, dim); } k2400_CheckforProblems (my_dev); SetCtrlVal (panel, K2400_OVERLIMIT, smu->overLimit); control = GetActiveCtrl (panel); if (util_TakingData() || (control != K2400_SOURCE)) SetCtrlVal (panel, K2400_SOURCE, smu->source->acqchan->reading); SetCtrlVal (panel, K2400_MEASURE, smu->measure->reading); } }
void acquire_UpdateDataFileInfo (void) { SetInputMode (acqG.p.setup, ACQSETUP_FILENAME, !util_TakingData()); SetInputMode (acqG.p.setup, ACQSETUP_FILEEXT, !util_TakingData()); SetInputMode (acqG.p.setup, ACQSETUP_SAVEAS, !util_TakingData()); SetCtrlVal (acqG.p.setup, ACQSETUP_FILENAME, dataFile.name); SetCtrlVal (acqG.p.setup, ACQSETUP_FILEEXT, dataFile.ext); acquire_DataFileMakePath(); SetCtrlVal (acqG.p.setup, ACQSETUP_FILEPATH, dataFile.path); }
int K213ControlPanelCallback(int panel, int event, void *callbackData, int eventData1, int eventData2) { gpibioPtr dev = callbackData; k213Ptr quadsrc = dev->device; int menubar, port; if ((event == EVENT_KEYPRESS && eventData1 == VAL_ESC_VKEY) || (event == EVENT_RIGHT_DOUBLE_CLICK)) { devPanel_Remove (panel); for (port = 0; port < 4; port++) { HidePanel (quadsrc->port[port].panel); } DiscardPanel (panel); dev->iPanel = 0; SetMenuBarAttribute (acquire_GetMenuBar(), dev->menuitem_id, ATTR_DIMMED, FALSE); } if (event == EVENT_GOT_FOCUS && panel == dev->iPanel) { menubar = GetPanelMenuBar (panel); SetPanelAttribute (panel, ATTR_DIMMED, (dev->status != DEV_REMOTE)); SetMenuBarAttribute (menubar, K213MENUS_FILE_SAVE, ATTR_DIMMED, (dev->status != DEV_REMOTE)); SetMenuBarAttribute (menubar, K213MENUS_FILE_LOAD, ATTR_DIMMED, (dev->status != DEV_REMOTE)); if (!util_TakingData()) k213_UpdateControls (panel, dev); } return 0; }
int K2400ControlPanelCallback(int panel, int event, void *callbackData, int eventData1, int eventData2) { gpibioPtr dev = callbackData; k2400Ptr smu = dev->device; int menubar; if ((event == EVENT_KEYPRESS && eventData1 == VAL_ESC_VKEY) || event == EVENT_RIGHT_DOUBLE_CLICK) { devPanel_Remove (panel); DiscardPanel (panel); dev->iPanel = 0; SetMenuBarAttribute (acquire_GetMenuBar(), dev->menuitem_id, ATTR_DIMMED, FALSE); } if (event == EVENT_GOT_FOCUS) { menubar = GetPanelMenuBar (panel); SetPanelAttribute (panel, ATTR_DIMMED, (dev->status != DEV_REMOTE)); SetMenuBarAttribute (menubar, K2400MENUS_FILE_SAVE, ATTR_DIMMED, (dev->status != DEV_REMOTE)); SetMenuBarAttribute (menubar, K2400MENUS_FILE_LOAD, ATTR_DIMMED, (dev->status != DEV_REMOTE)); SetMenuBarAttribute (menubar, K2400MENUS_SOURCE, ATTR_DIMMED, (dev->status != DEV_REMOTE)); SetMenuBarAttribute (menubar, K2400MENUS_MEASURE, ATTR_DIMMED, (dev->status != DEV_REMOTE)); if (!util_TakingData()) k2400_UpdateControls (panel, dev); } return 0; }
static void k213_UpdateReadings (int panel, void *dev) { gpibioPtr my_dev = dev; k213Ptr quadsrc = my_dev->device; unsigned short statusbyte; char rsp[256]; int control, dim, bg, mode, m, active_panel, port; for (port = 0; port < 4; port++) { if (!util_TakingData() || !quadsrc->port[port].src->acqchan->acquire) k213_GetPortLevel (port+1, dev); } if (expG.acqstatus != utilG.acq.status) { m = GetPanelMenuBar (panel); for (port = 0; port < 4; port++) { dim = (util_TakingData() && quadsrc->port[port].src->inlist && (utilG.exp == EXP_SOURCE)); if (dim) { mode = VAL_INDICATOR; bg = VAL_PANEL_GRAY;} else { mode = VAL_HOT; bg = VAL_WHITE;} SetCtrlAttribute (quadsrc->port[port].panel, K213PORT_DISPLAY, ATTR_CTRL_MODE, mode); SetCtrlAttribute (quadsrc->port[port].panel, K213PORT_DISPLAY, ATTR_TEXT_BGCOLOR, bg); SetInputMode (quadsrc->port[port].panel, K213PORT_AUTORANGE, !dim); SetInputMode (quadsrc->port[port].panel, K213PORT_RANGE, !dim); } SetMenuBarAttribute (m, K213MENUS_FILE_LOAD, ATTR_DIMMED, dim); } k213_CheckforProblems (my_dev); active_panel = GetActivePanel(); control = GetActiveCtrl (active_panel); for (port = 0; port < 4; port++) { if (util_TakingData() || (control != K213PORT_DISPLAY)) SetCtrlVal (quadsrc->port[port].panel, K213PORT_DISPLAY, quadsrc->port[port].src->acqchan->reading); } }
void K2400MeasureSetupCallback(int menubar, int menuItem, void *callbackData, int panel) { int p; acqchanPtr measure = callbackData; p = LoadPanel (0, "k2400u.uir", K2400_MEAS); SetPanelPos (p, VAL_AUTO_CENTER, VAL_AUTO_CENTER); util_InitClose (p, K2400_MEAS_CLOSE, FALSE); SetCtrlVal (p, K2400_MEAS_LABEL, measure->channel->label); SetCtrlVal (p, K2400_MEAS_COEFF, measure->coeff); SetCtrlVal (p, K2400_MEAS_ACQ, measure->acquire); SetCtrlVal (p, K2400_MEAS_NOTE, measure->note); SetCtrlAttribute(p, K2400_MEAS_LABEL, ATTR_CALLBACK_DATA, measure); SetCtrlAttribute(p, K2400_MEAS_COEFF, ATTR_CALLBACK_DATA, measure); SetCtrlAttribute(p, K2400_MEAS_ACQ, ATTR_CALLBACK_DATA, measure); SetCtrlAttribute(p, K2400_MEAS_NOTE, ATTR_CALLBACK_DATA, measure); SetInputMode (p, K2400_MEAS_ACQ, !util_TakingData()); devPanel_Add (p, measure, k2400_Meas_UpdateReadings); InstallPopup (p); }
void exp_UpdateGeneralPanel (void) { SetInputMode (acqG.p.setup, ACQSETUP_GEN_POINTS, !util_TakingData()); }