1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-18 14:21:49 -05:00
sdrangel/sdrgui/device
Jon Beniston d1c67c971e Add buttons to stack MDI windows vertically and put in tabs.
Use right click to auto-stack sub-windows, rather than having a
dedicated button.
Allow maximize button to make window full screen, if already maximized.
Add title to device windows, for when displayed in tabs.
Add menu button to workspace toolbar, for Android only, to avoid having
menu bar, which takes up a lot of space.
Add configuration presets button to workspace toolbar.
Add icons for window arangement
2022-12-20 16:10:11 +00:00
..
devicegui.cpp Add buttons to stack MDI windows vertically and put in tabs. 2022-12-20 16:10:11 +00:00
devicegui.h Add buttons to stack MDI windows vertically and put in tabs. 2022-12-20 16:10:11 +00:00
deviceuiset.cpp Arrange rollups after restore geometry to mitigate issue #1474 2022-11-03 19:07:44 +01:00
deviceuiset.h Remove unneeded changes 2022-09-29 13:55:46 +01:00
readme.md Fix typing errors in readme's 2022-05-15 12:39:57 +02:00

Device common controls

The device windows have common top and bottom bars

Device window

A: Top bar

Device window top bar

A.1 Device type and index

The format is:

  • Device type:
    • R: receiver
    • T: transmitter
    • M: MIMO
  • Semicolon separator
  • Device set index. A "device set" is the set of a device and its corresponding channels

The tooltip shows the device type, sequence number and serial number of the device if it exists.

You may click on this area and drag the window with the mouse.

A.2: Device common settings

All device types have common settings. Clicking on the button opens a dialog to update them

Basic device settings dialog

A.2.1: Toggle reverse API feature

Use this checkbox to toggle on/off the reverse API feature. With reverse API engaged the changes in the device settings are forwarded to an API endpoint given by address (A.2.2), port (A.2.3) and device index A.2.4) in the same format as the SDRangel REST API device settings endpoint. With the values of the screenshot the API URL is: http://127.0.0.1:8888/sdrangel/deviceset/0/device/settings The JSON payload follows the same format as the SDRangel REST API device settings. For example with HachRF Rx this would be something like:

{
  "deviceHwType": "HackRF",
  "hackRFInputSettings": {
    "LOppmTenths": 0,
    "bandwidth": 1750000,
    "biasT": 0,
    "centerFrequency": 435000000,
    "dcBlock": 0,
    "devSampleRate": 2400000,
    "fcPos": 2,
    "iqCorrection": 0,
    "linkTxFrequency": 0,
    "lnaExt": 0,
    "lnaGain": 16,
    "log2Decim": 0,
    "vgaGain": 16
  },
  "tx": 0
}

Note that the PATCH method is used. The full set of parameters is sent only when the reverse API is toggled on or a full settings update is done.

The start and stop actions are also forwarded with the /sdrangel/deviceset/{deviceSetIndex}/device/run API endpoint using POST (start) or DELETE (stop) methods.

More details on this feature can be found on the corresponding Wiki page.

A.2.2: API address

This is the IP address of the API endpoint

A.2.3: API port

This is the IP port of the API endpoint

A.2.4: Device index

This is the targeted device index

A.2.5: Cancel changes and exit dialog

Do not make any changes and exit dialog

A.2.6: Validate and exit dialog

Validates the data (saves it in the channel marker object) and exits the dialog

A.3: Change device

Opens a dialog that lets you choose a different device

Main Window sampling devices dialog

A.3.1: Device selection combo

Use this combo box to select the device. Only available devices will appear in the list. For devices having more than one channel (ex: LimeSDR) the channel number will appear next to the device sequence number inside the brackets. Ex: LimeSDR[0:1] 0009060B00473419 designates the second Rx (Rx #1) of the first encountered LimeSDR which serial number is 0009060B00473419.

A.3.2: Device selection confirmation

Use the OK button to confirm your choice and exit the dialog

A.3.3: Device selection cancellation

Use the Cancel button to exit the dialog without any change

A.4: Reload device

This button activates a close/open sequence to recycle the device. It may be useful when the device is not streaming anymore or in an attempt to clear possible errors. Make sure the streaming is stopped first.

A.5: Device set presets

Opens a dialog to manage device set presets. Device set presets store configurations related to a single device set

Presets dialog

A.5.1: Preset selection

You select a preset or a preset group by clicking on its line in the tree view. All actions (6) will be done relative to this preset or preset group.

A.5.2: Group

You can organize your presets into groups. Groups can be collapsed or expanded by using the caret icon on the left.

A.5.3: Center frequency

The center frequency used in this preset is displayed here.

A.5.4: Rx/Tx indicator

"R" is displayed for a Rx device set and "T" for a Tx device set

A.5.5: Preset name

You can give a name to your preset. Names need not to be unique.

A.5.6: Preset control or actions

Presets controls

A.5.6.1: New preset
Click on this icon to create a new preset with the current values in the selected sample device tab (Main window: 2).
A.5.6.2: Update preset
Click on this icon to create a update the selected preset with the current values in the selected sample device tab (Main window: 2). Please note that this does not save the preset immediately on disk to save presets immediately you need to use the save button (4).
A.5.6.3: Edit preset
Opens a new window where you can change the group name and description.
  • for group items you can rename the group or merge all group presets into an existing group by selecting this existing group

  • for preset items you can:

    • move the preset to another existing group by selecting this existing group
    • assign this preset to a new group by typing in this new group
    • change the description
A.5.6.4: Export preset
Using the previous icon presets are saved globally in a system dependent place. Using this icon you can export a specific preset in a single file that can be imported on another machine possibly with a different O/S. The preset binary data (BLOB) is saved in Base-64 format.
A.5.6.5: Import preset
This is the opposite of the previous operation. This will create a new preset in the selected group or the same group as the preset being selected.
A.5.6.6: Delete preset
on a preset item: deletes the selected preset. on a preset group: deletes the group and all its presets.
A.5.6.7: Load preset
Applies the selected preset to the current device set (source and channel plugins).

A.6: Add channels

Opens a dialog to add one or more channels connected to the device.

Add channels dialog

A.6.1: Channel selection

Use this combo to select which channel type to add

A.6.2: Close dialog

Use this button to dismiss the dialog

A.6.3: Add channel

Add a new channel by clicking on the Apply button. You may click it several times to add more channels. The dialog can be dismissed with the Close button or the closing window icon X on the top bar.

A.7: Title

The window title shows the device type and a sequence number.

You may click on this area and drag the window with the mouse.

A.8: Help

Clicking on this button opens the documentation about the device controls in github in the browser.

A.9: Move to another workspace

Opens a dialog to choose a destination workspace to move the device window to. Nothing happens if the same workspace is selected.

A.10: Shrink window

Click this button to reduce the window to its minimum size

A.11: Close window

Click this button to close the window and removes the device set i.e. the device and all its channels.

B: Bottom bar

Device window bottom bar

B.1: Show spectrum

When the main spectrum window of this device is hidden this will show it. It has no effect if the main spectrum window is displayed.

B.2: Show all channels

This will show all hidden channel windows if any. It has no effects on channel windows already displayed.

B.3: Status text

The status messages appear here if any.

You may click on this area and drag the window with the mouse.