diff --git a/CDB/LOFAR_ConfigDb.json b/CDB/LOFAR_ConfigDb.json index f4032fb611d54f261676041658af859a69f37559..705f701556224fa4936e35916993aa2d4d05107e 100644 --- a/CDB/LOFAR_ConfigDb.json +++ b/CDB/LOFAR_ConfigDb.json @@ -479,6 +479,8 @@ "1000", "rnd20", "1000", + "rnd21", + "1000", "state", "1000", "status", diff --git a/devices/test/devices/random_data.py b/devices/test/devices/random_data.py index 02c11e532d7a2ad69e4ffce1e51188e42c6cf3f7..43e1a037624a516f88d05d644fd86e23fab6baa8 100644 --- a/devices/test/devices/random_data.py +++ b/devices/test/devices/random_data.py @@ -25,8 +25,14 @@ class Random_Data(Device): """ Random data monitor point device """ + + dim_array = 1024 # x-axis dimension of a random values array + def read(self): return random.random() + + def read_array(self): + return random.rand(self.dim_array).astype(double) # Attributes rnd1 = attribute( @@ -388,6 +394,26 @@ class Random_Data(Device): min_warning = 0.98, fget = read, ) + + rnd21 = attribute( + dtype = ('DevDouble',), + max_dim_x = dim_array, + max_dim_y = 1, + 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_array, + ) # General methods def init_device(self): @@ -457,6 +483,9 @@ class Random_Data(Device): self.rnd20.set_data_ready_event(True) self.set_change_event("rnd20", True, True) self.set_archive_event("rnd20", True, True) + self.rnd21.set_data_ready_event(True) + self.set_change_event("rnd21", True, True) + self.set_archive_event("rnd21", True, True) self.set_state(DevState.ON) def delete_device(self):