diff --git a/devices/perseus/deviceperseus.h b/devices/perseus/deviceperseus.h index 1419da5fb..b4eb8d8f0 100644 --- a/devices/perseus/deviceperseus.h +++ b/devices/perseus/deviceperseus.h @@ -25,11 +25,14 @@ public: static DevicePerseus& instance(); void scan() { m_scan.scan(m_nbDevices); } void getSerials(std::vector& serials) const { m_scan.getSerials(serials); } + int getSequenceFromSerial(const std::string& serial) const { return m_scan.getSequenceFromSerial(serial); } + protected: DevicePerseus(); DevicePerseus(const DevicePerseus&) : m_nbDevices(0) {} DevicePerseus& operator=(const DevicePerseus& other __attribute__((unused))) { return *this; } ~DevicePerseus(); + private: int m_nbDevices; DevicePerseusScan m_scan; diff --git a/devices/perseus/deviceperseusscan.cpp b/devices/perseus/deviceperseusscan.cpp index ecc532903..70c424cc6 100644 --- a/devices/perseus/deviceperseusscan.cpp +++ b/devices/perseus/deviceperseusscan.cpp @@ -37,14 +37,14 @@ void DevicePerseusScan::scan(int nbDevices) continue; } -// if (perseus_firmware_download(descr, 0) < 0) { -// qCritical("DevicePerseusScan::scan: firmware download error: %s", perseus_errorstr()); -// continue; -// } -// else -// { -// qInfo("DevicePerseusScan::scan: device #%d firmware downloaded", deviceIndex); -// } + if (perseus_firmware_download(descr, 0) < 0) { + qCritical("DevicePerseusScan::scan: firmware download error: %s", perseus_errorstr()); + continue; + } + else + { + qInfo("DevicePerseusScan::scan: device #%d firmware downloaded", deviceIndex); + } if (perseus_get_product_id(descr,&prodid) < 0) { qCritical("DevicePerseusScan::scan: get product id error: %s", perseus_errorstr()); diff --git a/plugins/samplesource/CMakeLists.txt b/plugins/samplesource/CMakeLists.txt index 106f7c903..4232c22f8 100644 --- a/plugins/samplesource/CMakeLists.txt +++ b/plugins/samplesource/CMakeLists.txt @@ -71,6 +71,12 @@ if(CM256CC_FOUND AND LIBNANOMSG_FOUND) add_subdirectory(sdrdaemonsource) endif(CM256CC_FOUND AND LIBNANOMSG_FOUND) +find_package(LibPerseus) +if(LIBUSB_FOUND AND RX_SAMPLE_24BIT AND LIBPERSEUS_FOUND) + message(STATUS "Add Persesus plugin") + add_subdirectory(perseus) +endif(LIBUSB_FOUND AND LIBPERSEUS_FOUND) + if (BUILD_DEBIAN) if (LIBNANOMSG_FOUND) add_subdirectory(sdrdaemonsource) diff --git a/plugins/samplesource/perseus/perseusplugin.cpp b/plugins/samplesource/perseus/perseusplugin.cpp index 20042efe9..8e65d2ad0 100644 --- a/plugins/samplesource/perseus/perseusplugin.cpp +++ b/plugins/samplesource/perseus/perseusplugin.cpp @@ -16,14 +16,13 @@ #include #include -#include +#include "perseus-sdr.h" #include #include "plugin/pluginapi.h" #include "util/simpleserializer.h" -#include "airspyhfplugin.h" -#include "airspyhfgui.h" - +#include "perseusplugin.h" +#include "perseusgui.h" const PluginDescriptor PerseusPlugin::m_pluginDescriptor = { QString("Perseus Input"),