open-insight/LSL2/STPROC/ADCSVR_EVENTS.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

111 lines
3.1 KiB
Plaintext

Function ADCSVR_Events(CtrlEntId, Event, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
/********************************************************************************
*********************************************************************************/
#pragma precomp SRP_PreCompiler
#Window ADCSVR
$INSERT ENVIRON_CONSTANTS
$INSERT LOGICAL
EQU STOP$ TO 0
EQU START$ TO 1
EQU CRLF$ TO \0D0A\
ErrTitle = 'Error in Comm_Dialog_ADCSVR routine'
DECLARE SUBROUTINE Center_Window, StatusLine, Set_Property, End_Dialog, Send_Event, Set_Status, Adios
DECLARE SUBROUTINE ErrMsg, Send_Message, obj_Tables, Post_Event, ShowWindow, obj_ADCSVR, Yield, Utility
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, FindWindow
GoToEvent Event for CtrlEntId
Return RetVal else 1
//////////////////////////////////////////////////////////////////////////////
// Events
//////////////////////////////////////////////////////////////////////////////
Event WINDOW.CREATE(CreateParam)
Set_Status(0)
otParms = 'SYSOBJ':@RM:'ADC_SERVER'
obj_Tables('LockRec',otParms) ;* Places lock on fictional record
IF Get_Status(errCode) THEN
ErrorMsg = ErrTitle:@SVM:'Another ADC server is already running.'
ErrMsg(ErrorMsg)
Post_Event(@WINDOW,'CLOSE')
end else
Set_Property(@WINDOW,'@ADC_SERVER',STOP$) ;* Set ADC server property '@ADC_SERVER' to stop
GoSub StartStop
end
end event
Event WINDOW.TIMER()
Yield(); Yield(); Yield(); Yield(); Yield(); Yield(); Yield(); Yield(); Yield()
StartStop = Get_Property(@WINDOW,'@ADC_SERVER')
IF (StartStop = START$) THEN
obj_ADCSVR('MetrologyData','')
END
end event
Event WINDOW.CLOSE(CancelFlag)
otParms = 'SYSOBJ':@RM:'ADC_SERVER'
obj_Tables('LockRec',otParms) ;* Places lock on fictional record
Set_Status(0)
obj_Tables('UnlockRec',otParms) ;* Removes lock on fictional record
Utility('DESTROY', 'SYSTEM')
end event
Event START_STOP_BUTTON.CLICK()
GoSub StartStop
end event
//////////////////////////////////////////////////////////////////////////////
// Internal GoSubs
//////////////////////////////////////////////////////////////////////////////
**********
StartStop:
**********
StartStop = Get_Property(@WINDOW:'.START_STOP_BUTTON','TEXT')
IF (StartStop = 'Stop ADC Server') THEN
* ADC server is running
Set_Property(@WINDOW, 'TIMER', '')
Set_Property(@WINDOW,'@ADC_SERVER',STOP$) ;* Turn off ADC server
Set_Property(@WINDOW:'.START_STOP_BUTTON','TEXT', 'Start ADC Server')
Set_Property(@WINDOW:'.CLOSE_BUTTON','ENABLED',1)
END ELSE
Interval = Get_Property(@Window : '.INTERVAL', 'INVALUE')
If Interval EQ '' then
Interval = 5
Set_Property(@WINDOW:'.INTERVAL','INVALUE',Interval)
end
Set_Property(@WINDOW, 'TIMER', Interval * 1000) ;* Set timer event to 5000 msecs (5 seconds) to check for shutdown time.
Set_Property(@WINDOW:'.START_STOP_BUTTON','TEXT', 'Stop ADC Server')
Set_Property(@WINDOW,'@ADC_SERVER',START$) ;* Start the ADC server process
Set_Property(@WINDOW:'.CLOSE_BUTTON','ENABLED',0)
END
return