zoukankan      html  css  js  c++  java
  • DTMF Stresstesting

    import threading,time,serial,sys
    from random import randrange
     
    port_snd=14
    port_recv=2
    recnt=0
    ser_snd=serial.Serial(port_snd,115200,timeout=0)
    ser_recv=serial.Serial(port_recv,115200,timeout=0)
    con = threading.Condition()
    flag=0
    recv_rdd=[]
    snd_rdd=[]
    sndset=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','*','#']
    filename='log_dtmg_'
    fid=open(filename+time.strftime('%m_%d_%H_%M')+'.log','w')
     
     
    def recv_rd():
          ss =ser_recv.readlines()
          for ln in ss:
                print ln+'                                         <-Recv: '
                fid.write(ln+' Length of rd is '+str(len(ss))+' ')
                fid.flush()
          return ss
    def snd_rd():
          ss =ser_snd.readlines()
          for ln in ss:
                print ln+'                                        ->Snd'
                fid.write(ln+' Length of rd is'+str(len(ss))+' ')
                fid.flush()
          return ss 
     
     
    #recv
    def recv():
          global flag,sndc
          if con.acquire():
                while True:
                      if flag%2==1:
                            print str(flag)+' '+'Recv...active...'
                            fid.write(str(flag)+' '+'Recv...active... ')
                            recnt=0
                            while '+TONE:'+str(ord(sndc))+' ' not in recv_rd():
                                  recnt+=1
                                  time.sleep(0.05)
                                  if recnt>20:
                                        print str(flag)+' '+'                                                     <-Recv failed!!'
                                        flag+=1
                                        con.notify()
                                        break
                            else:
                                  print str(flag)+' '+'                                                            <-Recv Success!!'
                                  flag+=1
                                  con.notify()
                            print recnt
                      #time.sleep(2)           
                      con.wait()   
    #send
    def snd():
          global flag,sndc
          if con.acquire():
                while True:
                      sndc=sndset[randrange(16)]
                      if flag%2==0:
                            ser_snd.write('at+vts='+sndc+' ')
                            print str(flag)+' '+'Send...acttive....'
                            fid.write(str(flag)+' '+'Send...acttive.... ')
                            sndcnt=0
                            while 'OK ' not in snd_rd():
                                  time.sleep(0.05)
                                  sndcnt+=1
                                  if sndcnt>20:
                                        print str(flag)+' '+'Send failed!!'                                
                                        flag+=1
                                        con.notify()
                                        break
                            else:
                                        flag+=1
                                        con.notify()
                            print sndcnt
                      #time.sleep(2)
                      con.wait()
     
     
    print 'Main Thrd:: starting at: '+time.ctime()+' '
     
    t_snd=threading.Thread(target=snd)
    t_recv=threading.Thread(target=recv)                      
     
    t_snd.start()
    t_recv.start()
    t_snd.join()
    t_recv.join()
  • 相关阅读:
    [Web 前端] CSS 盒子模型,绝对定位和相对定位
    [Android Pro] 跨平台反编译工具 jadx (ubuntu亲测 可用)
    [Web 前端] Jquery 复制元素,并修改属性, 追加到另一个元素后面
    [Web 前端 ] Jquery attr()方法 获取或修改 对象的属性值
    [Web 前端] Jquery实现可直接编辑的表格
    [Web 前端] td长度固定,内容过长,超过部分用省略号代替
    [Network] okhttp3与旧版本okhttp的区别分析
    [Android Pro] AndroidStudio IDE界面插件开发(进阶篇之Editor)
    graph embedding 使用方法
    win10 'make' 不是内部或外部命令
  • 原文地址:https://www.cnblogs.com/eiguleo/p/3879106.html
Copyright © 2011-2022 走看看