const shared_ptr<sigrok::Device> sr_dev = device->device();
- try {
- auto gvar = sr_dev->config_get(ConfigKey::EXTERNAL_CLOCK);
- if (gvar.gobj()) {
- bool value = Glib::VariantBase::cast_dynamic<Glib::Variant<bool>>(
- gvar).get();
- sample_rate_.allow_user_entered_values(value);
+ sample_rate_.allow_user_entered_values(false);
+ if (sr_dev->config_check(ConfigKey::EXTERNAL_CLOCK, Capability::GET)) {
+ try {
+ auto gvar = sr_dev->config_get(ConfigKey::EXTERNAL_CLOCK);
+ if (gvar.gobj()) {
+ bool value = Glib::VariantBase::cast_dynamic<Glib::Variant<bool>>(
+ gvar).get();
+ sample_rate_.allow_user_entered_values(value);
+ }
+ } catch (Error& error) {
+ // Do nothing
}
- } catch (Error& error) {
- // Do nothing
}
+
if (sr_dev->config_check(ConfigKey::SAMPLERATE, Capability::LIST)) {
try {
gvar_dict = sr_dev->config_list(ConfigKey::SAMPLERATE);
sample_rate_.set_value(samplerate);
updating_sample_rate_ = false;
} catch (Error& error) {
- qDebug() << tr("Failed to get value of sample rate:") << error.what();
+ qDebug() << tr("Failed to get sample rate:") << error.what();
}
}
const shared_ptr<sigrok::Device> sr_dev = device->device();
sample_rate = sample_rate_.value();
- if (sample_rate == 0)
- return;
try {
sr_dev->config_set(ConfigKey::SAMPLERATE,
const pv::util::Timestamp& end_time = trace_view->cursors()->second()->time();
const uint64_t start_sample = (uint64_t)max(
- (double)0, start_time.convert_to<double>() * samplerate);
+ 0.0, start_time.convert_to<double>() * samplerate);
const uint64_t end_sample = (uint64_t)max(
- (double)0, end_time.convert_to<double>() * samplerate);
+ 0.0, end_time.convert_to<double>() * samplerate);
if ((start_sample == 0) && (end_sample == 0)) {
// Both cursors are negative and were clamped to 0