1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-13 14:24:06 -04:00
Commit Graph

14 Commits

Author SHA1 Message Date
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
Robin Getz b7b9e2c9e6 style: normalize indentation by replacing tabs with spaces
Convert tab-based indentation to spaces to match the project's
existing coding style. No functional changes.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-06-26 20:26:39 -04:00
f4exb d82c1172cd PlutoSDR support: appply Sonar suggestion but for C++17 2026-04-16 12:00:27 +02:00
f4exb 8888759aef PlutoSDR: filter PlutoSDR and AD93 device description to catch also PlutoSDR clones. Fixes #2686 2026-04-15 23:18:53 +02:00
f4exb b120f9cb01 Rewriting of copyright notices for all but plugins (done), sdrbase, sdrgui. Part of #1893 2023-11-19 13:43:10 +01:00
Andreas Baulig 94ab1bb438 Use shared_ptr to keep track of DeviceScan across multiple collections
Fixes #681.

Relying on memory allocated by `std::vector` via direct pointers is dangerous,
as vectors may move buffers during resize. This fix puts the `DeviceScan`
allocation into a `str::shared_ptr`, which 1) allocates the memory on heap and
2) keeps track of the memory through reference counting. Thus it is safe to
store the `shared_ptr` across different vectors/maps.
2021-05-30 09:34:46 +00:00
f4exb d0858f21fb Added possibility to specify devices that cannot be discovered automatically. This implements #445 2019-12-16 01:03:47 +01:00
f4exb ee3313dc82 Plugins device enumeration optimization: factorization of common code for Rx/Tx devices 2019-10-09 07:39:52 +02:00
f4exb ef15157a50 Fixed incomplete copyright headers (1) 2019-04-11 06:39:30 +02:00
Sebastian Weiss af2cb5462c implement networked PlutoSDR 2019-03-02 17:47:00 +01:00
f4exb d110a3749d Moved logger to QtApplication level. Corrections to some messages 2017-11-11 11:11:44 +01:00
f4exb 9ba88b396b PlutoSDR: remove from device enumeration if device is not accessible (allocate context fails) 2017-09-23 03:42:58 +02:00
f4exb e4c1892930 PlutoSDR: clear the device scan list before (re)scanning 2017-09-19 23:11:03 +02:00
f4exb de88e305db PlutoSDR: added PlutoSDRDevice and PlutoSDRScan common device classes 2017-09-02 04:21:41 +02:00