shorter examples

This commit is contained in:
Michael Davidsaver
2013-03-31 09:49:17 -04:00
parent 63aaf8afe7
commit 0049d2c59f
4 changed files with 11 additions and 20 deletions

View File

@ -1,11 +1,10 @@
class MySup(object):
def __init__(self, rec):
self.val = rec.field('VAL')
print rec,self.val.fieldinfo()
print 'VAL',self.val.getval()
print rec, rec.field('VAL').fieldinfo()
print 'VAL', rec.VAL
def process(self, rec, reason):
self.val.putval(1+self.val.getval())
rec.VAL = 1+rec.VAL
def detach(self, rec):
print 'test1 detach',rec.name()

View File

@ -54,12 +54,11 @@ class Device(object):
def __init__(self, rec, drv):
self.driver, self.record = drv, rec
self.driver.addrec(self)
self.val = rec.field('VAL')
def detach(self, rec):
self.driver.delrec(self)
def process(self, rec, data):
if data is not None:
self.val.putval(data)
self.VAL = data
def build(rec, args):
drv = insts[args]

View File

@ -5,12 +5,8 @@ from numpy.random import randint, uniform
class WfSup(object):
def __init__(self, rec, args):
self.VAL = rec.field('VAL')
self.NORD = rec.field('NORD')
self.nelm = rec.field('NELM').getval()
self.arr = self.VAL.getarray()
self.x = np.arange(self.nelm)
self.arr = rec.field('VAL').getarray()
self.x = np.arange(rec.NELM)
self.phase = 0.0
@ -19,11 +15,9 @@ class WfSup(object):
def process(self, rec, reason):
pha = self.phase*np.pi/180.0
self.phase += 10.0
if self.phase>=360.0:
self.phase == 360.0
self.phase = np.fmod(self.phase+10.0, 360.0)
N=randint(1,self.nelm)
N=randint(1, rec.NELM)
val=self.arr[:N]
x=self.x[:N]
@ -35,7 +29,7 @@ class WfSup(object):
val[:]*=uniform(0.5,2.0)
val[:]+=2
self.NORD.putval(N)
self.NORD = N
def build(rec, args):
return WfSup(rec, args)

View File

@ -5,7 +5,6 @@ AsyncComplete = object()
class Counter(object):
def __init__(self, rec, args):
self.val = rec.field('VAL')
self.nextval = None
self.timer = None
def detach(self, rec):
@ -14,10 +13,10 @@ class Counter(object):
def process(self, rec, reason):
if reason is AsyncComplete:
self.val.putval(self.nextval)
rec.VAL = self.nextval
else:
self.nextval = self.val.getval()+1
self.nextval = rec.VAL+1
self.timer = threading.Timer(0.2, rec.asyncFinish, kwargs={'reason':AsyncComplete})
rec.asyncStart()
self.timer.start()