Ignore:
Timestamp:
06/30/09 11:09:39 (15 years ago)
Author:
rissim
Message:
trigger: gui added, interface modified
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trigger/CommunicateWithVME.py

    r52 r77  
    1818    _VME.V560_Clear_Scales( module)
    1919    beginCounter=_VME. V560_Read_Counter( module,  channel)
    20     print "Evaluating rates (2 seconds)..."
     20    GlobalVariables.ServerMessage = "Evaluating rates (2 seconds)..."
    2121    time.sleep(2)
    2222    endCounter = _VME. V560_Read_Counter( module,  channel)
     
    3333                   0,0,0,0,
    3434                   0,0,0,0]
    35     rates      =  [0,0,0,0,
     35    rates      =  ["rates",
     36                   0,0,0,0,
    3637                   0,0,0,0,
    3738                   0,0,0,0,
     
    4041    for i in range(0,16):
    4142        beginCounter[i]=_VME. V560_Read_Counter( module,  i)
    42         print beginCounter[i]
    43     print "Evaluating rates..."
     43        #GlobalVariables.ServerMessage = str(beginCounter[i])
     44    #GlobalVariables.ServerMessage = "Evaluating rates..."
    4445    time.sleep(2)
    4546    for i in range(0,16):
    4647        endCounter[i] = _VME. V560_Read_Counter( module,  i)
    47         print endCounter[i]
    48         rates[i] =(endCounter[i]-beginCounter[i])/2000.
     48        #GlobalVariables.ServerMessage = str(endCounter[i])
     49        rates[i+1] =(endCounter[i]-beginCounter[i])/2000.
    4950    return rates
    50    
     51
     52class GimmeRates(threading.Thread):
     53    rates=["rates",
     54        0,0,0,0,
     55           0,0,0,0,
     56           0,0,0,0,
     57           0,0,0,0]
     58    module = 1
     59    def run(self):
     60        oldcommand=GlobalVariables.UserInput
     61        while(GlobalVariables.UserInput[1:]!="exit" and GlobalVariables.UserInput[1:] != "EXIT"):
     62            time.sleep(0.001)
     63            newrates = GetRates(self.module)
     64            self.rates=newrates
     65
    5166class ParseUserInput(threading.Thread):
     67    gimmeRates=GimmeRates()
    5268    def Parse(self,Command):
    53         print "PARSING: ",Command
     69        Command = Command[1:]
     70        #GlobalVariables.ServerMessage = "PARSING: " + Command
    5471        sCommand=Command.split()
    5572        error_code=0
     
    5774        try:
    5875            VMEModule=sCommand[0]
    59             if(VMEModule == "help"): print "please use \'<V812|V560|Triggerboard> help\' "
     76            if(VMEModule == "help"):
     77                GlobalVariables.ServerMessage = "please use \'<V812|V560|Triggerboard> help\' "
     78                #GlobalVariables.ServerMessage="please use \'<V812|V560|Triggerboard> help\' "
    6079           
    6180            # now do the stuff for the V560:
     
    6382                V560Command=sCommand[1]
    6483                if(V560Command=="help"):
    65                     print "available functions are: "
    66                     print "V560 GetRate <module#> <channel#>"
    67                     print "V560 GetRates <module#> "
     84                    GlobalVariables.ServerMessage = "available functions are: \n"
     85                    GlobalVariables.ServerMessage += "V560 GetRate <module#> <channel#>\n"
     86                    GlobalVariables.ServerMessage += "V560 GetRates <module#\n "
     87                    time.sleep(0.05)
    6888                   
    6989                if(V560Command=="GetRate"):
    70                     print "trying to get rate"
    71                     try:
    72                         module = sCommand[2]
    73                         channel= sCommand[3]
    74                         print GetRate(int(module),int(channel))
    75                     except:
    76                         print "Syntax Error (GetRate)"
     90                    #GlobalVariables.ServerMessage = "trying to get rate"
     91                    #time.sleep(0.05)
     92                   
     93
     94                    try:
     95                        module = int(sCommand[2])
     96                        channel= int(sCommand[3])
     97                        if(module!= self.gimmeRates.module):
     98                            self.gimmeRates.module=module
     99                            GlobalVariables.ServerMessage = "please wait... (5sec)"
     100                            time.sleep(5)
     101                       
     102                        GlobalVariables.ServerMessage = str(self.gimmeRates.rates[channel])
     103                        time.sleep(0.01)
     104                    except:
     105                        GlobalVariables.ServerMessage = "Syntax Error (GetRate)"
     106                        time.sleep(0.01)
    77107                    #GlobalVariables.Rates[int(channel)] = GetRates(int(module),int(channel))
    78108
    79                 if(V560Command=="GetRates"):
    80                     print "trying to get rates"
    81                     try:
    82                         module = sCommand[2]
    83 
    84                         print GetRates(int(module))
    85                     except:
    86                         print "Syntax Error (GetRates)"
     109                if(V560Command=="GetRates" or V560Command=="GR"):
     110                    GlobalVariables.ServerMessage = "trying to get rates"
     111                    time.sleep(0.01)
     112                    try:
     113                        module = int(sCommand[2])
     114                        if(module!= self.gimmeRates.module):
     115                            self.gimmeRates.module=module
     116                            GlobalVariables.ServerMessage = "please wait... (5sec)"
     117                            time.sleep(5)
     118                        #GlobalVariables.ServerMessage = "RATES:"
     119                        GlobalVariables.ServerMessage = str(self.gimmeRates.rates)
     120                        time.sleep(0.01)
     121                    except:
     122                        GlobalVariables.ServerMessage = "Syntax Error (GetRates)"
     123                        time.sleep(0.05)
    87124                    #GlobalVariables.Rates[int(channel)] = GetRates(int(module),int(channel))
    88125       
     
    92129                V812Command=sCommand[1]
    93130                if(V812Command=="help"):
    94                     print "available functions are: "
    95                     print "V812 SetHexPat <module#[1-10]> <HexPattern[0x0000-0xFFFF>"
    96                     print "V812 SetThresh <module#[1-10]> <channel#[0-15]> <thresh[0-255]>"
    97                     print "V812 SetMajLevel <module#[1-10]> <MajLev[1-20]>"
    98                     print "V812 SetMajThresh <module#[1-10]> <MajThr[0-255]>"
    99                     print "V812 SetDeadTime <module#[1-10]> <Block [0-1]> <DeadTime[0-255]>"
    100 
     131                    GlobalVariables.ServerMessage  = "available functions are: \n"
     132                    GlobalVariables.ServerMessage += "V812 SetHexPat <module#[1-10]> <HexPattern[0x0000-0xFFFF>\n"
     133                    GlobalVariables.ServerMessage += "V812 SetThresh <module#[1-10]> <channel#[0-15]> <thresh[0-255]>\n"
     134                    GlobalVariables.ServerMessage += "V812 SetAllThresh <module#[1-10]>  <thresh[0-255]>\n"
     135                    GlobalVariables.ServerMessage += "V812 SetMajLevel <module#[1-10]> <MajLev[1-20]>\n"
     136                    GlobalVariables.ServerMessage += "V812 SetMajThresh <module#[1-10]> <MajThr[0-255]>\n"
     137                    GlobalVariables.ServerMessage += "V812 SetDeadTime <module#[1-10]> <Block [0-1]> <DeadTime[0-255]>\n"
     138                    time.sleep(0.05)
    101139                #set the hexpattern:
    102140                elif(V812Command=="SetHexPat"):
    103                     print "trying to set the hexpattern:"
     141                    GlobalVariables.ServerMessage = "trying to set the hexpattern:"
     142                    time.sleep(0.05)
    104143                    try:
    105144                        module = int(sCommand[2])
    106145                        hexpat = int(sCommand[3],16)
    107                         #hexpat="ddd"
    108                         print "setting module ",module," to hexpat: ",hex(hexpat)
     146                        #print hexpat
     147                        # hexpat="ddd"
     148                        GlobalVariables.ServerMessage = "setting module "+str(module)+" to hexpat: "+str(hex(hexpat))
     149                        time.sleep(0.05)
    109150                        try:
     151                            print "setting it now..."
    110152                            error_code=_VME.V812_Set_Pattern_Inhibit_Hex(module, hexpat)
    111                             print "success! "
     153                            GlobalVariables.ServerMessage = "success! "
     154                            time.sleep(0.05)
    112155                           
    113156                        except:
    114157                            VME_ErrorPrint(error_code)
    115                     except:
    116                         print "Syntax error (SetHexPat)"
    117 
    118 
     158                            print "FAILED"
     159                    except:
     160                        GlobalVariables.ServerMessage = "Syntax error (SetHexPat)"
     161
     162                       
     163                        time.sleep(0.05)
     164                elif(V812Command=="SetAllThresh"):
     165                    print "trying to set all the threshold:"
     166                    try:
     167                        module  = int(sCommand[2])
     168                        thresh  = int(sCommand[3])
     169                        GlobalVariables.ServerMessage="Setting all thresholds...\n"
     170                        for channel in range(0,16):
     171                            GlobalVariables.ServerMessage += "setting threshold of channel: "+str(channel)+ " in module "+str(module)+" to: "+str(thresh)+"\n"
     172                            GlobalVariables.ServerMessage += "success: "+str(_VME.V812_Set_Threshold(module, channel,  thresh))+"\n"
     173                        time.sleep(0.05)
     174                           
     175                           
     176                    except:
     177                        print "Syntax error (SetAllThresh) "
    119178                elif(V812Command=="SetThresh"):
    120                     print "trying to set the threshold:"
     179                    GlobalVariables.ServerMessage = "trying to set the threshold:"
     180                    time.sleep(0.05)
    121181                    try:
    122182                        module  = int(sCommand[2])
    123183                        channel = int(sCommand[3])
    124184                        thresh  = int(sCommand[4])
    125                         print "setting threshold of channel: ",channel, " in module ",module," to: ",thresh
    126                         print "success: ",_VME.V812_Set_Threshold(module, channel,  thresh)
    127                     except:
    128                         print "Syntax error (SetThresh) "
    129                        
     185                        GlobalVariables.ServerMessage = "setting threshold of channel: "+str(channel)+ " in module "+str(module)+" to: "+str(thresh)
     186                        GlobalVariables.ServerMessage += "success: "+str(_VME.V812_Set_Threshold(module, channel,  thresh))
     187                        time.sleep(0.05)
     188                    except:
     189                        GlobalVariables.ServerMessage = "Syntax error (SetThresh) "
     190                        time.sleep(0.05)
    130191                elif(V812Command=="SetMajLevel"):
    131                     print "trying to set the majority level:"
     192                    GlobalVariables.ServerMessage = "trying to set the majority level:"
     193                    time.sleep(0.05)
    132194                    try:
    133195                        module  = int(sCommand[2])
    134196                        level   = int(sCommand[3])
    135                         print "setting maj. level of module ",module," to: ",level
    136                         print "success: ",_VME.V812_Set_Majority_Level(module,level)
    137                     except:
    138                         print "Syntax error (SetMajLevel)"
     197                        GlobalVariables.ServerMessage = "setting maj. level of module "+str(module)+" to: "+str(level)
     198                        GlobalVariables.ServerMessage += "success: "+str(_VME.V812_Set_Majority_Level(module,level))
     199                        time.sleep(0.05)
     200                    except:
     201                        GlobalVariables.ServerMessage = "Syntax error (SetMajLevel)"
     202                        time.sleep(0.05)
    139203
    140204                elif(V812Command=="SetMajThresh"):
    141                     print "trying to set the majority threshold:"
     205                    GlobalVariables.ServerMessage = "trying to set the majority threshold:"
     206                    time.sleep(0.05)
    142207                    try:
    143208                        module  = int(sCommand[2])
    144209                        thresh  = int(sCommand[3])
    145                         print "setting maj. level of module ",module," to: ",thresh
    146                         print "success: ",_VME.V812_Set_Majority_Threshold(module,  thresh)
    147                     except:
    148                         print "Syntax error (SetMajThresh)"
     210                        GlobalVariables.ServerMessage = "setting maj. level of module "+str(module)+" to: "+str(thresh)
     211                        GlobalVariables.ServerMessage += "success: "+str(_VME.V812_Set_Majority_Threshold(module,  thresh))
     212                        time.sleep(0.05)
     213                    except:
     214                        GlobalVariables.ServerMessage = "Syntax error (SetMajThresh)"
     215                        time.sleep(0.05)
    149216
    150217                elif(V812Command=="SetDeadTime"):
    151                     print "trying to set the majority threshold:"
     218                    GlobalVariables.ServerMessage = "trying to set the majority threshold:"
     219                    time.sleep(0.05)
    152220                    try:
    153221                        module  = int(sCommand[2])
    154222                        block  = int(sCommand[3])
    155223                        deadtime= int(sCommand[4])
    156                         print "setting deadtime of module ",module," block: ",block, " to: ",deadtime
    157                         print "success: ",_VME.V812_Set_Dead_Time(module, block, deadtime);
    158                     except:
    159                         print "Syntax error (SetMajThresh)"
     224                        GlobalVariables.ServerMessage = "setting deadtime of module "+str(module)+" block: "+str(block)+ " to: "+str(deadtime)
     225                        GlobalVariables.ServerMessage += "success: "+str(_VME.V812_Set_Dead_Time(module, block, deadtime))
     226                        time.sleep(0.05)
     227                    except:
     228                        GlobalVariables.ServerMessage = "Syntax error (SetMajThresh)"
     229                        time.sleep(0.05)
    160230
    161231                else:
    162                     print "Syntax Error (V812)"
     232                    GlobalVariables.ServerMessage = "Syntax Error (V812)"
     233                    time.sleep(0.05)
    163234                       
    164235        except:
    165             print "syntax error"
     236            GlobalVariables.ServerMessage = "syntax error"
     237            time.sleep(0.05)
    166238        #_VME.V812_Set_Threshold(1, 0,  255)
    167239   
     
    169241        threading.Thread.__init__(self)
    170242    def run(self):
     243        self.gimmeRates.start()
    171244        oldcommand=GlobalVariables.UserInput
    172         while(GlobalVariables.UserInput!="exit" and GlobalVariables.UserInput != "EXIT"):
     245        while(GlobalVariables.UserInput[1:]!="exit" and GlobalVariables.UserInput[1:] != "EXIT"):
    173246            CommandToParse=GlobalVariables.UserInput
    174247            if(oldcommand!=CommandToParse):
     
    179252
    180253           
    181         print "EXITING PARSER...press <enter> to exit"
     254        GlobalVariables.ServerMessage = "EXITING PARSER...press <enter> to exit"
     255        time.sleep(0.05)
    182256           
Note: See TracChangeset for help on using the changeset viewer.