From df6f138c97c6979b63d68dba1bc9475b56138333 Mon Sep 17 00:00:00 2001 From: Gabri Date: Sat, 5 Oct 2019 12:05:45 +0200 Subject: [PATCH 1/2] added load conf from file --- examples/camera/list_feature_infos.py | 2 +- pymba/camera.py | 5 +++++ pymba/vimba_c.py | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/examples/camera/list_feature_infos.py b/examples/camera/list_feature_infos.py index 03ad935..abcd36f 100644 --- a/examples/camera/list_feature_infos.py +++ b/examples/camera/list_feature_infos.py @@ -6,7 +6,7 @@ with Vimba() as vimba: camera = vimba.camera(0) camera.open() - + camera.load_config(b'gabri.xml') for feature_name in camera.feature_names(): feature = camera.feature(feature_name) print(feature.info) diff --git a/pymba/camera.py b/pymba/camera.py index 80b04c1..e2365f7 100644 --- a/pymba/camera.py +++ b/pymba/camera.py @@ -126,6 +126,11 @@ def close(self): if error: raise VimbaException(error) + def load_config(self, xml_conf_path: str): + error = vimba_c.vmb_camera_load_settings(self._handle, xml_conf_path, None, 0) + if error: + raise VimbaException(error) + def revoke_all_frames(self): """ Revoke all frames assigned to the camera. diff --git a/pymba/vimba_c.py b/pymba/vimba_c.py index 7f84421..9276fb7 100644 --- a/pymba/vimba_c.py +++ b/pymba/vimba_c.py @@ -244,6 +244,13 @@ class VmbFrame(Structure): vmb_camera_close.restype = c_int32 vmb_camera_close.argtypes = (c_void_p,) +vmb_camera_load_settings = _vimba_lib.VmbCameraSettingsLoad +vmb_camera_load_settings.restype = c_int32 +vmb_camera_load_settings.argtypes = (c_void_p, + c_char_p, + c_void_p, + c_uint32) + vmb_features_list = _vimba_lib.VmbFeaturesList vmb_features_list.restype = c_int32 vmb_features_list.argtypes = (c_void_p, From 98097c7a3b379ec443c47f1671f5de4520f1f653 Mon Sep 17 00:00:00 2001 From: Gabri Date: Sat, 5 Oct 2019 12:15:10 +0200 Subject: [PATCH 2/2] added example --- examples/camera/list_feature_infos.py | 1 - examples/camera/load_xml_config.py | 10 ++++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 examples/camera/load_xml_config.py diff --git a/examples/camera/list_feature_infos.py b/examples/camera/list_feature_infos.py index abcd36f..a3da1b3 100644 --- a/examples/camera/list_feature_infos.py +++ b/examples/camera/list_feature_infos.py @@ -6,7 +6,6 @@ with Vimba() as vimba: camera = vimba.camera(0) camera.open() - camera.load_config(b'gabri.xml') for feature_name in camera.feature_names(): feature = camera.feature(feature_name) print(feature.info) diff --git a/examples/camera/load_xml_config.py b/examples/camera/load_xml_config.py new file mode 100644 index 0000000..85712de --- /dev/null +++ b/examples/camera/load_xml_config.py @@ -0,0 +1,10 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + camera.load_config(b'sample_config.xml') + camera.close()