| 674 | } |
| 675 | |
| 676 | void |
| 677 | Application::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 | } |
nothing calls this directly
no test coverage detected