shorter examples
This commit is contained in:
@ -1,11 +1,10 @@
|
|||||||
|
|
||||||
class MySup(object):
|
class MySup(object):
|
||||||
def __init__(self, rec):
|
def __init__(self, rec):
|
||||||
self.val = rec.field('VAL')
|
print rec, rec.field('VAL').fieldinfo()
|
||||||
print rec,self.val.fieldinfo()
|
print 'VAL', rec.VAL
|
||||||
print 'VAL',self.val.getval()
|
|
||||||
def process(self, rec, reason):
|
def process(self, rec, reason):
|
||||||
self.val.putval(1+self.val.getval())
|
rec.VAL = 1+rec.VAL
|
||||||
def detach(self, rec):
|
def detach(self, rec):
|
||||||
print 'test1 detach',rec.name()
|
print 'test1 detach',rec.name()
|
||||||
|
|
||||||
|
@ -54,12 +54,11 @@ class Device(object):
|
|||||||
def __init__(self, rec, drv):
|
def __init__(self, rec, drv):
|
||||||
self.driver, self.record = drv, rec
|
self.driver, self.record = drv, rec
|
||||||
self.driver.addrec(self)
|
self.driver.addrec(self)
|
||||||
self.val = rec.field('VAL')
|
|
||||||
def detach(self, rec):
|
def detach(self, rec):
|
||||||
self.driver.delrec(self)
|
self.driver.delrec(self)
|
||||||
def process(self, rec, data):
|
def process(self, rec, data):
|
||||||
if data is not None:
|
if data is not None:
|
||||||
self.val.putval(data)
|
self.VAL = data
|
||||||
|
|
||||||
def build(rec, args):
|
def build(rec, args):
|
||||||
drv = insts[args]
|
drv = insts[args]
|
||||||
|
@ -5,12 +5,8 @@ from numpy.random import randint, uniform
|
|||||||
|
|
||||||
class WfSup(object):
|
class WfSup(object):
|
||||||
def __init__(self, rec, args):
|
def __init__(self, rec, args):
|
||||||
self.VAL = rec.field('VAL')
|
self.arr = rec.field('VAL').getarray()
|
||||||
self.NORD = rec.field('NORD')
|
self.x = np.arange(rec.NELM)
|
||||||
self.nelm = rec.field('NELM').getval()
|
|
||||||
|
|
||||||
self.arr = self.VAL.getarray()
|
|
||||||
self.x = np.arange(self.nelm)
|
|
||||||
|
|
||||||
self.phase = 0.0
|
self.phase = 0.0
|
||||||
|
|
||||||
@ -19,11 +15,9 @@ class WfSup(object):
|
|||||||
|
|
||||||
def process(self, rec, reason):
|
def process(self, rec, reason):
|
||||||
pha = self.phase*np.pi/180.0
|
pha = self.phase*np.pi/180.0
|
||||||
self.phase += 10.0
|
self.phase = np.fmod(self.phase+10.0, 360.0)
|
||||||
if self.phase>=360.0:
|
|
||||||
self.phase == 360.0
|
|
||||||
|
|
||||||
N=randint(1,self.nelm)
|
N=randint(1, rec.NELM)
|
||||||
|
|
||||||
val=self.arr[:N]
|
val=self.arr[:N]
|
||||||
x=self.x[:N]
|
x=self.x[:N]
|
||||||
@ -35,7 +29,7 @@ class WfSup(object):
|
|||||||
val[:]*=uniform(0.5,2.0)
|
val[:]*=uniform(0.5,2.0)
|
||||||
val[:]+=2
|
val[:]+=2
|
||||||
|
|
||||||
self.NORD.putval(N)
|
self.NORD = N
|
||||||
|
|
||||||
def build(rec, args):
|
def build(rec, args):
|
||||||
return WfSup(rec, args)
|
return WfSup(rec, args)
|
||||||
|
@ -5,7 +5,6 @@ AsyncComplete = object()
|
|||||||
|
|
||||||
class Counter(object):
|
class Counter(object):
|
||||||
def __init__(self, rec, args):
|
def __init__(self, rec, args):
|
||||||
self.val = rec.field('VAL')
|
|
||||||
self.nextval = None
|
self.nextval = None
|
||||||
self.timer = None
|
self.timer = None
|
||||||
def detach(self, rec):
|
def detach(self, rec):
|
||||||
@ -14,10 +13,10 @@ class Counter(object):
|
|||||||
|
|
||||||
def process(self, rec, reason):
|
def process(self, rec, reason):
|
||||||
if reason is AsyncComplete:
|
if reason is AsyncComplete:
|
||||||
self.val.putval(self.nextval)
|
rec.VAL = self.nextval
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.nextval = self.val.getval()+1
|
self.nextval = rec.VAL+1
|
||||||
self.timer = threading.Timer(0.2, rec.asyncFinish, kwargs={'reason':AsyncComplete})
|
self.timer = threading.Timer(0.2, rec.asyncFinish, kwargs={'reason':AsyncComplete})
|
||||||
rec.asyncStart()
|
rec.asyncStart()
|
||||||
self.timer.start()
|
self.timer.start()
|
||||||
|
Reference in New Issue
Block a user