diff options
Diffstat (limited to 'src/DabMod.cpp')
| -rw-r--r-- | src/DabMod.cpp | 22 | 
1 files changed, 21 insertions, 1 deletions
| diff --git a/src/DabMod.cpp b/src/DabMod.cpp index 57acd40..3806048 100644 --- a/src/DabMod.cpp +++ b/src/DabMod.cpp @@ -55,6 +55,7 @@  #include "output/SDR.h"  #include "output/UHD.h"  #include "output/Soapy.h" +#include "output/Lime.h"  #include "OutputZeroMQ.h"  #include "InputReader.h"  #include "PcDebug.h" @@ -145,6 +146,14 @@ static void printModSettings(const mod_settings_t& mod_settings)                  mod_settings.sdr_device_config.masterClockRate << "\n";      }  #endif +#if defined(HAVE_LIMESDR) +    else if (mod_settings.useLimeOutput) { +        ss << " LimeSDR\n" +            "  Device: " << mod_settings.sdr_device_config.device << "\n" << +            "  master_clock_rate: " << +                mod_settings.sdr_device_config.masterClockRate << "\n"; +    } +#endif      else if (mod_settings.useZeroMQOutput) {          ss << " ZeroMQ\n" <<              "  Listening on: " << mod_settings.outputName << "\n" << @@ -228,6 +237,16 @@ static shared_ptr<ModOutput> prepare_output(          rcs.enrol((Output::SDR*)output.get());      }  #endif +#if defined(HAVE_LIMESDR) +    else if (s.useLimeOutput) { +        /* We normalise the same way as for the UHD output */ +        s.normalise = 1.0f / normalise_factor; +        s.sdr_device_config.sampleRate = s.outputRate; +        auto limedevice = make_shared<Output::Lime>(s.sdr_device_config); +        output = make_shared<Output::SDR>(s.sdr_device_config, limedevice); +        rcs.enrol((Output::SDR*)output.get()); +    } +#endif  #if defined(HAVE_ZEROMQ)      else if (s.useZeroMQOutput) {          /* We normalise the same way as for the UHD output */ @@ -277,7 +296,8 @@ int launch_modulator(int argc, char* argv[])      if (not (mod_settings.useFileOutput or               mod_settings.useUHDOutput or               mod_settings.useZeroMQOutput or -             mod_settings.useSoapyOutput)) { +             mod_settings.useSoapyOutput or +             mod_settings.useLimeOutput)) {          throw std::runtime_error("Configuration error: Output not specified");      } | 
