1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-12 05:44:25 -04:00
Files
sdrangel/devices
Robin Getz cfeac1dc11 plutosdr: refactor device identity and backend-based grouping
Improve PlutoSDR device identity handling to correctly distinguish
multiple libiio backends (IP, USB, etc.) and provide stable grouping
of physically identical hardware in the UI.
- Append backend prefix to scanned device serials to ensure uniqueness
  across multiple discovery paths (e.g. "<serial>_ip", "<serial>_usb").
  This prevents collisions when the same device is visible through
  different transports.
- Add physical serial extraction and grouping logic so that devices
  discovered via multiple backends are treated as a single physical
  unit for display purposes. This stabilizes UI numbering and avoids
  duplicate entries for the same hardware.
- Update enumOriginDevices() to:
  - group devices by physical serial rather than scan index
  - assign stable per-device indices independent of backend enumeration
  - include backend label in the display name to distinguish connection
    paths when multiple backends are active
- Introduce helper utilities:
  - createBackendSuffix(): extract backend identifier from libiio URI
  - getPhysicalSerial(): strip backend suffix for grouping logic
  - getBackendLabel(): format backend suffix for user-facing display

These changes ensure:
- unique internal identifiers per backend connection
- consistent grouping per physical device across discovery mechanisms
- improved UI clarity when multiple access paths exist for the same SDR

No change to RF/data path behavior; this is purely a discovery and
presentation-layer refactor.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-04 16:41:16 -04:00
..
2024-11-06 11:58:44 +00:00
2020-10-02 22:45:28 +01:00

Devices common resources

This folder contains classes and methods that can be used by different plugins that work with a common physical device or via network. Thus this can be one of the following devices:

  • BladeRF1: one Rx and one Tx full duplex. Plugins are:

    • bladerf1input
    • bladerf1output
  • BladeRF2: 2 Rx and 2 Tx full duplex (BladeRF 2.0 micro). Plugins are:

    • bladerf2input
    • bladerf2output
  • HackRF: one Rx and one Tx half duplex. Plugins are:

    • hackrfinput
    • hackrfoutput
  • LimeSDR: 2 Rx and 2 Tx full duplex (Lime-USB). 1 Rx and 1 Tx full duplex (Lime-Mini). Plugins are

    • limesdrinput
    • limesdroutput
  • PlutoSDR: one Rx and one Tx full duplex. Plugins are

    • plutosdrinput
    • plutosdroutput
  • SoapySDR: Soapy SDR virtual device

    • soapysdrinput
    • soapysdroutput
  • USRP: Up to 2 Rx and 2 Tx full duplex. Plugins are

    • usrpinput
    • usrpoutput