You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							41 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							41 lines
						
					
					
						
							1.0 KiB
						
					
					
				#!/usr/bin/env python3
 | 
						|
import zmq
 | 
						|
 | 
						|
import cereal.messaging as messaging
 | 
						|
from cereal.services import service_list
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
  poller = zmq.Poller()
 | 
						|
 | 
						|
  fsock = messaging.sub_sock("frame", poller)
 | 
						|
  msock = messaging.sub_sock("model", poller)
 | 
						|
 | 
						|
  frmTimes = {}
 | 
						|
  proc = []
 | 
						|
 | 
						|
  last100 = []
 | 
						|
 | 
						|
  while 1:
 | 
						|
    polld = poller.poll(timeout=1000)
 | 
						|
    for sock, mode in polld:
 | 
						|
      if mode != zmq.POLLIN:
 | 
						|
        continue
 | 
						|
      if sock == fsock:
 | 
						|
        f = messaging.recv_one(sock)
 | 
						|
        frmTimes[f.frame.frameId] = f.frame.timestampEof
 | 
						|
      else:
 | 
						|
        proc.append(messaging.recv_one(sock))
 | 
						|
        nproc = []
 | 
						|
        for mm in proc:
 | 
						|
          fid = mm.model.frameId
 | 
						|
 | 
						|
          if fid in frmTimes:
 | 
						|
            tm = (mm.logMonoTime-frmTimes[fid])/1e6
 | 
						|
            del frmTimes[fid]
 | 
						|
            last100.append(tm)
 | 
						|
            last100 = last100[-100:]
 | 
						|
            print("%10d: %.2f ms    min: %.2f  max: %.2f" %  (fid, tm, min(last100), max(last100)))
 | 
						|
          else:
 | 
						|
            nproc.append(mm)
 | 
						|
        proc = nproc
 | 
						|
 | 
						|
 |