Changeset 77 for trigger/CommunicateWithVME.py
- Timestamp:
- 06/30/09 11:09:39 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trigger/CommunicateWithVME.py
r52 r77 18 18 _VME.V560_Clear_Scales( module) 19 19 beginCounter=_VME. V560_Read_Counter( module, channel) 20 print"Evaluating rates (2 seconds)..."20 GlobalVariables.ServerMessage = "Evaluating rates (2 seconds)..." 21 21 time.sleep(2) 22 22 endCounter = _VME. V560_Read_Counter( module, channel) … … 33 33 0,0,0,0, 34 34 0,0,0,0] 35 rates = [0,0,0,0, 35 rates = ["rates", 36 0,0,0,0, 36 37 0,0,0,0, 37 38 0,0,0,0, … … 40 41 for i in range(0,16): 41 42 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..." 44 45 time.sleep(2) 45 46 for i in range(0,16): 46 47 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. 49 50 return rates 50 51 52 class 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 51 66 class ParseUserInput(threading.Thread): 67 gimmeRates=GimmeRates() 52 68 def Parse(self,Command): 53 print "PARSING: ",Command 69 Command = Command[1:] 70 #GlobalVariables.ServerMessage = "PARSING: " + Command 54 71 sCommand=Command.split() 55 72 error_code=0 … … 57 74 try: 58 75 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\' " 60 79 61 80 # now do the stuff for the V560: … … 63 82 V560Command=sCommand[1] 64 83 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) 68 88 69 89 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) 77 107 #GlobalVariables.Rates[int(channel)] = GetRates(int(module),int(channel)) 78 108 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) 87 124 #GlobalVariables.Rates[int(channel)] = GetRates(int(module),int(channel)) 88 125 … … 92 129 V812Command=sCommand[1] 93 130 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) 101 139 #set the hexpattern: 102 140 elif(V812Command=="SetHexPat"): 103 print "trying to set the hexpattern:" 141 GlobalVariables.ServerMessage = "trying to set the hexpattern:" 142 time.sleep(0.05) 104 143 try: 105 144 module = int(sCommand[2]) 106 145 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) 109 150 try: 151 print "setting it now..." 110 152 error_code=_VME.V812_Set_Pattern_Inhibit_Hex(module, hexpat) 111 print "success! " 153 GlobalVariables.ServerMessage = "success! " 154 time.sleep(0.05) 112 155 113 156 except: 114 157 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) " 119 178 elif(V812Command=="SetThresh"): 120 print "trying to set the threshold:" 179 GlobalVariables.ServerMessage = "trying to set the threshold:" 180 time.sleep(0.05) 121 181 try: 122 182 module = int(sCommand[2]) 123 183 channel = int(sCommand[3]) 124 184 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) 130 191 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) 132 194 try: 133 195 module = int(sCommand[2]) 134 196 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) 139 203 140 204 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) 142 207 try: 143 208 module = int(sCommand[2]) 144 209 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) 149 216 150 217 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) 152 220 try: 153 221 module = int(sCommand[2]) 154 222 block = int(sCommand[3]) 155 223 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) 160 230 161 231 else: 162 print "Syntax Error (V812)" 232 GlobalVariables.ServerMessage = "Syntax Error (V812)" 233 time.sleep(0.05) 163 234 164 235 except: 165 print "syntax error" 236 GlobalVariables.ServerMessage = "syntax error" 237 time.sleep(0.05) 166 238 #_VME.V812_Set_Threshold(1, 0, 255) 167 239 … … 169 241 threading.Thread.__init__(self) 170 242 def run(self): 243 self.gimmeRates.start() 171 244 oldcommand=GlobalVariables.UserInput 172 while(GlobalVariables.UserInput !="exit" and GlobalVariables.UserInput!= "EXIT"):245 while(GlobalVariables.UserInput[1:]!="exit" and GlobalVariables.UserInput[1:] != "EXIT"): 173 246 CommandToParse=GlobalVariables.UserInput 174 247 if(oldcommand!=CommandToParse): … … 179 252 180 253 181 print "EXITING PARSER...press <enter> to exit" 254 GlobalVariables.ServerMessage = "EXITING PARSER...press <enter> to exit" 255 time.sleep(0.05) 182 256
Note:
See TracChangeset
for help on using the changeset viewer.