Select Git revision
random_data.py
L2SS-318: replace RandomData with Pythonic random_data
Stefano Di Frischia authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
random_data.py 12.71 KiB
# -*- coding: utf-8 -*-
#
# This file is part of the LOFAR2.0 project
#
#
#
# Distributed under the terms of the APACHE license.
# See LICENSE.txt for more info.
# TODO(Corne): Remove sys.path.append hack once packaging is in place!
import os, sys
currentdir = os.path.dirname(os.path.realpath(__file__))
parentdir = os.path.dirname(currentdir)
parentdir = os.path.dirname(parentdir)
sys.path.append(parentdir)
# PyTango imports
from tango import DevState
from tango.server import run, Device, attribute, command
from numpy import random
__all__ = ["Random_Data", "main"]
class Random_Data(Device):
"""
Random data monitor point device
"""
def read(self):
return random.random()
# Attributes
rnd1 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd2 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd3 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd4 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd5 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd6 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd7 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd8 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd9 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd10 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd11 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd12 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd13 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd14 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd15 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd16 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd17 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd18 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd19 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
rnd20 = attribute(
dtype = 'DevDouble',
polling_period = 1000,
period = 1000,
rel_change = 0.1,
abs_change = 0.1,
archive_period = 1000,
archive_rel_change = 0.1,
archive_abs_change = 0.1,
max_value = 1.0,
min_value = 0.0,
max_alarm = 1.0,
min_alarm = 0.99,
max_warning = 0.99,
min_warning = 0.98,
fget = read,
)
# General methods
def init_device(self):
"""
Initialises the attributes and properties of the RandomData device.
"""
Device.init_device(self)
self.set_state(DevState.OFF)
self.rnd1.set_data_ready_event(True)
self.set_change_event("rnd1", True, True)
self.set_archive_event("rnd1", True, True)
self.rnd2.set_data_ready_event(True)
self.set_change_event("rnd2", True, True)
self.set_archive_event("rnd2", True, True)
self.rnd3.set_data_ready_event(True)
self.set_change_event("rnd3", True, True)
self.set_archive_event("rnd3", True, True)
self.rnd4.set_data_ready_event(True)
self.set_change_event("rnd4", True, True)
self.set_archive_event("rnd4", True, True)
self.rnd5.set_data_ready_event(True)
self.set_change_event("rnd5", True, True)
self.set_archive_event("rnd5", True, True)
self.rnd6.set_data_ready_event(True)
self.set_change_event("rnd6", True, True)
self.set_archive_event("rnd6", True, True)
self.rnd7.set_data_ready_event(True)
self.set_change_event("rnd7", True, True)
self.set_archive_event("rnd7", True, True)
self.rnd8.set_data_ready_event(True)
self.set_change_event("rnd8", True, True)
self.set_archive_event("rnd8", True, True)
self.rnd9.set_data_ready_event(True)
self.set_change_event("rnd9", True, True)
self.set_archive_event("rnd9", True, True)
self.rnd10.set_data_ready_event(True)
self.set_change_event("rnd10", True, True)
self.set_archive_event("rnd10", True, True)
self.rnd11.set_data_ready_event(True)
self.set_change_event("rnd11", True, True)
self.set_archive_event("rnd11", True, True)
self.rnd12.set_data_ready_event(True)
self.set_change_event("rnd12", True, True)
self.set_archive_event("rnd12", True, True)
self.rnd13.set_data_ready_event(True)
self.set_change_event("rnd13", True, True)
self.set_archive_event("rnd13", True, True)
self.rnd14.set_data_ready_event(True)
self.set_change_event("rnd14", True, True)
self.set_archive_event("rnd14", True, True)
self.rnd15.set_data_ready_event(True)
self.set_change_event("rnd15", True, True)
self.set_archive_event("rnd15", True, True)
self.rnd16.set_data_ready_event(True)
self.set_change_event("rnd16", True, True)
self.set_archive_event("rnd16", True, True)
self.rnd17.set_data_ready_event(True)
self.set_change_event("rnd17", True, True)
self.set_archive_event("rnd17", True, True)
self.rnd18.set_data_ready_event(True)
self.set_change_event("rnd18", True, True)
self.set_archive_event("rnd18", True, True)
self.rnd19.set_data_ready_event(True)
self.set_change_event("rnd19", True, True)
self.set_archive_event("rnd19", True, True)
self.rnd20.set_data_ready_event(True)
self.set_change_event("rnd20", True, True)
self.set_archive_event("rnd20", True, True)
self.set_state(DevState.ON)
def delete_device(self):
self.set_state(DevState.OFF)
def main(args = None, **kwargs):
"""
Main function of the RandomData module.
"""
return run((Random_Data,), args = args, **kwargs)
if __name__ == '__main__':
main()