def query_decks(self):
        syncer = Syncer()
        self._deck_memory_manager.query_decks(syncer.success_cb,
                                              syncer.failure_cb)
        syncer.wait()
        if syncer.is_success:
            return syncer.success_args[0]

        raise RuntimeError(syncer.failure_args[0])
 def write_sync(self, address, data):
     """Write a block of binary data to the deck, block until done"""
     syncer = Syncer()
     self.write(address,
                data,
                syncer.success_cb,
                write_failed_cb=syncer.failure_cb)
     syncer.wait()
     return syncer.is_success
    def _write_command_data(self, address, data):
        if not self.is_started:
            raise Exception('Deck not ready')

        syncer = Syncer()
        self._deck_memory_manager._write(self._command_base_address, address,
                                         data, syncer.success_cb,
                                         syncer.failure_cb, None)
        syncer.wait()
        return syncer.is_success
 def read_sync(self, address, length):
     """Read a block of data from a deck, block until done"""
     syncer = Syncer()
     self.read(address,
               length,
               syncer.success_cb,
               read_failed_cb=syncer.failure_cb)
     syncer.wait()
     if syncer.is_success:
         return syncer.success_args[1]
     else:
         return None
 def query_decks(self):
     syncer = Syncer()
     self._deck_memory_manager.query_decks(syncer.success_cb)
     syncer.wait()
     return syncer.success_args[0]