Imported CSS files
This commit is contained in:
93
epics/css/sys-mng-opi/CSS/scripts/Timer.py
Normal file
93
epics/css/sys-mng-opi/CSS/scripts/Timer.py
Normal file
@@ -0,0 +1,93 @@
|
||||
from org.csstudio.opibuilder.scriptUtil import PVUtil, ConsoleUtil, ColorFontUtil
|
||||
from java.lang import Thread, Runnable
|
||||
|
||||
startButton = display.getWidget("Start_Button")
|
||||
stopButton = display.getWidget("Stop_Button")
|
||||
resetButton = display.getWidget("Reset_Button")
|
||||
bar = display.getWidget("Progress_Bar")
|
||||
|
||||
hourText = display.getWidget("hourText")
|
||||
hourPV=hourText.getPV()
|
||||
minText = display.getWidget("minText")
|
||||
minPV=minText.getPV()
|
||||
secText = display.getWidget("secText")
|
||||
secPV=secText.getPV()
|
||||
|
||||
timerLabel = display.getWidget("timerLabel")
|
||||
|
||||
class Blink(Runnable):
|
||||
def run(self):
|
||||
i=0
|
||||
while PVUtil.getLong(pvs[2]) ==1:
|
||||
Thread.sleep(500)
|
||||
timerLabel.setPropertyValue("foreground_color", ColorFontUtil.BLACK if i%2==0 else ColorFontUtil.BLACK)
|
||||
i=i+1
|
||||
timerLabel.setPropertyValue("foreground_color", ColorFontUtil.BLACK)
|
||||
|
||||
|
||||
|
||||
class Timer(Runnable):
|
||||
def run(self):
|
||||
startButton.setEnabled(False)
|
||||
stopButton.setEnabled(True)
|
||||
resetButton.setEnabled(False)
|
||||
#bar.setVisible(True)
|
||||
hourText.setEnabled(False)
|
||||
minText.setEnabled(False)
|
||||
secText.setEnabled(False)
|
||||
hour = 0 #PVUtil.getLong(hourPV)
|
||||
min = 1 #PVUtil.getLong(minPV)
|
||||
sec = 20 #PVUtil.getLong(secPV)
|
||||
#remember the values to be reset
|
||||
resetButton.setVar("hour", hour)
|
||||
resetButton.setVar("min",min)
|
||||
resetButton.setVar("sec",sec)
|
||||
timerLabel.setPropertyValue("foreground_color", ColorFontUtil.BLACK)
|
||||
timerLabel.setPropertyValue("text", "Trigger Wait")
|
||||
stopped=False
|
||||
total = hour*3600+min*60+sec
|
||||
for i in range(total,-1,-1):
|
||||
if not display.isActive():
|
||||
return
|
||||
if PVUtil.getLong(pvs[0])==0:
|
||||
stopped = True
|
||||
break
|
||||
pvs[1].setValue(100-100*i/total)
|
||||
hourPV.setValue(int(i/3600))
|
||||
minPV.setValue(int(i%3600/60))
|
||||
secPV.setValue(int(i%60))
|
||||
display.getWidget("LED_BLINK1").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(0,255,0) if i%2==0 else ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK2").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(0,255,0) if i%2==0 else ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK3").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(0,255,0) if i%2==0 else ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK4").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(0,255,0) if i%2==0 else ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
Thread.sleep(1000)
|
||||
|
||||
timerLabel.setPropertyValue("foreground_color", ColorFontUtil.BLACK)
|
||||
if stopped:
|
||||
bar.getPV().setValue(0)
|
||||
timerLabel.setPropertyValue("text", "Stopped!")
|
||||
display.getWidget("LED_BLINK1").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK2").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK3").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK4").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
else:
|
||||
bar.getPV().setValue(0)
|
||||
timerLabel.setPropertyValue("text", "Terminated!")
|
||||
display.getWidget("LED_BLINK1").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK2").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK3").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
display.getWidget("LED_BLINK4").setPropertyValue("background_color", ColorFontUtil.getColorFromRGB(235,235,235))
|
||||
widget.executeAction(0)
|
||||
pvs[2].setValue(1)
|
||||
Thread(Blink()).start()
|
||||
startButton.setEnabled(True)
|
||||
stopButton.setEnabled(False)
|
||||
resetButton.setEnabled(True)
|
||||
#bar.setVisible(False)
|
||||
hourText.setEnabled(True)
|
||||
minText.setEnabled(True)
|
||||
secText.setEnabled(True)
|
||||
|
||||
if PVUtil.getLong(pvs[0])==1:
|
||||
thread =Thread(Timer());
|
||||
thread.start()
|
||||
Reference in New Issue
Block a user