Files
x04sa-es2/script/devices/SimulatedDiode.py
T
gac-x04sa 41adeb3038 Startup
2018-01-25 09:27:41 +01:00

28 lines
828 B
Python

import random
class SimulatedDiode(ReadonlyRegisterBase):
def __init__(self, name):
ReadonlyRegisterBase.__init__(self, name)
self.x=0.0
self.y=0.0
self.radius=0.125
self.amplitude = 600.0
self.offset=200.0
self.border = 0.025
def doRead(self):
x,y = scx.position, scy.position
noise = random.random() * self.amplitude/100.0
d = math.hypot(x-self.x, y-self.y)
#print d
if d>self.radius:
return self.offset + noise
elif d< (self.radius - self.border ):
return self.offset + noise + self.amplitude
else :
return self.offset + noise + self.amplitude *(self.radius - d)/self.border
def set_center(self, x, y):
self.x, self.y = x, y