Skip to content
Snippets Groups Projects
Select Git revision
  • 8f9a3a8a489a659bb8ebc2e75f0ee9557a574bef
  • master default protected
2 results

serialtimetest.2.py

Blame
  • Neil Gershenfeld's avatar
    Neil Gershenfeld authored
    a2781b46
    History
    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