def _read_response(self): header = self._read_nbytes(3) try: message = 'Header error. Is Cashcode connected to %s? Header is %s' % ( self.device, header) if (header[0] <> self.p_sync or header[1] <> self.p_adr): self.logger.debug(message) raise AcceptorError(message=message, code=500) except IndexError: message = 'Header error. Header is %s' % (header) self.logger.debug(message) raise AcceptorError(message=message, code=500) packet = self._read_nbytes(header[2] - 3 - 2) crc = self._read_crc() checkCrc = int2bytes(self.__calc_crc(header + packet)) if crc != checkCrc: self.logger.debug( '%s: _read_response. Crc not satisfied their=%s , my=%s' % (self.__prefix, crc, checkCrc)) # self.logger.debug('%s: _read_response. response(len=%d) dec=%s, hex=%s ' % (self.__prefix, len(packet), packet, ints2hex(packet) )) self.validate_statement(packet) return packet
def send_single_command(self, cmd, read_response = True): packet = [self.p_sync, self.p_adr, 0x06, cmd] packet = packet + int2bytes( self.__calc_crc(packet) ) self.serial.write( serial.to_bytes( packet ) ) if read_response: return self._read_response() return True
def send_single_command(self, cmd, read_response=True): packet = [self.p_sync, self.p_adr, 0x06, cmd] packet = packet + int2bytes(self.__calc_crc(packet)) self.serial.write(serial.to_bytes(packet)) if read_response: return self._read_response() return True
def send_command(self, data, read_response = True): packet = [ self.p_sync, self.p_adr, 5 + len(data)] + data packet = packet+ int2bytes(self.__calc_crc(packet)) self.serial.write(serial.to_bytes(packet) ) if read_response: return self._read_response() return True
def send_command(self, data, read_response=True): packet = [self.p_sync, self.p_adr, 5 + len(data)] + data packet = packet + int2bytes(self.__calc_crc(packet)) self.serial.write(serial.to_bytes(packet)) if read_response: return self._read_response() return True
def _read_response(self): header = self._read_nbytes(3) try: message = 'Header error. Is Cashcode connected to %s? Header is %s' % (self.device, header) if (header[0] <> self.p_sync or header[1] <> self.p_adr): self.logger.debug( message ) raise AcceptorError( message = message, code = 500 ) except IndexError: message = 'Header error. Header is %s' % ( header ) self.logger.debug( message ) raise AcceptorError( message = message, code = 500 ) packet = self._read_nbytes( header[2] - 3 - 2 ) crc = self._read_crc() checkCrc = int2bytes( self.__calc_crc(header + packet) ) if crc != checkCrc: self.logger.debug('%s: _read_response. Crc not satisfied their=%s , my=%s' % (self.__prefix, crc, checkCrc)) # self.logger.debug('%s: _read_response. response(len=%d) dec=%s, hex=%s ' % (self.__prefix, len(packet), packet, ints2hex(packet) )) self.validate_statement(packet) return packet