progress->setLabelText(QObject::tr("Scanning for %1...")
.arg(QString::fromStdString(entry.first)));
- driver_scan(entry.second, map<const ConfigKey *, VariantBase>());
+ /**
+ * We currently only support devices that can deliver
+ * samples at a fixed samplerate i.e. oscilloscopes and
+ * logic analysers.
+ * @todo Add support for non-monotonic devices i.e. DMMs
+ * and sensors.
+ */
+ const auto keys = (entry.second)->config_keys();
+
+ bool supported_device = keys.count(ConfigKey::LOGIC_ANALYZER) |
+ keys.count(ConfigKey::OSCILLOSCOPE);
+
+ if (supported_device)
+ driver_scan(entry.second, map<const ConfigKey *, VariantBase>());
progress->setValue(entry_num++);
QApplication::processEvents();