comparison light8/updatefreq.py @ 120:b75bfbcf5979

new modules: dmxclient provides a very convenient way for clients to talk to the new modules: dmxclient provides a very convenient way for clients to talk to the dmxserver; updatefreq stores event times and computes a report about how frequently they occur
author drewp
date Fri, 13 Jun 2003 14:00:36 +0000
parents 45b12307c695
children 57809e0ef359
comparison
equal deleted inserted replaced
119:6f9898f00c9c 120:b75bfbcf5979
7 and then float() or str() the object to learn the updates per second. 7 and then float() or str() the object to learn the updates per second.
8 8
9 the samples param to __init__ specifies how many past updates will 9 the samples param to __init__ specifies how many past updates will
10 be stored. """ 10 be stored. """
11 11
12 def __init__(self,samples=20): 12 def __init__(self,samples=40):
13 self.times=[0] 13 self.times=[0]
14 self.samples=samples 14 self.samples=samples
15 15
16 def update(self): 16 def update(self):
17 17
22 def __float__(self): 22 def __float__(self):
23 23
24 """a cheap algorithm, for now, which looks at the first and 24 """a cheap algorithm, for now, which looks at the first and
25 last times only""" 25 last times only"""
26 26
27 try: 27 hz=len(self.times)/(self.times[-1]-self.times[0])
28 hz=len(self.times)/(self.times[-1]-self.times[0])
29 except ZeroDivisionError:
30 return 0
31 return hz 28 return hz
32 def __str__(self): 29 def __str__(self):
33 return "%.2fHz"%float(self) 30 return "%.1fHz"%float(self)