f4exb / sdrangel

SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay and FunCube
GNU General Public License v3.0
2.88k stars 435 forks source link

Device scan cache #371

Closed f4exb closed 4 years ago

f4exb commented 5 years ago

Today each plugin will initiate a scan for devices relevant to it even if this has been done before for the same type of physical device. For example the LimeSDR input plugin will scan for all LimeSDR devices then later the LimeSDR output plugin will do the same thing again. However the gathered information is the same in both cases it is only the post process that is different. The device scan is by large the thing that takes the longest time at startup (just check the splash screen to get an idea...) so optimizing it would significantly reduce the initial program load time. Moreover when a third type of plugin (MIMO) will be put in place the same operation could take place 3 times. The critical nature of this may promote this as a v5 (MIMO support) prerequisite.

The idea is to gather the connected devices information in some sort of cache present in the "core" of the program and that can be accessed when the enumeration routine of the plugin is called.

f4exb commented 4 years ago

Implemented in v4.11.10