def prepare(self, integ_time, countable_elem, **opts): self.print_value = False if countable_elem is None: try: self.countable_elem_name = self.getEnv('ActiveMntGrp') except UnknownEnv: return self.countable_elem = self.getObj(self.countable_elem_name) else: self.countable_elem_name = countable_elem.name self.countable_elem = countable_elem if self.countable_elem is None: return self.channels = [] self.values = [] if self.countable_elem.type == Type.MeasurementGroup: names = self.countable_elem.getChannelLabels() self.names = [[n] for n in names] for channel_info in self.countable_elem.getChannels(): full_name = channel_info["full_name"] channel = Device(full_name) self.channels.append(channel) value = channel.getValue(force=True) self.values.append([value]) valueObj = channel.getValueObj_() valueObj.subscribeEvent(self.counterChanged, channel) else: channel = self.countable_elem self.names = [[channel.getName()]] channel = Device(channel.full_name) self.channels.append(channel) value = channel.getValue(force=True) self.values.append([value]) valueObj = channel.getValueObj_() valueObj.subscribeEvent(self.counterChanged, channel)