MCPcopy Create free account
hub / github.com/cjcliffe/CubicSDR / OnDeviceTimer

Method OnDeviceTimer

src/forms/SDRDevices/SDRDevices.cpp:411–492  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

409}
410
411void SDRDevicesDialog::OnDeviceTimer( wxTimerEvent& event ) {
412 if (refresh) {
413 if (wxGetApp().areModulesMissing()) {
414 if (!failed) {
415 failed = true;
416 wxMessageDialog *info;
417 info = new wxMessageDialog(nullptr, wxT("\nNo SoapySDR modules were found.\n\nCubicSDR requires at least one SoapySDR device support module to be installed.\n\nPlease visit https://github.com/cjcliffe/CubicSDR/wiki and in the build instructions for your platform read the 'Support Modules' section for more information."), wxT("\x28\u256F\xB0\u25A1\xB0\uFF09\u256F\uFE35\x20\u253B\u2501\u253B"), wxOK | wxICON_ERROR);
418 info->ShowModal();
419 }
420 return;
421 }
422
423 if (wxGetApp().areDevicesEnumerating() || !wxGetApp().areDevicesReady()) {
424 std::string msg = wxGetApp().getNotification();
425 devStatusBar->SetStatusText(msg);
426 devTree->DeleteAllItems();
427 devTree->AddRoot(msg);
428 event.Skip();
429 return;
430 }
431
432 devTree->DeleteAllItems();
433
434 wxTreeItemId devRoot = devTree->AddRoot("Devices");
435 wxTreeItemId localBranch = devTree->AppendItem(devRoot, "Local");
436 wxTreeItemId dsBranch = devTree->AppendItem(devRoot, "Local Net");
437 wxTreeItemId remoteBranch = devTree->AppendItem(devRoot, "Remote");
438 wxTreeItemId manualBranch = devTree->AppendItem(devRoot, "Manual");
439
440 devs[""] = SDREnumerator::enumerate_devices("",true);
441 if (devs[""] != nullptr) {
442 for (devs_i = devs[""]->begin(); devs_i != devs[""]->end(); devs_i++) {
443 DeviceConfig *devConfig;
444 if ((*devs_i)->isManual()) {
445 std::string devName = "Unknown";
446 if ((*devs_i)->isAvailable()) {
447 devConfig = wxGetApp().getConfig()->getDevice((*devs_i)->getDeviceId());
448 devName = devConfig->getDeviceName();
449 } else {
450 devName = (*devs_i)->getDeviceId();
451 }
452 devItems[devTree->AppendItem(manualBranch, devName)] = (*devs_i);
453 } else if ((*devs_i)->isRemote()) {
454 devConfig = wxGetApp().getConfig()->getDevice((*devs_i)->getDeviceId());
455 devItems[devTree->AppendItem(dsBranch, devConfig->getDeviceName())] = (*devs_i);
456 } else {
457 devConfig = wxGetApp().getConfig()->getDevice((*devs_i)->getDeviceId());
458 devItems[devTree->AppendItem(localBranch, devConfig->getDeviceName())] = (*devs_i);
459 }
460 }
461 }
462
463 std::vector<std::string> remotes = SDREnumerator::getRemotes();
464
465 std::vector<SDRDeviceInfo *>::iterator remoteDevs_i;
466
467 if (!remotes.empty()) {
468 for (const std::string& remote : remotes) {

Callers

nothing calls this directly

Calls 13

areModulesMissingMethod · 0.80
areDevicesEnumeratingMethod · 0.80
areDevicesReadyMethod · 0.80
getNotificationMethod · 0.80
isManualMethod · 0.80
isAvailableMethod · 0.80
getConfigMethod · 0.80
getDeviceNameMethod · 0.80
isRemoteMethod · 0.80
getDeviceMethod · 0.45
getDeviceIdMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected