    def wait_write_data(self, d):
        self.wait_tx_empty()
        clksleep(1)

        self.write_data(d)
        clksleep(1)

    def echoback_worker(self):
        self.init_uart()
        clksleep(10)

        while is_worker_running():
            if self.check_valid():
                data = self.read_char()
                self.wait_write_data(data)
                clksleep(1)

            for i in range(10000):
                pass