You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							61 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							61 lines
						
					
					
						
							2.2 KiB
						
					
					
				| def zkextendoplog(self, index=0): | |
|     try: | |
|         test = self.extlogtrynumber | |
|     except: | |
|         self.extlogtrynumber = 1 | |
|          | |
|     data_seq = [ self.data_recv.encode("hex")[4:6], self.data_recv.encode("hex")[6:8] ] | |
| 
 | |
|     if index==0: | |
|         self.data_seq1 = hex( int( data_seq[0], 16 ) + int( '104', 16 ) ).lstrip("0x") | |
|         self.data_seq2 = hex( int( data_seq[1], 16 ) + int( '19', 16 ) ).lstrip("0x") | |
|         desc = ": +104, +19"  | |
|         header="0b00" | |
|     elif index==1: | |
|         self.data_seq1 = hex( abs( int( data_seq[0], 16 ) - int( '2c', 16 ) ) ).lstrip("0x") | |
|         self.data_seq2 = hex( abs( int( data_seq[1], 16 ) - int( '2', 16 ) ) ).lstrip("0x") | |
|         desc = ": -2c, -2"  | |
|         header="d107" | |
|     elif index>=2: | |
|         self.data_seq1 = hex( abs( int( data_seq[0], 16 ) - int( '2c', 16 ) ) ).lstrip("0x") | |
|         self.data_seq2 = hex( abs( int( data_seq[1], 16 ) - int( '2', 16 ) ) ).lstrip("0x") | |
|         desc = ": -2c, -2"  | |
|         header="ffff" | |
|      | |
|      | |
|     #print self.data_seq1+"  "+self.data_seq2 | |
|     if len(self.data_seq1) >= 3: | |
|         self.data_seq2 = hex( int( self.data_seq2, 16 ) + int( self.data_seq1[:1], 16) ).lstrip("0x") | |
|         self.data_seq1 = self.data_seq1[-2:] | |
|          | |
|     if len(self.data_seq2) >= 3: | |
|         self.data_seq1 = hex( int( self.data_seq1, 16 ) + int( self.data_seq2[:1], 16) ).lstrip("0x") | |
|         self.data_seq2 = self.data_seq2[-2:] | |
|      | |
|     if len(self.data_seq1) <= 1: | |
|         self.data_seq1 = "0"+self.data_seq1 | |
|          | |
|     if len(self.data_seq2) <= 1: | |
|         self.data_seq2 = "0"+self.data_seq2 | |
|      | |
|      | |
|     counter = hex( self.counter ).lstrip("0x") | |
|     if len(counter): | |
|         counter = "0" + counter | |
|          | |
|     #print self.data_seq1+" "+self.data_seq2+desc    | |
|     data = header+self.data_seq1+self.data_seq2+self.id_com+counter+"00457874656e644f504c6f6700" | |
|     self.zkclient.sendto(data.decode("hex"), self.address) | |
|     #print data | |
|     try: | |
|         self.data_recv, addr = self.zkclient.recvfrom(1024) | |
|     except: | |
|         bingung=1 | |
|         if self.extlogtrynumber == 1: | |
|             self.extlogtrynumber = 2 | |
|             zkextendoplog(self) | |
|      | |
|     self.id_com = self.data_recv.encode("hex")[8:12] | |
|     self.counter = self.counter+1 | |
|     #print self.data_recv.encode("hex") | |
|     return self.data_recv[8:]
 | |
| 
 |