#!/usr/bin/env python import sys import time import os import threading path = os.path.dirname(__file__) + '/../../bin/virt-quad-fifos/' def create_msg(): msg = bytes() msg += b'\xBE' msg += b'\x01' msg += b'\x00' msg += b'\x00' msg += b'\x00' msg += b'\x00' msg += b'\x00' print msg checksum = 0 for b in msg: checksum ^= b msg += checksum.to_bytes(1, 'little') return msg def listen(): with open(path + 'uart-tx', 'r') as fifo: while True: c = fifo.read() if c: print c def do_test(): # Start a listener t = threading.Thread(target=listen) t.daemon = True t.start() fifo = open(path + 'uart-rx', 'w') fifo.write(b'\xBE\x01\x00\x00\x00\x00\x00\xBF') fifo.write(b'\xBE\x01\x00\x00\x00\x00\x00\xBF') fifo.write(b'\xBE\x01\x00\x00\x00\x00\x00\xBF') if __name__ == '__main__': for i in range(1): print("Test ", i) do_test() time.sleep(1)