Example #1
0
    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
Example #2
0
	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
Example #3
0
    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
Example #4
0
	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
Example #5
0
    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
Example #6
0
	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