Package MDSplus :: Module event
[frames] | no frames]

Source Code for Module MDSplus.event

 1  from threading import Thread 
 2  import numpy as _N 
 3  import ctypes as _C 
 4  import os 
 5  import time 
 6   
7 -class Event(Thread):
8 """Thread to wait for event""" 9
10 - def __init__(self,event):
11 """Saves event name and starts wfevent thread 12 @param event: name of event to monitor 13 @type event: str 14 """ 15 self.event=event 16 Thread.__init__(self) 17 self.start()
18
19 - def __getattribute__(self,name):
20 if name == "run": 21 return super(Event,self).__getattribute__('_event_run') 22 else: 23 return super(Event,self).__getattribute__(name)
24
25 - def _event_run(self):
26 from _mdsshr import MDSWfevent 27 while True: 28 self.data=MDSWfevent(self.event) 29 self.time=time.time() 30 self.__class__.run(self)
31
32 - def setevent(event,buffer):
33 """Issue an MDSplus event 34 @param event: event name 35 @type event: str 36 @param buffer: data buffer 37 @type buffer: numpy.uint8 array 38 """ 39 from _mdsshr import MDSEvent 40 MDSEvent(event,buffer)
41 setevent=staticmethod(setevent)
42