Feature plugins
This is a new range of plugins that come with a new docking window in the main UI. You may find details about it in the section 8 of the main UI documentation.
Feature plugins implement pieces of functionality not directly related to the I/Q stream(s) DSP processing (handled by devices and channel plugins in the device sets) and not part of the core functionality. They can control and interact with devices and channels to achieve a specialized piece of functionality.
Some first plugins on this kind have been released:
- Simple PTT (Push To Talk) to switchover Rx/Tx device sets as you would do with a transceiver. This is meant to stay very simple and also serve as a basic example of a feature plugin.
- RigCtl Server to control a Rx device set via rigctl protocol. This was migrated from the RigCtrl plugin in the former "misc" section of the plugins.
This is the initial release of this new plugin framework and for now handles autonomous types of plugins. Next more global pieces of functionality will be added to handle more complex tasks:
- Inter feature communication: implement some privileged channel so features of a same feature set or different feature sets (TBD) can interact. Example: one PTT command also triggers specialized feature plugins handling PA switchover.
- Back communication from devices and channels. This is the internal equivalent of "reverse API" with features as targets. Example: the "AFC & Beacon locking" in issue #634 needs it
- Privileged anonymous (byte type) data channels to exchange information to post-process decoded data or PSD (Power Spectrum Density) data in real time. Example: implementing the "v5" branch "SuperScanner" feature as a feature plugin needs this to be able to receive PSD data in real time.
- Multiple feature sets: feature sets are meant to organize features in logical groups. As feature plugins develop we may need to have several of these.