/* ************************************************************** */ /* * Module SR830UI * This module contains functions for the IOtech SR830 * user interface. * * Zachary Wolf * 8/25/04 */ /* ************************************************************** */ /* INCLUDES */ #include #include #include /* Needed if linking in external compiler; harmless otherwise */ #include #include "sr830uir.h" #include "sr830ui.h" #include "sr830.h" /* ************************************************************** */ /* PRIVATE VARIABLES */ static int sr830_ID; static int sr830_panel; /* ************************************************************** */ /* PRIVATE FUNCTION DECLARATIONSS */ void sr830ui_error(char* msg); /* ************************************************************** */ /* PUBLIC FUNCTIONS */ /* ************************************************************** */ /* * sr830ui_init * This function initializes the user interface for the SR830. * * Input: * ID, SR830 device identifier * * Zachary Wolf * 8/25/04 */ void sr830ui_init(int ID) { /* Save the DAC ID */ sr830_ID = ID; /* Open the SR830 panel */ sr830_panel = LoadPanel(0, "sr830uir.uir", LIAPANEL); if (sr830_panel < 0) { sr830ui_error("Could not open user interface panel"); return; } /* Display the panel when the user interface runs */ DisplayPanel(sr830_panel); /* Done */ return; } /* ************************************************************** */ /* PRIVATE FUNCTIONS */ /* ************************************************************** */ /* * sr830ui_error * This function handles error messages for the SR830 user interface. * * Input: * message, string to display in standard I/O * * Zachary Wolf * 8/25/04 */ void sr830ui_error(char* message) { /* Declare variables */ char buf[SR830_MAX_CMD]; /* Notify the operator of the error */ printf("\nSR830UI ERROR: %s\n", message); Beep(); Delay(.5); Beep(); /* Terminate the program if the operator desires */ printf("Press ENTER to continue.\nPress any key then ENTER to terminate program.\n"); fgets(buf, SR830_MAX_CMD, stdin); if (buf[0] == '\n') return; else exit(0); } /* ************************************************************** */ /* PRIVATE USER INTERFACE FUNCTIONS */ /* ************************************************************** */ int CVICALLBACK sr830ui_automeasure(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: sr830_automeasure(sr830_ID); break; case EVENT_RIGHT_CLICK: break; } return 0; } /* ************************************************************** */ int CVICALLBACK sr830ui_get_freq(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { double freq; switch (event) { case EVENT_COMMIT: sr830_get_freq(sr830_ID, &freq); SetCtrlVal(sr830_panel, LIAPANEL_NUM_FREQ, freq); break; case EVENT_RIGHT_CLICK: break; } return 0; } /* ************************************************************** */ int CVICALLBACK sr830ui_get_phase(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { double phase; switch (event) { case EVENT_COMMIT: sr830_get_phase(sr830_ID, &phase); SetCtrlVal(sr830_panel, LIAPANEL_NUM_PHASE, phase); break; case EVENT_RIGHT_CLICK: break; } return 0; } /* ************************************************************** */ int CVICALLBACK sr830ui_get_vrms(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { double vrms; switch (event) { case EVENT_COMMIT: sr830_get_vrms(sr830_ID, &vrms); SetCtrlVal(sr830_panel, LIAPANEL_NUM_VRMS, vrms); break; case EVENT_RIGHT_CLICK: break; } return 0; } /* ************************************************************** */ int CVICALLBACK sr830ui_get_vxrms(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { double vxrms; switch (event) { case EVENT_COMMIT: sr830_get_vxrms(sr830_ID, &vxrms); SetCtrlVal(sr830_panel, LIAPANEL_NUM_VXRMS, vxrms); break; case EVENT_RIGHT_CLICK: break; } return 0; } /* ************************************************************** */ int CVICALLBACK sr830ui_get_vyrms(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { double vyrms; switch (event) { case EVENT_COMMIT: sr830_get_vyrms(sr830_ID, &vyrms); SetCtrlVal(sr830_panel, LIAPANEL_NUM_VYRMS, vyrms); break; case EVENT_RIGHT_CLICK: break; } return 0; } /* ************************************************************** */ int CVICALLBACK sr830ui_get_sensitivity(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { int sens; switch (event) { case EVENT_COMMIT: sr830_get_sensitivity(sr830_ID, &sens); SetCtrlVal(sr830_panel, LIAPANEL_NUM_SENSITIVITY, sens); break; case EVENT_RIGHT_CLICK: break; } return 0; } /* ************************************************************** */ int CVICALLBACK sr830ui_quit(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: sr830_exit(sr830_ID); QuitUserInterface(0); break; case EVENT_RIGHT_CLICK: break; } return 0; }