def db_get(self, db_number): """Uploads a DB from AG. """ logging.debug("db_get db_number: %s" % db_number) _buffer = buffer_type() result = self.library.Cli_DBGet(self.pointer, db_number, byref(_buffer), byref(c_int(buffer_size))) check_error(result, context="client") return bytearray(_buffer)
def as_db_get(self, db_number): """ This is the asynchronous counterpart of Cli_DBGet. """ logging.debug("db_get db_number: %s" % db_number) _buffer = buffer_type() result = self.library.Cli_AsDBGet(self.pointer, db_number, byref(_buffer), byref(c_int(buffer_size))) check_error(result, context="client") return bytearray(_buffer)
def as_db_get(self, db_number): """ This is the asynchronous counterpart of Cli_DBGet. """ # logger.debug("db_get db_number: %s" % db_number) _buffer = buffer_type() bufferSize = c_int(snap7.snap7types.buffer_size) result = self.library.Cli_AsDBGet(self.pointer, db_number, byref(_buffer), byref(bufferSize)) check_error(result, context="client") msg = bytearray(_buffer[:bufferSize.value]) return msg
def db_get(self, db_number): """Uploads a DB from AG. """ # logger.debug("db_get db_number: %s" % db_number) _buffer = buffer_type() bufferSize = c_int(snap7.snap7types.buffer_size) result = self.library.Cli_DBGet( self.pointer, db_number, byref(_buffer), byref(bufferSize)) check_error(result, context="client") msg = bytearray(_buffer[:bufferSize.value]) return msg
def full_upload(self, _type, block_num): """ Uploads a full block body from AG. The whole block (including header and footer) is copied into the user buffer. :param block_num: Number of Block """ _buffer = buffer_type() size = c_int(sizeof(_buffer)) block_type = snap7.snap7types.block_types[_type] result = self.library.Cli_FullUpload(self.pointer, block_type, block_num, byref(_buffer), byref(size)) check_error(result, context="client") return bytearray(_buffer), size.value
def upload(self, block_num): """ Uploads a block body from AG :param data: bytearray """ logger.debug("db_upload block_num: %s" % (block_num)) block_type = snap7.snap7types.block_types['DB'] _buffer = buffer_type() size = c_int(sizeof(_buffer)) result = self.library.Cli_Upload(self.pointer, block_type, block_num, byref(_buffer), byref(size)) check_error(result, context="client") logger.info('received %s bytes' % size) return bytearray(_buffer)