add some fixes for macos serial prots

This commit is contained in:
Fischer Moseley 2023-03-14 16:21:18 -04:00
parent aa2ba43e8f
commit 4540aebf6d
1 changed files with 19 additions and 16 deletions

View File

@ -4,7 +4,6 @@ import random
usb_device = "/dev/tty.usbserial-2102926963071"
def write_block(data, base_addr = 0):
msg = b''
@ -13,8 +12,7 @@ def write_block(data, base_addr = 0):
data_str = '{:04X}'.format(data)
msg += f"M{addr_str}{data_str}\r\n".encode('ascii')
with serial.Serial(usb_device, 115200) as ser:
ser.write(msg)
ser.write(msg)
def read_block(addrs, base_addr):
@ -24,20 +22,25 @@ def read_block(addrs, base_addr):
addr_str = '{:04X}'.format(base_addr + addr)
msg += f"M{addr_str}\r\n".encode('ascii')
with serial.Serial(usb_device, 115200) as ser:
ser.write(msg)
response = ser.read(7*addrs)
response = response.decode('ascii').replace('\r\n', '').split('M')
return [int(i, 16) for i in response if i]
ser.write(msg)
response = ser.read(7*addrs)
response = response.decode('ascii').replace('\r\n', '').split('M')
return [int(i, 16) for i in response if i]
if __name__ == "__main__":
for i in range(1000):
test_data = [random.randint(0, 65535) for i in range(32)]
write_block(test_data, 0)
received = read_block(32, 0)
print(i)
if(received != test_data):
exit()
with serial.Serial(usb_device, 115200) as ser:
sleep(1)
for i in range(1000):
test_data = [random.randint(0, 65535) for i in range(32)]
write_block(test_data, 0)
received = read_block(32, 0)
print(i)
if(received != test_data):
exit()