def main(): clientpy.dicxinit() #clientpy.dicxcmnd_callback("CTPRCFG/RCFG","pclieEJJJw\n") #time.sleep(5) #init hmpid ltu connection: print "--------------------------- CTPDIM connecting..." ctp= DimServerCtp() #do something #proxy.execcmd("vmeopr32(VERSION_ADD)\n") print "--------------------------- HMPID connecting..." ltu= DimServerLtu("hmpid") # measure busy L0/1/2 INT: answer=ctp.execDO("CHECKPHASES") print "ctp:BUSY L0/1/2 INT phases:>%s<"%answer # measure FO1: answer=ctp.execDO("TOGGLE 1 HMPID") answer=ltu.execDO("setglobalmode()\n") answer=ltu.execDO("getbcphase(0)\n") print "%s:FO1(hmpid) phase>%s<"%(ltu.ltuname,answer) answer=ctp.execDO("TOGGLE 0 HMPID") answer=ltu.execDO("setstdalonemode()\n") #answer=ctp.execDO("W 1\n") answer=ltu.execDO("getbcphase(1)\n") print "%s:phase>%s<"%(ltu.ltuname,answer) #for ix in range(100): # answer=proxy.execDO("vmeopr32(VERSION_ADD)\n") #close connection: ctp=None; ltu=None
#!/usr/bin/python import time,string,clientpy print "Init clientpy (once only)..." clientpy.dicxinit() class DimServer: def __init__(self, ltuname=None): """ rc: self.tag: 0 -> connection not successful >0 -> connection OK (i.e. execDO method can be used) """ self.gettag1(ltuname) self.tag= clientpy.dicxinfo_service(self.resultservice) if self.tag==0: print "Error: cannot register" return result= self.waitinfo() if result[:6] == 'failed': self.errprt("DImServer(%s)"%ltuname, result) self.tag=0 return if ltuname!=None: # LTU clientpy.dicxcmnd_callback(self.tag, self.ltuname+"/PIPE", "open "+self.ltuname+" pyclient 1.0\n") wimessage= self.waitinfo() self.dbgprt(wimessage) def dbgprt(self, *args): pass #print "DBG:", args def errprt(self, *args):