X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fbinding%2Fdevice.cpp;h=37c9d43d55248218b4e7e247cd6173fa1696b664;hp=1afc2ce2f32c7f3009aec2296231b019fb15e8b8;hb=f4ab4b5c657e5613caba82feaa81a8a400e4f331;hpb=20f59e957e70250cfb876ac7a1743134d6b83339 diff --git a/pv/binding/device.cpp b/pv/binding/device.cpp index 1afc2ce..37c9d43 100644 --- a/pv/binding/device.cpp +++ b/pv/binding/device.cpp @@ -68,7 +68,7 @@ Device::Device(shared_ptr configurable) : string name_str; try { name_str = key->description(); - } catch (Error e) { + } catch (Error& e) { name_str = key->name(); } @@ -97,6 +97,8 @@ Device::Device(shared_ptr configurable) : case SR_CONF_TRIGGER_SLOPE: case SR_CONF_COUPLING: case SR_CONF_CLOCK_EDGE: + case SR_CONF_DATA_SOURCE: + case SR_CONF_EXTERNAL_CLOCK_SOURCE: bind_enum(name, "", key, capabilities, get, set); break; @@ -104,6 +106,7 @@ Device::Device(shared_ptr configurable) : case SR_CONF_EXTERNAL_CLOCK: case SR_CONF_RLE: case SR_CONF_POWER_OFF: + case SR_CONF_AVERAGING: bind_bool(name, "", get, set); break; @@ -126,6 +129,13 @@ Device::Device(shared_ptr configurable) : bind_int(name, "", "", pair(1, 500), get, set); break; + case SR_CONF_AVG_SAMPLES: + if (capabilities.count(Capability::LIST)) + bind_enum(name, "", key, capabilities, get, set, print_averages); + else + bind_int(name, "", "", pair(0, INT32_MAX), get, set); + break; + default: break; } @@ -205,5 +215,12 @@ QString Device::print_probe_factor(Glib::VariantBase gvar) return QString("%1x").arg(factor); } +QString Device::print_averages(Glib::VariantBase gvar) +{ + uint64_t avg; + avg = g_variant_get_uint64(gvar.gobj()); + return QString("%1").arg(avg); +} + } // namespace binding } // namespace pv