Skip to content

Unable to use Photometrics and PrincetonInstruments in the same time #93

Open
@llooiicc

Description

@llooiicc

Hello,

I try to use 2 cameras a PrincetonInstruments and a Photometrics. But I it seems it is not allowed to load this two dll in the same time.

I have this short code :

from pylablib.devices import Photometrics
from pylablib.devices import PrincetonInstruments

if __name__ == "__main__":
    cams = PrincetonInstruments.list_cameras()
    cam1 = PrincetonInstruments.PicamCamera(cams[0].serial_number)

    cams = Photometrics.list_cameras()
    cam2 = Photometrics.PvcamCamera(cams[0])

And the errors returned :

Traceback (most recent call last):
  File "d:\test_pylablib\main.py", line 25, in <module>
    cams = Photometrics.list_cameras()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\test_pylablib\.venv\Lib\site-packages\pylablib\devices\Photometrics\pvcam.py", line 39, in list_cameras
    with libctl.temp_open():
         ^^^^^^^^^^^^^^^^^^
  File "C:\Users\emac\AppData\Local\Programs\Python\Python312\Lib\contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "D:\test_pylablib\.venv\Lib\site-packages\pylablib\devices\utils\load_lib.py", line 290, in temp_open
    init_result,open_result,opid=self.open()
                                 ^^^^^^^^^^^
  File "D:\test_pylablib\.venv\Lib\site-packages\pylablib\devices\utils\load_lib.py", line 255, in open
    init_result=self._do_init() # pylint: disable=assignment-from-no-return
                ^^^^^^^^^^^^^^^
  File "D:\test_pylablib\.venv\Lib\site-packages\pylablib\devices\Photometrics\pvcam.py", line 31, in _do_init
    lib.pl_pvcam_init()
  File "<string>", line 1, in <lambda>
  File "D:\test_pylablib\.venv\Lib\site-packages\pylablib\core\utils\ctypes_wrap.py", line 276, in wrapped_func
    retval=func(*call_args)
           ^^^^^^^^^^^^^^^^
  File "D:\test_pylablib\.venv\Lib\site-packages\pylablib\devices\Photometrics\pvcam_lib.py", line 41, in errchecker
    raise PvcamLibError(func.__name__,lib=lib)
pylablib.devices.Photometrics.pvcam_lib.PvcamLibError: function 'pl_pvcam_init' raised error 158: The initialization has been already done (PL_ERR_LIBRARY_ALREADY_INITIALIZED)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions