- _Fullscreen_ (Shortcut F11): Toggle full screen mode
- Workspaces:
- _New_: create a new workspace. See "workspaces" paragraph for details
- _View all_: show all workspaces
- _Remove empty_: remove empty workspaces, Only workspaces without any windows can be removed.
- Preferences:
- _Configurations_: opens a dialog to manage instance configurations. See configurations dialog documentation [here](configurations.md)
- _Audio_: opens a dialog to choose the audio output device. See the audio management documentation [here](audio.md)
- _Logging_: opens a dialog to choose logging options. See "Logging" paragraph next for details
- _FFT_: opens a dialog to run the `fftwf-wisdom` utility with a choice of direct and possibly reverse FFT sizes. It produces a so called wisdom file `fftw-wisdom` that speeds up FFT allocations. It is created at a default location and will be used at next invocations of SDRangel. See "FFT" paragraph next for details.
- _AMBE_: Opens a dialog to select AMBE3000 serial devices or AMBE server addresses to use for AMBE digital voice processing. If none is selected AMBE frames decoding will be done with mbelib if available else no audio will be produced for AMBE digital voice. See "AMBE"paragraph next for details.
- _Lime RFE_: Presemt only if LimeSuite library is available. This opens a dialog to control a LimeRFE device via USB. The details are provided [here](limerfeusbgui.md).
- _My Position_: opens a dialog to enter your station ("My Position") coordinates in decimal degrees with north latitudes positive and east longitudes positive. This is used whenever positional data is to be displayed (APRS, DPRS, ...). For it now only works with D-Star $$CRC frames. See [DSD demod plugin](../plugins/channelrx/demoddsd/readme.md) for details on how to decode Digital Voice modes.
- _Devices_: section to deal with devices settings
- _User arguments_: opens a dialog to let the user give arguments specific to a device and its instance (sequence) in the system
- _Commands_: opens a dialog to manage commands. See "Commands" paragraph next.
- _Save all_: save all preferences
- Help:
- _Loaded Plugins_: shows details about the loaded plugins. See "Loaded plugins" paragraph below for details.
The different component windows are arranged freely in the MDI (Multiple Document Interface) area of the workspace. Any number of workspaces can be added that will stack upon each other by default and can be put forward using the side tabs (1). The workspace index appears on the left of the workspace top bar (2):
The workspaces are attached to a docking area of the main window and can be undocked to be moved to another display in a multiple screen setup for example.
Creates a new transmitter (sink device set). A dialog opens to select which transmitting device to use similarly to (2) but with a choice of transmitting devices.
<h3>1.4: Create new MIMO device</h3>
Creates a new MIMO device (MIMO device set). A dialog opens to select which MIMO device to use similarly to (2) but with a choice of MIMO devices.
<h3>1.5: Create a new feature</h3>
Creates a new feature. A dialog opens to select which feature to use:
Move the cursor to select a feature. Features can be organized into groups at the top level (here "Test"). When selecting a group only Edit and Delete group are available
<h4>1.6.2: Add new preset</h4>
Save the current feature set in a new preset.
<h4>1.6.3: Update selected preset</h4>
Update the selected preset with the current feature set
<h4>1.6.4: Save presets</h4>
This button is inactive. All presets are saved at program exit or with the `Preferences`/ `Save All` main window menu.
<h4>1.6.5: Edit preset</h4>
Change preset name or the preset group to which this preset belongs. If selection is a group the group name can be changed.
Arranges windowsa in the MDO area of the workspace in a way similar to the arrangement in version 6:
- Devices are stacked in numerical order top left.
- Fixed height features are stacked in order underneath devices and resized to match width of devices
- Channels are stacked in device then channel index order down the right and resized horizontally to match and then any available vertical space is shared being vertically expanding channels
- Remaining space in the middle is shared between spectrums and expanding features
<h3>1.10: Auto stack windows</h3>
Applies the stacked arrangement above automatically when elements are added.
When clicking on the FFT submenu a dialog opens for running the `fftwf-wisdom` utility with a choice of direct and possibly reverse FFT sizes. It produces a so called wisdom file `fftw-wisdom` that speeds up FFT allocations. It is created at a default location and will be used at next invocations of SDRangel.
Path to the `fftwf-wisdom` program. It looks in the `PATH` variable and the "current" directory (that is the same directory where the `sdrangel` binary resides).
When clicking the "OK" button the `fftwf-wisdom` program is launched in the background. A message pop-up appears with the PID of the process and the dialog exits. A new pop-up will appear with the output content when the program completes.
When clicking on the AMBE submenu a dialog opens to let you specify physical AMBE devices to decode AMBE frames produced by digital voice signals (using DSD decoder plugin).
Use this freeflow text input box to specify either the address and port of an AMBE server in the form: <IPv4 address>:<port> or any directly attached physical device address like a COM port on Windows.
Import the address or device specified in (1) into the list of used devices. The system will try to open the device or contact the server and will add it to the list only if successful.
Removes all devices or addresses in use. The in use list (6) is cleared consequently. This removes all AMBE devices related resources attached to the current instance of the SDRangel program. Therefore consecutive AMBE frames decoding will be handled by the mbelib library if available or no audio will be output.
Imports a serial device scanned in the list of available AMBE 3000 serial devices (9) in the in use list. If this device is already in the in use list then nothing happens and this is reported in the status text (10)
Imports all serial devices scanned in the list of available AMBE 3000 serial devices (9) in the in use list. If any device is already in the in use list then it is not added twice.
This is a tree view of the saved commands. Commands describe the path to an executable file, its arguments a possible link to a keystroke event that triggers the execution. Similarly to presets commands can be arranged into groups and have a description short text.
Typically an "executable file" is a script (Python, shell, whatever...) or can be a compiled program (c, c++, java, whatever...) that interacts with SDRangel using its web REST API. When called from within SDRangel they can act as "macros" allowing to perform actions automatically.
You select a command or a command group by clicking on its line in the tree view. All actions (6) will be done relative to this command or command group.
Click on this icon to duplicate the currently selected command (inactive on groups). Later you can edit the details of the copy with the edit dialog (see 5B.6.3 next)
With this dialog you can rename a group using the text box or if you select an existing group with the combo this will merge the contents of the group with the existing group
![Main Window command group edit](../doc/img/MainWindow_command_edit_group.png)
<b>Commands</b>
You can edit the details of the command with this dialog.
![Main Window command group edit](../doc/img/MainWindow_command_edit.png)
Clicking on this button will open a file dialog to select the executable file that will be run with this command. The file selection dialog has predefined file pattern selections:
Use this button to capture the key or key combination that will be used for the key binding. After pushing this button just type in the key or key combination.
This will run the currently selected command. If the selection is a group it will run all commands of the group starting them in the displayed order. Please note that commands are run in independent processes and therefore all launched commands in the group will run concurrently.
This is the translation of `QProcess::ProcessError`. Possible values are:
-`...`: the process has never run during this session
-`Failed to start`: the process could not start. For example the executable file has no execution rights actually
-`Crashed`: the process ended with crash. This is the status when you killed the process
-`Timed out`: the last waitFor...() function timed out.
-`Write error`: an error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel.
-`Read error`: an error occurred when attempting to read from the process. For example, the process may not be running.
This is the program exit code. When the process crashes this is the signal by which the process end was caused. For example if you kill the process with button (6) it sends the process a SIGKILL (code 9) and therefore the value is 9.
Use this button to activate the keyboard bindings. Note that you need to have this button selected (its background should be lit in beige/orange) for the key bindings to be effective.
The plugin entry can be expanded or collapsed using the caret on the left. When expanded it shows more information about the copyright of the author and locations on the web where the plugin can be found. In all cases this is just here.