satdump/plugins/sdr_sources/hackrf_sdr_support/main.cpp

39 lines
1.1 KiB
C++
Raw Permalink Normal View History

2022-05-02 22:50:03 +02:00
#include "core/plugin.h"
#include "logger.h"
2022-08-26 15:17:10 +02:00
#include "hackrf_sdr_source.h"
#include "hackrf_sdr_sink.h"
2024-01-28 00:05:14 +01:00
#include <cstdlib>
2022-05-02 22:50:03 +02:00
class HackRFSDRSupport : public satdump::Plugin
{
public:
std::string getID()
{
return "hackrf_sdr_support";
}
2024-01-28 00:05:14 +01:00
static void de_init()
{
hackrf_exit();
}
2022-05-02 22:50:03 +02:00
void init()
{
satdump::eventBus->register_handler<dsp::RegisterDSPSampleSourcesEvent>(registerSources);
2022-08-26 15:17:10 +02:00
satdump::eventBus->register_handler<dsp::RegisterDSPSampleSinksEvent>(registerSinks);
2022-05-02 22:50:03 +02:00
hackrf_init();
2024-01-28 00:05:14 +01:00
std::atexit(&HackRFSDRSupport::de_init);
2022-05-02 22:50:03 +02:00
}
static void registerSources(const dsp::RegisterDSPSampleSourcesEvent &evt)
{
evt.dsp_sources_registry.insert({HackRFSource::getID(), {HackRFSource::getInstance, HackRFSource::getAvailableSources}});
}
2022-08-26 15:17:10 +02:00
static void registerSinks(const dsp::RegisterDSPSampleSinksEvent &evt)
{
evt.dsp_sinks_registry.insert({HackRFSink::getID(), {HackRFSink::getInstance, HackRFSink::getAvailableSinks}});
}
2022-05-02 22:50:03 +02:00
};
PLUGIN_LOADER(HackRFSDRSupport)