Select Git revision
serialtimetest.2.py
Neil Gershenfeld authored
serialtimetest.2.py 1.40 KiB
#
# serialtimetest.2.py
# serial speed time test
#
# Neil Gershenfeld 4/11/21
# This work may be reproduced, modified, distributed,
# performed, and displayed for any purpose, but must
# acknowledge this project. Copyright is retained and
# must be preserved. The work is provided as is; no
# warranty is provided, and users accept all liability.
#
import serial,sys,time,signal
if (len(sys.argv) != 5):
print("command line: serialtest.2.py port1 port2 speed delay")
sys.exit()
device1 = sys.argv[1]
device2 = sys.argv[2]
baud = int(sys.argv[3])
delay = float(sys.argv[4])
print('open '+device1+' at '+str(baud)+' delay '+str(delay))
port1 = serial.Serial(device1,baudrate=baud,timeout=0)
print('open '+device2+' at '+str(baud)+' delay '+str(delay))
port2 = serial.Serial(device2,baudrate=baud,timeout=0)
msg0 = b"\x00"
msg1 = b"\xff"
flag = 0
'''
#
# loop version
#
oldtime = time.time()
while (1):
newtime = time.time()
if ((newtime-oldtime) >= delay):
oldtime = newtime
if (flag == 0):
port.write(msg0)
flag = 1
else:
port.write(msg1)
flag = 0
'''
#
# alarm version
#
def handler(signum,stack):
global flag
if (flag == 0):
port1.write(msg0)
port2.write(msg0)
flag = 1
else:
port1.write(msg0)
port2.write(msg0)
flag = 0
signal.signal(signal.SIGALRM,handler)
signal.setitimer(signal.ITIMER_REAL,1,delay)
while (1):
0