MCPcopy Create free account
hub / github.com/BatchDrake/SigDigger / onPanSpectrumStart

Method onPanSpectrumStart

App/Application.cpp:676–736  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

674}
675
676void
677Application::onPanSpectrumStart(void)
678{
679 if (this->scanner == nullptr) {
680 qint64 freqMin;
681 qint64 freqMax;
682 Suscan::Source::Device device;
683
684 if (this->mediator->getPanSpectrumRange(freqMin, freqMax)
685 && this->mediator->getPanSpectrumDevice(device)) {
686 Suscan::Source::Config config(
687 SUSCAN_SOURCE_TYPE_SDR,
688 SUSCAN_SOURCE_FORMAT_AUTO);
689
690 this->scanMinFreq = static_cast<SUFREQ>(freqMin);
691 this->scanMaxFreq = static_cast<SUFREQ>(freqMax);
692
693 config.setDevice(device);
694 config.setSampleRate(
695 static_cast<unsigned int>(
696 this->mediator->getPanSpectrumPreferredSampleRate()));
697 config.setDCRemove(true);
698 config.setBandwidth(this->mediator->getPanSpectrumPreferredSampleRate());
699 config.setLnbFreq(this->mediator->getPanSpectrumLnbOffset());
700 config.setFreq(.5 * (this->scanMinFreq + this->scanMaxFreq));
701
702 try {
703 Suscan::Logger::getInstance()->flush();
704 this->scanner = new Scanner(this, freqMin, freqMax, config);
705 this->scanner->setRelativeBw(this->mediator->getPanSpectrumRelBw());
706 this->scanner->setRttMs(this->mediator->getPanSpectrumRttMs());
707 this->onPanSpectrumStrategyChanged(
708 this->mediator->getPanSpectrumStrategy());
709 this->onPanSpectrumPartitioningChanged(
710 this->mediator->getPanSpectrumPartition());
711
712 for (auto p = device.getFirstGain();
713 p != device.getLastGain();
714 ++p) {
715 this->scanner->setGain(
716 QString::fromStdString(p->getName()),
717 this->mediator->getPanSpectrumGain(
718 QString::fromStdString(p->getName())));
719 }
720
721 this->connectScanner();
722 Suscan::Logger::getInstance()->flush();
723 } catch (Suscan::Exception &) {
724 (void) QMessageBox::critical(
725 this,
726 "SigDigger error",
727 "Failed to start capture due to errors:<p /><pre>"
728 + getLogText()
729 + "</pre>",
730 QMessageBox::Ok);
731 }
732 }
733 }

Callers

nothing calls this directly

Calls 15

connectScannerMethod · 0.95
getLogTextFunction · 0.85
getPanSpectrumRangeMethod · 0.80
getPanSpectrumDeviceMethod · 0.80
setFreqMethod · 0.80
flushMethod · 0.80
setRelativeBwMethod · 0.80
getPanSpectrumRelBwMethod · 0.80

Tested by

no test coverage detected