add some fixes for macos serial prots
This commit is contained in:
parent
aa2ba43e8f
commit
4540aebf6d
|
|
@ -4,7 +4,6 @@ import random
|
||||||
|
|
||||||
usb_device = "/dev/tty.usbserial-2102926963071"
|
usb_device = "/dev/tty.usbserial-2102926963071"
|
||||||
|
|
||||||
|
|
||||||
def write_block(data, base_addr = 0):
|
def write_block(data, base_addr = 0):
|
||||||
msg = b''
|
msg = b''
|
||||||
|
|
||||||
|
|
@ -13,8 +12,7 @@ def write_block(data, base_addr = 0):
|
||||||
data_str = '{:04X}'.format(data)
|
data_str = '{:04X}'.format(data)
|
||||||
msg += f"M{addr_str}{data_str}\r\n".encode('ascii')
|
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):
|
def read_block(addrs, base_addr):
|
||||||
|
|
@ -24,20 +22,25 @@ def read_block(addrs, base_addr):
|
||||||
addr_str = '{:04X}'.format(base_addr + addr)
|
addr_str = '{:04X}'.format(base_addr + addr)
|
||||||
msg += f"M{addr_str}\r\n".encode('ascii')
|
msg += f"M{addr_str}\r\n".encode('ascii')
|
||||||
|
|
||||||
with serial.Serial(usb_device, 115200) as ser:
|
ser.write(msg)
|
||||||
ser.write(msg)
|
response = ser.read(7*addrs)
|
||||||
response = ser.read(7*addrs)
|
response = response.decode('ascii').replace('\r\n', '').split('M')
|
||||||
response = response.decode('ascii').replace('\r\n', '').split('M')
|
return [int(i, 16) for i in response if i]
|
||||||
return [int(i, 16) for i in response if i]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
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)
|
with serial.Serial(usb_device, 115200) as ser:
|
||||||
print(i)
|
|
||||||
|
|
||||||
if(received != test_data):
|
sleep(1)
|
||||||
exit()
|
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue