00001 #!/usr/local/bin/python 00002 # 00003 # Copyright 2004 00004 # by 00005 # The Board of Trustees of the 00006 # Leland Stanford Junior University. 00007 # All rights reserved. 00008 # 00009 00010 00011 __facility__ = "Online" 00012 __abstract__ = "Trigger Pattern Generator node" 00013 __author__ = "Amedeo Perazzo <perazzo@slac.stanford.edu> SLAC - GLAST I&T/Online" 00014 __date__ = ("$Date: 2005/03/21 00:06:58 $").split(' ')[1] 00015 __version__ = "$Revision: 2.4 $" 00016 __release__ = "$Name: R04-12-00 $" 00017 __credits__ = "SLAC" 00018 00019 import LATTE.copyright_SLAC 00020 import struct 00021 import gDb 00022 00023 class GTPG(gDb.Gdb): 00024 def __init__(self, client): 00025 gDb.Gdb.__init__(self, client, None, 0) 00026 00027 def clear(self): 00028 return self.cmdrsp('TPGclear', 'tpg') 00029 00030 def clearBuf(self, bufferId): 00031 return self.cmdrsp('TPGclearBuf', 'tpg', bufferId) 00032 00033 def start(self): 00034 return self.cmdrsp('TPGstart', 'tpg') 00035 00036 def startCmd(self): 00037 return self.cmdrsp('TPGstartCmd', 'tpg') 00038 00039 def load(self): 00040 tpgdelays = '>' + struct.pack('>IIIIIII', 0, 0, 0, 0, 0, 0, 0) 00041 return self.cmdrsp('TPGload', 'tpg', tpgdelays) 00042 00043 def setTEM(self, tem_id, trg, start, pattern, pat_len, repetitions): 00044 return self.cmdrsp('TPGsetTEM', 'tpg', tem_id, trg, start, pattern, pat_len, repetitions) 00045 00046 def setVETO(self, free_id, veto_id, start, pattern, pat_len, repetitions): 00047 return self.cmdrsp('TPGsetVETO', 'tpg', free_id, veto_id, start, pattern, pat_len, repetitions) 00048 00049 def setCNO(self, free_id, start, pattern, pat_len, repetitions): 00050 return self.cmdrsp('TPGsetCNO', 'tpg', free_id, start, pattern, pat_len, repetitions) 00051 00052 def setExtTrig(self, start, pattern, pat_len, repetitions): 00053 return self.cmdrsp('TPGsetExtTrig', 'tpg', start, pattern, pat_len, repetitions)