X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fpython%2Fsigrok%2Fcore%2Fclasses.py;h=f4d2e60e9f40fe2a8e8b7dd4515830e50d33b31b;hb=01169de39195e2e54e4534504b60ed2408129b81;hp=2998b4126b6bf2a26a3ba9306410e5e7b18f74e9;hpb=f245b7669e7ffb7591dc1b1b7087e4352738c84d;p=libsigrok.git diff --git a/bindings/python/sigrok/core/classes.py b/bindings/python/sigrok/core/classes.py index 2998b412..f4d2e60e 100644 --- a/bindings/python/sigrok/core/classes.py +++ b/bindings/python/sigrok/core/classes.py @@ -115,11 +115,20 @@ class Driver(object): def name(self): return self.struct.name - def scan(self): + def scan(self, **kwargs): if not self._initialized: check(sr_driver_init(self.context.struct, self.struct)) self._initialized = True - device_list = sr_driver_scan(self.struct, None) + options = [] + for name, value in kwargs.items(): + key = getattr(ConfigKey, name.upper()) + src = sr_config() + src.key = key.id + src.data = python_to_gvariant(value) + options.append(src.this) + option_list = python_to_gslist(options) + device_list = sr_driver_scan(self.struct, option_list) + g_slist_free(option_list) devices = [Device(self, gpointer_to_sr_dev_inst_ptr(ptr)) for ptr in gslist_to_python(device_list)] g_slist_free(device_list) @@ -188,6 +197,9 @@ class Session(object): def add_device(self, device): check(sr_session_dev_add(device.struct)) + def open_device(self, device): + check(sr_dev_open(device.struct)) + def add_callback(self, callback): wrapper = partial(callback_wrapper, self, callback) check(sr_session_datafeed_python_callback_add(wrapper))