def stopMarte(self): marteName = self.getNode('name').data() self.suspendMarte() time.sleep(2) Event.seteventRaw(marteName, np.frombuffer(b'EXIT', dtype=np.uint8)) time.sleep(2) Event.seteventRaw(marteName, np.frombuffer(b'EXIT', dtype=np.uint8)) return 1
def publishEvent(eventname, eventbody=None): """ eventname -- name convention for this event. Tag to listen for. eventbody -- should be text presently as we do not implement deserialization of arbitrary types. events are broadcast by Event over UDP """ try: from MDSplus import Event from numpy import uint8 if apidebug: print("APIDEBUG: publishEvent", eventname, eventbody) print("APIDEBUG: publishEvent", str(type(eventbody))) Event.seteventRaw(eventname, uint8(bytearray(eventbody))) except Exception as e: import sys, os exc_type, exc_obj, exc_tb = sys.exc_info() fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1] print("ERROR, events not supported. Tried to " + "send event %s, with message %s.") % (eventname, eventbody) print(exc_type, fname, exc_tb.tb_lineno)
def publishEvent(eventname, eventbody=None): """ eventname -- name convention for this event. Tag to listen for. eventbody -- should be text presently as we do not implement deserialization of arbitrary types. events are broadcast by Event over UDP """ try: from MDSplus import Event from numpy import uint8 if apidebug: print("APIDEBUG: publishEvent",eventname,eventbody) print("APIDEBUG: publishEvent",str(type(eventbody))) Event.seteventRaw(eventname,uint8(bytearray(eventbody))) except Exception as e: import sys,os exc_type, exc_obj, exc_tb = sys.exc_info() fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1] print("ERROR, events not supported. Tried to "+ "send event %s, with message %s.")%(eventname,eventbody) print(exc_type, fname, exc_tb.tb_lineno)
def stopMarte(self): marteName = self.getNode('name').data() self.suspendMarte() time.sleep(2) Event.seteventRaw(marteName, np.frombuffer(b'EXIT', dtype=np.uint8)) time.sleep(2) Event.seteventRaw(marteName, np.frombuffer(b'EXIT', dtype=np.uint8)) # KILL MARTe process import subprocess import os command = 'ps -Af | grep %s_marte_configuration.cfg | grep MARTeApp.ex | grep -v grep | awk \'{print $2}\'' % ( marteName) pid, error = subprocess.Popen("{cmd}".format(cmd=command), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() if len(pid) == 0: if len(error) != 0: print('INFO : %s' % (error)) else: for p in pid.split(): os.kill(int(p), 9) print('MARTe Process PID : %s Killed\n' % (p)) return 1
def suspendMarte(self): marteName = self.getNode('name').data() eventString1 = marteName + ':StopCurrentStateExecution:XX' eventString2 = marteName + ':' + 'PrepareNextState:IDLE' eventString3 = marteName + ':StartNextStateExecution:XX' Event.seteventRaw(marteName, np.frombuffer(eventString1.encode(), dtype=np.uint8)) time.sleep(0.1) Event.seteventRaw(marteName, np.frombuffer(eventString2.encode(), dtype=np.uint8)) time.sleep(0.1) Event.seteventRaw(marteName, np.frombuffer(eventString3.encode(), dtype=np.uint8))
def doState(self, state): marteName = self.getNode('name').data() stateName = getattr(self, 'state_%d_name' % (state)).data() eventString1 = marteName + ':StopCurrentStateExecution:XX' eventString2 = marteName + ':' + 'PrepareNextState:' + stateName eventString3 = marteName + ':StartNextStateExecution:XX' Event.seteventRaw(marteName, np.frombuffer(eventString1.encode(), dtype=np.uint8)) time.sleep(.1) Event.seteventRaw(marteName, np.frombuffer(eventString2.encode(), dtype=np.uint8)) time.sleep(.1) Event.seteventRaw(marteName, np.frombuffer(eventString3.encode(), dtype=np.uint8))
def gotoidle(self): marteName = self.getNode('name').data() eventString1 = 'StateMachine:GOTOIDLE' Event.seteventRaw(marteName, np.frombuffer(eventString1.encode(), dtype=np.uint8))
#!/usr/bin/python """ Created on Fri Jul 10 05:29:47 2015 updateTime @author: Cloud """ from archive import TimeInterval, setTIME from MDSplus import Tree, Event from time import sleep from sys import argv timer = 10 if len(argv) > 1: timer = int(argv[1]) try: tree = Tree('archive', 7) except: tree = Tree('archive', -1).createPulse(7) setTIME(TimeInterval(-1800., 0, -1)) while True: Event.seteventRaw('archive7') sleep(timer)
def stopMarte(self): marteName = self.getNode('name').data() Event.seteventRaw(marteName, np.frombuffer(b'EXIT', dtype=np.uint8)) return 1
#!/usr/bin/python """ Created on Fri Jul 10 05:29:47 2015 updateTime @author: Cloud """ from archive import TimeInterval,setTIME from MDSplus import Tree, Event from time import sleep from sys import argv timer = 10 if len(argv)>1: timer = int(argv[1]) try: tree=Tree('archive',7) except: tree=Tree('archive',-1).createPulse(7) setTIME(TimeInterval(-1800.,0,-1)) while True: Event.seteventRaw('archive7') sleep(timer)
def gotorun(self): marteName = self.getNode('name').data() eventString1 = 'StateMachine:GOTORUN' Event.seteventRaw(marteName, np.frombuffer( eventString1, dtype=np.uint8))