X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fprop%2Fbinding%2Fdeviceoptions.cpp;h=3fe63940cc2efe6508313647893af740353f9faf;hb=7491a29f33471b38e161b3254f4d8e708b05f929;hp=1ce08eb8a14d7c9b6cc4a167625e28a5606f5051;hpb=c6dd7ed262a3bc4879b511f516532bc954d743f4;p=pulseview.git diff --git a/pv/prop/binding/deviceoptions.cpp b/pv/prop/binding/deviceoptions.cpp index 1ce08eb..3fe6394 100644 --- a/pv/prop/binding/deviceoptions.cpp +++ b/pv/prop/binding/deviceoptions.cpp @@ -42,11 +42,13 @@ namespace binding { DeviceOptions::DeviceOptions(struct sr_dev_inst *sdi) : _sdi(sdi) { + assert(sdi); + GVariant *gvar_opts, *gvar_list; gsize num_opts; - if ((sr_config_list(sdi->driver, SR_CONF_DEVICE_OPTIONS, - &gvar_opts, sdi) != SR_OK)) + if ((sr_config_list(sdi->driver, sdi, NULL, SR_CONF_DEVICE_OPTIONS, + &gvar_opts) != SR_OK)) /* Driver supports no device instance options. */ return; @@ -61,7 +63,7 @@ DeviceOptions::DeviceOptions(struct sr_dev_inst *sdi) : const int key = info->key; - if(sr_config_list(_sdi->driver, key, &gvar_list, _sdi) != SR_OK) + if (sr_config_list(_sdi->driver, _sdi, NULL, key, &gvar_list) != SR_OK) gvar_list = NULL; const QString name(info->name); @@ -95,6 +97,10 @@ DeviceOptions::DeviceOptions(struct sr_dev_inst *sdi) : case SR_CONF_VDIV: bind_enum(name, key, gvar_list, print_vdiv); break; + + case SR_CONF_VOLTAGE_THRESHOLD: + bind_enum(name, key, gvar_list, print_voltage_threshold); + break; } if (gvar_list) @@ -107,7 +113,7 @@ GVariant* DeviceOptions::config_getter( const struct sr_dev_inst *sdi, int key) { GVariant *data = NULL; - if (sr_config_get(sdi->driver, key, &data, sdi) != SR_OK) { + if (sr_config_get(sdi->driver, sdi, NULL, key, &data) != SR_OK) { qDebug() << "WARNING: Failed to get value of config id" << key; return NULL; @@ -118,7 +124,7 @@ GVariant* DeviceOptions::config_getter( void DeviceOptions::config_setter( const struct sr_dev_inst *sdi, int key, GVariant* value) { - if (sr_config_set(sdi, key, value) != SR_OK) + if (sr_config_set(sdi, NULL, key, value) != SR_OK) qDebug() << "WARNING: Failed to set value of sample rate"; } @@ -255,6 +261,15 @@ QString DeviceOptions::print_vdiv(GVariant *const gvar) return QString(sr_voltage_string(p, q)); } +QString DeviceOptions::print_voltage_threshold(GVariant *const gvar) +{ + gdouble lo, hi; + char buf[64]; + g_variant_get(gvar, "(dd)", &lo, &hi); + snprintf(buf, sizeof(buf), "L<%.1fV H>%.1fV", lo, hi); + return QString(buf); +} + } // binding } // prop } // pv