mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2024-11-10 06:18:57 -05:00
Don't touch not-found device configs
This commit is contained in:
parent
b1ac17729e
commit
419705419c
@ -467,8 +467,7 @@ bool AppConfig::load() {
|
|||||||
while (devices_node->hasAnother("device")) {
|
while (devices_node->hasAnother("device")) {
|
||||||
DataNode *device_node = devices_node->getNext("device");
|
DataNode *device_node = devices_node->getNext("device");
|
||||||
if (device_node->hasAnother("id")) {
|
if (device_node->hasAnother("id")) {
|
||||||
std::string deviceId;
|
std::string deviceId = device_node->getNext("id")->element()->toString();
|
||||||
device_node->getNext("id")->element()->get(deviceId);
|
|
||||||
|
|
||||||
getDevice(deviceId)->load(device_node);
|
getDevice(deviceId)->load(device_node);
|
||||||
}
|
}
|
||||||
|
@ -296,12 +296,21 @@ void SDRDevicesDialog::OnDeviceTimer( wxTimerEvent& event ) {
|
|||||||
devs[""] = SDREnumerator::enumerate_devices("",true);
|
devs[""] = SDREnumerator::enumerate_devices("",true);
|
||||||
if (devs[""] != NULL) {
|
if (devs[""] != NULL) {
|
||||||
for (devs_i = devs[""]->begin(); devs_i != devs[""]->end(); devs_i++) {
|
for (devs_i = devs[""]->begin(); devs_i != devs[""]->end(); devs_i++) {
|
||||||
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice((*devs_i)->getDeviceId());
|
DeviceConfig *devConfig = nullptr;
|
||||||
if ((*devs_i)->isManual()) {
|
if ((*devs_i)->isManual()) {
|
||||||
devItems[devTree->AppendItem(manualBranch, devConfig->getDeviceName())] = (*devs_i);
|
std::string devName = "Unknown";
|
||||||
|
if ((*devs_i)->isAvailable()) {
|
||||||
|
devConfig = wxGetApp().getConfig()->getDevice((*devs_i)->getDeviceId());
|
||||||
|
devName = devConfig->getDeviceName();
|
||||||
|
} else {
|
||||||
|
devName = (*devs_i)->getDeviceId();
|
||||||
|
}
|
||||||
|
devItems[devTree->AppendItem(manualBranch, devName)] = (*devs_i);
|
||||||
} else if ((*devs_i)->isRemote()) {
|
} else if ((*devs_i)->isRemote()) {
|
||||||
|
devConfig = wxGetApp().getConfig()->getDevice((*devs_i)->getDeviceId());
|
||||||
devItems[devTree->AppendItem(dsBranch, devConfig->getDeviceName())] = (*devs_i);
|
devItems[devTree->AppendItem(dsBranch, devConfig->getDeviceName())] = (*devs_i);
|
||||||
} else {
|
} else {
|
||||||
|
devConfig = wxGetApp().getConfig()->getDevice((*devs_i)->getDeviceId());
|
||||||
devItems[devTree->AppendItem(localBranch, devConfig->getDeviceName())] = (*devs_i);
|
devItems[devTree->AppendItem(localBranch, devConfig->getDeviceName())] = (*devs_i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -189,7 +189,8 @@ std::vector<SDRDeviceInfo *> *SDREnumerator::enumerate_devices(std::string remot
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
SoapySDR::Kwargs failedEnum;
|
SoapySDR::Kwargs failedEnum;
|
||||||
failedEnum = argsStrToKwargs(strDevArgs+",label=Not Found ("+m_i->factory+")");
|
failedEnum = argsStrToKwargs(strDevArgs);
|
||||||
|
failedEnum["label"] = "Not Found ("+m_i->factory+")";
|
||||||
results.push_back(failedEnum);
|
results.push_back(failedEnum);
|
||||||
manualResult.push_back(false);
|
manualResult.push_back(false);
|
||||||
}
|
}
|
||||||
@ -228,7 +229,6 @@ std::vector<SDRDeviceInfo *> *SDREnumerator::enumerate_devices(std::string remot
|
|||||||
|
|
||||||
std::cout << "Make device " << i << std::endl;
|
std::cout << "Make device " << i << std::endl;
|
||||||
if (i<manualsIdx || manualResult[i-manualsIdx]) try {
|
if (i<manualsIdx || manualResult[i-manualsIdx]) try {
|
||||||
DeviceConfig *cfg = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
|
|
||||||
SoapySDR::Device *device = SoapySDR::Device::make(deviceArgs);
|
SoapySDR::Device *device = SoapySDR::Device::make(deviceArgs);
|
||||||
SoapySDR::Kwargs info = device->getHardwareInfo();
|
SoapySDR::Kwargs info = device->getHardwareInfo();
|
||||||
for (SoapySDR::Kwargs::const_iterator it = info.begin(); it != info.end(); ++it) {
|
for (SoapySDR::Kwargs::const_iterator it = info.begin(); it != info.end(); ++it) {
|
||||||
@ -245,7 +245,9 @@ std::vector<SDRDeviceInfo *> *SDREnumerator::enumerate_devices(std::string remot
|
|||||||
}
|
}
|
||||||
|
|
||||||
SoapySDR::ArgInfoList settingsInfo = device->getSettingInfo();
|
SoapySDR::ArgInfoList settingsInfo = device->getSettingInfo();
|
||||||
|
|
||||||
|
DeviceConfig *cfg = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
|
||||||
|
|
||||||
ConfigSettings devSettings = cfg->getSettings();
|
ConfigSettings devSettings = cfg->getSettings();
|
||||||
if (devSettings.size()) {
|
if (devSettings.size()) {
|
||||||
for (ConfigSettings::const_iterator set_i = devSettings.begin(); set_i != devSettings.end(); set_i++) {
|
for (ConfigSettings::const_iterator set_i = devSettings.begin(); set_i != devSettings.end(); set_i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user