sdrangel/devices
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
..
bladerf1
bladerf2
hackrf
limesdr
metis
perseus
plutosdr Use shared_ptr to keep track of DeviceScan across multiple collections 2021-05-30 09:34:46 +00:00
soapysdr
usrp
xtrx
CMakeLists.txt
readme.md

readme.md

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