def __init__(self, name, **kwargs): pyrogue.Device.__init__(self, name=name, description='SMuRF Data CustomTransmitter', **kwargs) self._transmitter = MyModule.MyTransmitter() # Add "Disable" variable self.add( pyrogue.LocalVariable( name='Disable', description= 'Disable the processing block. Data will just pass thorough to the next slave.', mode='RW', value=False, localSet=lambda value: self._transmitter.setDisable(value), localGet=self._transmitter.getDisable)) # Add a variable for the debugData flag self.add( pyrogue.LocalVariable( name='DebugData', description='Set the debug mode, for the data', mode='RW', value=False, localSet=lambda value: self._transmitter.setDebugData(value), localGet=self._transmitter.getDebugData)) # Add a variable for the debugMeta flag self.add( pyrogue.LocalVariable( name='DebugMeta', description='Set the debug mode, for the metadata', mode='RW', value=False, localSet=lambda value: self._transmitter.setDebugMeta(value), localGet=self._transmitter.getDebugMeta)) # Add the data dropped counter variable self.add( pyrogue.LocalVariable(name='DataDropCnt', description='Number of data frame dropped', mode='RO', value=0, pollInterval=1, localGet=self._transmitter.getDataDropCnt)) # Add the metadata dropped counter variable self.add( pyrogue.LocalVariable( name='MetaDropCnt', description='Number of metadata frame dropped', mode='RO', value=0, pollInterval=1, localGet=self._transmitter.getMetaDropCnt)) # Command to clear all the counters self.add( pyrogue.LocalCommand(name='clearCnt', description='Clear all counters', function=self._transmitter.clearCnt))