Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| """ | |
| Extends Yapsy IPlugin interface to pass information about the board to plugins. | |
| Fields of interest for plugins: | |
| args: list of arguments passed to the plugins | |
| sample_rate: actual sample rate of the board | |
| eeg_channels: number of EEG | |
| aux_channels: number of AUX channels | |
| If needed, plugins that need to report an error can set self.is_activated to False during activate() call. | |
| NB: because of how yapsy discovery system works, plugins must use the following syntax to inherit to use polymorphism (see http://yapsy.sourceforge.net/Advices.html): | |
| import plugin_interface as plugintypes | |
| class PluginExample(plugintypes.IPluginExtended): | |
| ... | |
| """ | |
| from yapsy.IPlugin import IPlugin | |
| class IPluginExtended(IPlugin): | |
| # args: passed by command line | |
| def pre_activate(self, args, sample_rate=250, eeg_channels=8, aux_channels=3, imp_channels=0): | |
| self.args = args | |
| self.sample_rate = sample_rate | |
| self.eeg_channels = eeg_channels | |
| self.aux_channels = aux_channels | |
| self.imp_channels = imp_channels | |
| # by default we say that activation was okay -- inherited from IPlugin | |
| self.is_activated = True | |
| self.activate() | |
| # tell outside world if init went good or bad | |
| return self.is_activated | |
| # inherited from IPlugin | |
| def activate(self): | |
| print("Plugin %s activated." % (self.__class__.__name__)) | |
| # inherited from IPlugin | |
| def deactivate(self): | |
| print("Plugin %s deactivated." % (self.__class__.__name__)) | |
| # plugins that require arguments should implement this method | |
| def show_help(self): | |
| print("I, %s, do not need any parameter." % (self.__class__.__name__)) |