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.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							50 lines
						
					
					
						
							1.4 KiB
						
					
					
				| from struct import pack, unpack | |
| from .zkconst import * | |
| 
 | |
| 
 | |
| def reverseHex(hexstr): | |
|     tmp = '' | |
|     for i in reversed(range(len(hexstr)/2)): | |
|         tmp += hexstr[i*2:(i*2)+2] | |
|      | |
|     return tmp | |
| 
 | |
| 
 | |
| def zksettime(self, t): | |
|     """Start a connection with the time clock""" | |
|     command = CMD_SET_TIME | |
|     command_string = pack('I',encode_time(t)) | |
|     chksum = 0 | |
|     session_id = self.session_id | |
|     reply_id = unpack('HHHH', self.data_recv[:8])[3] | |
| 
 | |
|     buf = self.createHeader(command, chksum, session_id, | |
|         reply_id, command_string) | |
|     self.zkclient.sendto(buf, self.address) | |
|     #print buf.encode("hex") | |
|     try: | |
|         self.data_recv, addr = self.zkclient.recvfrom(1024) | |
|         self.session_id = unpack('HHHH', self.data_recv[:8])[2] | |
|         return self.data_recv[8:] | |
|     except: | |
|         return False | |
|      | |
| 
 | |
| def zkgettime(self): | |
|     """Start a connection with the time clock""" | |
|     command = CMD_GET_TIME | |
|     command_string = '' | |
|     chksum = 0 | |
|     session_id = self.session_id | |
|     reply_id = unpack('HHHH', self.data_recv[:8])[3] | |
| 
 | |
|     buf = self.createHeader(command, chksum, session_id, | |
|         reply_id, command_string) | |
|     self.zkclient.sendto(buf, self.address) | |
|     #print buf.encode("hex") | |
|     try: | |
|         self.data_recv, addr = self.zkclient.recvfrom(1024) | |
|         self.session_id = unpack('HHHH', self.data_recv[:8])[2] | |
|         return decode_time( int( reverseHex( self.data_recv[8:].encode("hex") ), 16 ) ) | |
|     except: | |
|         return False
 | |
| 
 |