pyobs-qhyccd 2.0.0.dev9__tar.gz → 2.0.0.dev12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyobs_qhyccd-2.0.0.dev12/.github/dependabot.yml +15 -0
- pyobs_qhyccd-2.0.0.dev12/.github/workflows/pypi.yml +65 -0
- pyobs_qhyccd-2.0.0.dev12/.github/workflows/pyrefly.yml +26 -0
- pyobs_qhyccd-2.0.0.dev9/.github/workflows/pypi.yml → pyobs_qhyccd-2.0.0.dev12/.github/workflows/pytest.yml +11 -12
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/PKG-INFO +4 -4
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/pyobs_qhyccd/qhyccdcamera.py +7 -6
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/pyproject.toml +20 -5
- pyobs_qhyccd-2.0.0.dev12/tests/test_import.py +23 -0
- pyobs_qhyccd-2.0.0.dev12/tests/test_qhyccdcamera.py +129 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/uv.lock +760 -151
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/.github/workflows/ruff.yml +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/.pre-commit-config.yaml +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/.readthedocs.yml +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/README.md +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/docs/Makefile +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/docs/make.bat +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/docs/requirements.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/docs/source/_static/pyobs.gif +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/docs/source/conf.py +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/docs/source/index.rst +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/distclean.sh +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/etc/udev/rules.d/85-qhyccd.rules +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/install.sh +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IC16200A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IC16803.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IC8300.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IC90A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IMG0H.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IMG2P.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IMG2S.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/IMG50.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/Origin678C.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/POLEMASTER.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY0204.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY09000A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY10.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY10768.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY11.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY12.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY1253.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY128.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY128PRO.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY15.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY16.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY16000.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY160002AD.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY16200A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY163.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY165.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY168.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY16803A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY174.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY178.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY183.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY183A.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY1920.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY2.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY20.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY2020.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY21.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY22.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY224.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY23.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY247.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY268.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY27.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY28.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY29.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY290.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY294.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY294PRO.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY2E.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY2PRO.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY342.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY342PRO.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY367.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY367PRO.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY4040.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY4040PRO.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY410.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY411.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY411ERIS.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY411_1.3.3.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY42.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY42PRO.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY432.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY461.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY487.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY530.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY533.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY550.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY585.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5II.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III174.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III178.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III185.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III200.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III224.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III290.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III334.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III415.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III462.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III482.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III485.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III568.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III585.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III678.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5III715.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY5LOADER.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY6.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY600-9267-1203.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY600.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY600ERIS-12-qxx.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY6060.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY6060PRO.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY695A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY7.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY8.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY811.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY814A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY8L.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY8M.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY8PRO.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY90A.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY9701.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY990.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY991.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY992.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/QHY9S.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/miniCam5.HEX +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/firmware/qhy/miniCam8.img +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/lib/udev/rules.d/85-qhyccd.rules +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/sbin/fxload +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/uninstall.sh +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/cmake_modules/FindOpenCV.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/cmake_modules/FindUSB-1.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/cmake_modules/FindUSB-ARM.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/doc/HowTo_QHYCCD_SDK_CrossPlatform.pdf +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/COPYING +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/Makefile +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/README.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/a3load.hex +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/ezusb.c +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/ezusb.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/fxload +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/fxload.8 +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/fxload.spec +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/fx3load/main.c +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/include/config.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/include/qhyccd.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/include/qhyccdcamdef.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/include/qhyccderr.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/include/qhyccdstruct.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/lib/libqhyccd.a +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/lib/libqhyccd.so +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/lib/libqhyccd.so.20 +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/lib/libqhyccd.so.25.9.29.10 +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/riffa_linux_driver/Makefile +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/riffa_linux_driver/README.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/riffa_linux_driver/circ_queue.c +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/riffa_linux_driver/circ_queue.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/riffa_linux_driver/riffa_driver.c +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/riffa_linux_driver/riffa_driver.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/DownloadFirmware/.svn/entries +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/DownloadFirmware/.svn/format +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/DownloadFirmware/.svn/text-base/Makefile.svn-base +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/DownloadFirmware/.svn/text-base/downfirmware.cpp.svn-base +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/DownloadFirmware/Makefile +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/DownloadFirmware/downfirmware.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/.svn/entries +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/.svn/format +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/.svn/text-base/LiveFrameSample.cpp.svn-base +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/.svn/text-base/Makefile.svn-base +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/LiveFrameSample +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/LiveFrameSample.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/LiveFrameSample.o +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/Makefile +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode/qhyccd.ini +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode_PCIE_Raw_Riffa/LiveFrameSample.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode_PCIE_Raw_Riffa/Makefile +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/LiveFrameMode_PCIE_Raw_Riffa/qhyccd.ini +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/.svn/entries +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/.svn/format +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/.svn/text-base/Makefile.svn-base +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/.svn/text-base/SingleFrameMode.cpp.svn-base +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/Makefile +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/SingleFrameMode +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/SingleFrameMode.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/SingleFrameMode.o +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/SingleFrameMode/qhyccd.ini +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/cmake/FindLibQHYCCD.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_base/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_base/main.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_cfw/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_cfw/build/qhyccd.ini +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_cfw/main.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/CMakeCommon.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/CMakeParseArguments.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindCFITSIO.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindDC1394.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindFFTW3.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindGMock.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindGSL.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindINDI.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindJPEG.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindLibXISF.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindLibev.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindNova.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindOggTheora.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindOpenAL.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindPackageHandleStandardArgs.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindPackageMessage.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindRTLSDR.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindUSB1.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/FindVorbis.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/cmake_modules/UnityBuild.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/main.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_client/main.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/CMakeCommon.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/CMakeParseArguments.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindCFITSIO.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindDC1394.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindFFTW3.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindGMock.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindGSL.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindINDI.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindJPEG.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindLibXISF.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindLibev.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindNova.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindOggTheora.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindOpenAL.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindPackageHandleStandardArgs.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindPackageMessage.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindRTLSDR.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindUSB1.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/FindVorbis.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/cmake_modules/UnityBuild.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/main.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_indi_focus/main.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/FindLibQHYCCD.cmake +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/README.md +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/CyAPI.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/CyUSB30_def.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/config.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/dllqhyccd.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/dllqhyccd.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/qhyccd.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/qhyccdcamdef.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/qhyccderr.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/qhyccdinternal.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/include/qhyccdstruct.h +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/lib/qhyccd.lib +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_multicam_opencv/main.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_opencv/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_live_opencv/main.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_single_opencv/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/cmake_demo/test_single_opencv/main.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/CMakeLists.txt +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/Capture.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/ControlCFW.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/ControlCool.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/ForceStop.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/GetCameraStatus.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/GetHistJPG.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/GetLastImageFIT.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/GetLastImageJPG.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/GetTemperature.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/LiveFrameSample.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/OSXDownloadFirmware2Camera.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/README +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/SetTemperature.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/testapp/common/SingleFrameSample.cpp +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/local/udev/85-qhyccd.rules +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/lib/usr/share/usb/a3load.hex +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/pyobs_qhyccd/__init__.py +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/pyobs_qhyccd/gui.py +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/pyobs_qhyccd/libqhyccd.pxd +0 -0
- {pyobs_qhyccd-2.0.0.dev9 → pyobs_qhyccd-2.0.0.dev12}/pyobs_qhyccd/qhyccddriver.pyx +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Publish package to PyPI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- 'v*'
|
|
6
|
+
jobs:
|
|
7
|
+
build-wheels:
|
|
8
|
+
name: Build wheels
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- name: Check out repository code
|
|
12
|
+
uses: actions/checkout@v4
|
|
13
|
+
|
|
14
|
+
- name: Build wheels
|
|
15
|
+
uses: pypa/cibuildwheel@v4.2.0
|
|
16
|
+
|
|
17
|
+
- name: Upload wheels
|
|
18
|
+
uses: actions/upload-artifact@v4
|
|
19
|
+
with:
|
|
20
|
+
name: wheels
|
|
21
|
+
path: wheelhouse/*.whl
|
|
22
|
+
|
|
23
|
+
build-sdist:
|
|
24
|
+
name: Build sdist
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
steps:
|
|
27
|
+
- name: Check out repository code
|
|
28
|
+
uses: actions/checkout@v4
|
|
29
|
+
|
|
30
|
+
- name: Set up Python
|
|
31
|
+
uses: astral-sh/setup-uv@v5
|
|
32
|
+
with:
|
|
33
|
+
enable-cache: true
|
|
34
|
+
python-version: "3.13"
|
|
35
|
+
|
|
36
|
+
- name: Build sdist
|
|
37
|
+
run: uv build --sdist
|
|
38
|
+
|
|
39
|
+
- name: Upload sdist
|
|
40
|
+
uses: actions/upload-artifact@v4
|
|
41
|
+
with:
|
|
42
|
+
name: sdist
|
|
43
|
+
path: dist/*.tar.gz
|
|
44
|
+
|
|
45
|
+
publish:
|
|
46
|
+
name: Publish to PyPI
|
|
47
|
+
needs: [build-wheels, build-sdist]
|
|
48
|
+
runs-on: ubuntu-latest
|
|
49
|
+
steps:
|
|
50
|
+
- name: Download artifacts
|
|
51
|
+
uses: actions/download-artifact@v4
|
|
52
|
+
with:
|
|
53
|
+
path: dist
|
|
54
|
+
merge-multiple: true
|
|
55
|
+
|
|
56
|
+
- name: Set up Python
|
|
57
|
+
uses: astral-sh/setup-uv@v5
|
|
58
|
+
with:
|
|
59
|
+
enable-cache: false
|
|
60
|
+
python-version: "3.13"
|
|
61
|
+
|
|
62
|
+
- name: Publish
|
|
63
|
+
env:
|
|
64
|
+
PYPI_TOKEN: ${{ secrets.pypi_password }}
|
|
65
|
+
run: uv publish --token $PYPI_TOKEN dist/*
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: pyrefly
|
|
2
|
+
on: push
|
|
3
|
+
|
|
4
|
+
jobs:
|
|
5
|
+
pyrefly:
|
|
6
|
+
runs-on: ubuntu-latest
|
|
7
|
+
timeout-minutes: 10
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- name: Check out repository code
|
|
11
|
+
uses: actions/checkout@v4
|
|
12
|
+
|
|
13
|
+
- name: Set up Python
|
|
14
|
+
uses: astral-sh/setup-uv@v5
|
|
15
|
+
with:
|
|
16
|
+
enable-cache: true
|
|
17
|
+
python-version: "3.13"
|
|
18
|
+
|
|
19
|
+
- name: Install system dependencies
|
|
20
|
+
run: sudo apt-get install -y libusb-1.0-0-dev libcfitsio-dev
|
|
21
|
+
|
|
22
|
+
- name: Install packages
|
|
23
|
+
run: uv sync --all-extras --dev
|
|
24
|
+
|
|
25
|
+
- name: Run pyrefly
|
|
26
|
+
run: uv run pyrefly check
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
name:
|
|
2
|
-
on:
|
|
3
|
-
|
|
4
|
-
tags:
|
|
5
|
-
- 'v*'
|
|
1
|
+
name: PyTest
|
|
2
|
+
on: push
|
|
3
|
+
|
|
6
4
|
jobs:
|
|
7
|
-
|
|
8
|
-
name: Build and publish package to PyPI
|
|
5
|
+
test:
|
|
9
6
|
runs-on: ubuntu-latest
|
|
7
|
+
timeout-minutes: 10
|
|
8
|
+
|
|
10
9
|
steps:
|
|
11
10
|
- name: Check out repository code
|
|
12
11
|
uses: actions/checkout@v4
|
|
@@ -20,10 +19,10 @@ jobs:
|
|
|
20
19
|
- name: Install system dependencies
|
|
21
20
|
run: sudo apt-get install -y libusb-1.0-0-dev libcfitsio-dev
|
|
22
21
|
|
|
23
|
-
- name:
|
|
24
|
-
run: uv
|
|
22
|
+
- name: Install packages
|
|
23
|
+
run: uv sync --all-extras --dev
|
|
25
24
|
|
|
26
|
-
- name:
|
|
25
|
+
- name: Run tests
|
|
26
|
+
run: uv run pytest tests
|
|
27
27
|
env:
|
|
28
|
-
|
|
29
|
-
run: uv publish --token $PYPI_TOKEN
|
|
28
|
+
CI: true
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobs-qhyccd
|
|
3
|
-
Version: 2.0.0.
|
|
3
|
+
Version: 2.0.0.dev12
|
|
4
4
|
Summary: pyobs module for QHYCCD cameras
|
|
5
5
|
Author-Email: Tim-Oliver Husser <thusser@uni-goettingen.de>
|
|
6
6
|
License-Expression: MIT
|
|
7
|
-
Requires-Python:
|
|
7
|
+
Requires-Python: >=3.11
|
|
8
8
|
Requires-Dist: astropy<8,>=7.0.1
|
|
9
9
|
Requires-Dist: numpy<3,>=2.2.5
|
|
10
|
-
Requires-Dist: pyobs-core<3,>=2.0.0.
|
|
10
|
+
Requires-Dist: pyobs-core<3,>=2.0.0.dev48
|
|
11
11
|
Provides-Extra: gui
|
|
12
|
-
Requires-Dist: pyobs-core[gui]<3,>=2.0.0.
|
|
12
|
+
Requires-Dist: pyobs-core[gui]<3,>=2.0.0.dev48; extra == "gui"
|
|
13
13
|
Requires-Dist: qasync>=0.28.0; extra == "gui"
|
|
14
14
|
|
|
@@ -10,6 +10,7 @@ from typing import Any, TypeVar, cast
|
|
|
10
10
|
import numpy as np
|
|
11
11
|
from pyobs.images import Image
|
|
12
12
|
from pyobs.interfaces import (
|
|
13
|
+
Binning,
|
|
13
14
|
BinningCapabilities,
|
|
14
15
|
BinningState,
|
|
15
16
|
CoolingState,
|
|
@@ -198,21 +199,21 @@ class QHYCCDCamera(BaseCamera, ICamera, IWindow, IBinning, IAbortable, ICooling,
|
|
|
198
199
|
|
|
199
200
|
await self._run_blocking_or_raise(_set_custom_params)
|
|
200
201
|
|
|
201
|
-
async def _available_binnings(self) -> list[
|
|
202
|
+
async def _available_binnings(self) -> list[Binning]:
|
|
202
203
|
if self._driver is None:
|
|
203
204
|
return []
|
|
204
205
|
driver = self._driver
|
|
205
206
|
|
|
206
|
-
def _get() -> list[
|
|
207
|
+
def _get() -> list[Binning]:
|
|
207
208
|
binnings = []
|
|
208
209
|
if driver.is_control_available(Control.CAM_BIN1X1MODE):
|
|
209
|
-
binnings.append(
|
|
210
|
+
binnings.append(Binning(x=1, y=1))
|
|
210
211
|
if driver.is_control_available(Control.CAM_BIN2X2MODE):
|
|
211
|
-
binnings.append(
|
|
212
|
+
binnings.append(Binning(x=2, y=2))
|
|
212
213
|
if driver.is_control_available(Control.CAM_BIN3X3MODE):
|
|
213
|
-
binnings.append(
|
|
214
|
+
binnings.append(Binning(x=3, y=3))
|
|
214
215
|
if driver.is_control_available(Control.CAM_BIN4X4MODE):
|
|
215
|
-
binnings.append(
|
|
216
|
+
binnings.append(Binning(x=4, y=4))
|
|
216
217
|
return binnings
|
|
217
218
|
|
|
218
219
|
return await self._run_blocking_or_raise(_get)
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pyobs-qhyccd"
|
|
3
|
-
version = "2.0.0.
|
|
3
|
+
version = "2.0.0.dev12"
|
|
4
4
|
description = "pyobs module for QHYCCD cameras"
|
|
5
5
|
authors = [{ name = "Tim-Oliver Husser", email = "thusser@uni-goettingen.de" }]
|
|
6
|
-
requires-python = ">=3.11
|
|
6
|
+
requires-python = ">=3.11"
|
|
7
7
|
license = "MIT"
|
|
8
8
|
dependencies = [
|
|
9
9
|
"astropy>=7.0.1,<8",
|
|
10
10
|
"numpy>=2.2.5,<3",
|
|
11
|
-
"pyobs-core>=2.0.0.
|
|
11
|
+
"pyobs-core>=2.0.0.dev48,<3",
|
|
12
12
|
]
|
|
13
13
|
|
|
14
14
|
[project.optional-dependencies]
|
|
15
15
|
gui = [
|
|
16
|
-
"pyobs-core[gui]>=2.0.0.
|
|
16
|
+
"pyobs-core[gui]>=2.0.0.dev48,<3",
|
|
17
17
|
"qasync>=0.28.0",
|
|
18
18
|
]
|
|
19
19
|
|
|
20
20
|
[dependency-groups]
|
|
21
21
|
dev = [
|
|
22
|
-
"black>=25.1.0,<
|
|
22
|
+
"black>=25.1.0,<27",
|
|
23
23
|
"ruff>=0.9.0",
|
|
24
24
|
"pyrefly>=1.1.1",
|
|
25
25
|
"pre-commit>=4.2.0,<5",
|
|
26
26
|
"cython>=3.0.0,<4",
|
|
27
|
+
"pytest>=8.0.0",
|
|
28
|
+
"pytest-asyncio>=0.24.0",
|
|
27
29
|
]
|
|
28
30
|
|
|
29
31
|
[tool.setuptools]
|
|
@@ -35,6 +37,15 @@ qhyccd-gui = 'pyobs_qhyccd.gui:main'
|
|
|
35
37
|
[tool.scikit-build]
|
|
36
38
|
wheel.packages = ["pyobs_qhyccd"]
|
|
37
39
|
|
|
40
|
+
[tool.cibuildwheel]
|
|
41
|
+
build = "cp311-* cp312-* cp313-* cp314-*"
|
|
42
|
+
skip = "*-musllinux_* *-manylinux_i686"
|
|
43
|
+
archs = ["x86_64"]
|
|
44
|
+
|
|
45
|
+
[tool.cibuildwheel.linux]
|
|
46
|
+
manylinux-x86_64-image = "manylinux_2_28"
|
|
47
|
+
before-all = "dnf install -y epel-release && dnf install -y cfitsio-devel libusbx-devel"
|
|
48
|
+
|
|
38
49
|
[build-system]
|
|
39
50
|
requires = ["scikit_build_core>=0.12", "cython>=3.0", "cython-cmake", "numpy>=2.0"]
|
|
40
51
|
build-backend = "scikit_build_core.build"
|
|
@@ -52,3 +63,7 @@ select = ["E", "F", "W", "I", "UP", "G"]
|
|
|
52
63
|
|
|
53
64
|
[tool.pyrefly]
|
|
54
65
|
python-version = "3.11"
|
|
66
|
+
project-excludes = ["pyobs_qhyccd/gui.py"]
|
|
67
|
+
|
|
68
|
+
[tool.pytest.ini_options]
|
|
69
|
+
asyncio_mode = "strict"
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""Smoke tests: import the driver and instantiate it without hardware, asserting the
|
|
2
|
+
interfaces it claims.
|
|
3
|
+
|
|
4
|
+
The Cython extension (qhyccddriver) links the vendored QHYCCD static library during
|
|
5
|
+
install, but device enumeration/opening only happens inside open(), so instantiation
|
|
6
|
+
is safe with no QHYCCD hardware attached.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from pyobs.interfaces import IAbortable, IBinning, ICamera, ICooling, IGain, IWindow
|
|
10
|
+
from pyobs.modules import Module
|
|
11
|
+
|
|
12
|
+
from pyobs_qhyccd import QHYCCDCamera
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_instantiate_camera() -> None:
|
|
16
|
+
camera = QHYCCDCamera()
|
|
17
|
+
assert isinstance(camera, Module)
|
|
18
|
+
assert isinstance(camera, ICamera)
|
|
19
|
+
assert isinstance(camera, IWindow)
|
|
20
|
+
assert isinstance(camera, IBinning)
|
|
21
|
+
assert isinstance(camera, ICooling)
|
|
22
|
+
assert isinstance(camera, IGain)
|
|
23
|
+
assert isinstance(camera, IAbortable)
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"""Unit tests for the non-hardware logic in QHYCCDCamera: constructor defaults, the
|
|
2
|
+
window/binning setters, the cooling-control guard, and the _run_blocking wrappers.
|
|
3
|
+
|
|
4
|
+
Hardware I/O (opening, exposing, reading out) is out of scope here.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import asyncio
|
|
8
|
+
import threading
|
|
9
|
+
from unittest.mock import AsyncMock
|
|
10
|
+
|
|
11
|
+
import pytest
|
|
12
|
+
from pyobs.interfaces import IBinning, ICooling, IWindow
|
|
13
|
+
|
|
14
|
+
from pyobs_qhyccd import QHYCCDCamera
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def test_constructor_defaults() -> None:
|
|
18
|
+
camera = QHYCCDCamera()
|
|
19
|
+
assert camera._setpoint == -10
|
|
20
|
+
assert camera._window == (0, 0, 0, 0)
|
|
21
|
+
assert camera._binning == (1, 1)
|
|
22
|
+
assert camera._effective_area == (0, 0, 0, 0)
|
|
23
|
+
assert camera._cooling_step == 1.0
|
|
24
|
+
assert camera._cooling_wait == 60.0
|
|
25
|
+
assert camera._driver is None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@pytest.mark.asyncio
|
|
29
|
+
async def test_set_window() -> None:
|
|
30
|
+
camera = QHYCCDCamera()
|
|
31
|
+
camera.comm.set_state = AsyncMock() # type: ignore[method-assign]
|
|
32
|
+
|
|
33
|
+
await camera.set_window(10, 20, 100, 200)
|
|
34
|
+
|
|
35
|
+
assert camera._window == (10, 20, 100, 200)
|
|
36
|
+
assert camera.comm.set_state.await_args is not None
|
|
37
|
+
interface, state = camera.comm.set_state.await_args.args
|
|
38
|
+
assert interface is IWindow
|
|
39
|
+
assert (state.x, state.y, state.width, state.height) == (10, 20, 100, 200)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@pytest.mark.asyncio
|
|
43
|
+
async def test_set_binning() -> None:
|
|
44
|
+
camera = QHYCCDCamera()
|
|
45
|
+
camera.comm.set_state = AsyncMock() # type: ignore[method-assign]
|
|
46
|
+
|
|
47
|
+
await camera.set_binning(2, 3)
|
|
48
|
+
|
|
49
|
+
assert camera._binning == (2, 3)
|
|
50
|
+
assert camera.comm.set_state.await_args is not None
|
|
51
|
+
interface, state = camera.comm.set_state.await_args.args
|
|
52
|
+
assert interface is IBinning
|
|
53
|
+
assert (state.x, state.y) == (2, 3)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@pytest.mark.asyncio
|
|
57
|
+
async def test_set_cooling_without_driver_publishes_state() -> None:
|
|
58
|
+
camera = QHYCCDCamera()
|
|
59
|
+
camera.comm.set_state = AsyncMock() # type: ignore[method-assign]
|
|
60
|
+
|
|
61
|
+
await camera.set_cooling(True, -15.0)
|
|
62
|
+
|
|
63
|
+
# no driver attached, so power can't be read back and is published as None
|
|
64
|
+
assert camera._setpoint == -15.0
|
|
65
|
+
assert camera.comm.set_state.await_args is not None
|
|
66
|
+
interface, state = camera.comm.set_state.await_args.args
|
|
67
|
+
assert interface is ICooling
|
|
68
|
+
assert (state.setpoint, state.power, state.enabled) == (-15.0, None, True)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@pytest.mark.asyncio
|
|
72
|
+
async def test_set_cooling_disabled_publishes_no_setpoint() -> None:
|
|
73
|
+
camera = QHYCCDCamera()
|
|
74
|
+
camera.comm.set_state = AsyncMock() # type: ignore[method-assign]
|
|
75
|
+
|
|
76
|
+
await camera.set_cooling(False, -15.0)
|
|
77
|
+
|
|
78
|
+
# disabling cooling publishes setpoint=None even though a setpoint was passed in
|
|
79
|
+
assert camera.comm.set_state.await_args is not None
|
|
80
|
+
interface, state = camera.comm.set_state.await_args.args
|
|
81
|
+
assert interface is ICooling
|
|
82
|
+
assert (state.setpoint, state.enabled) == (None, False)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
@pytest.mark.asyncio
|
|
86
|
+
async def test_set_gain_requires_driver() -> None:
|
|
87
|
+
camera = QHYCCDCamera()
|
|
88
|
+
with pytest.raises(ValueError):
|
|
89
|
+
await camera.set_gain(10.0)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
@pytest.mark.asyncio
|
|
93
|
+
async def test_run_blocking_runs_func_and_returns_true() -> None:
|
|
94
|
+
ran: list[bool] = []
|
|
95
|
+
|
|
96
|
+
def fast() -> None:
|
|
97
|
+
ran.append(True)
|
|
98
|
+
|
|
99
|
+
assert await QHYCCDCamera._run_blocking(fast) is True
|
|
100
|
+
assert ran == [True]
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
@pytest.mark.asyncio
|
|
104
|
+
async def test_run_blocking_times_out() -> None:
|
|
105
|
+
done = threading.Event()
|
|
106
|
+
|
|
107
|
+
def slow() -> None:
|
|
108
|
+
done.wait()
|
|
109
|
+
|
|
110
|
+
assert await QHYCCDCamera._run_blocking(slow, timeout=0.01) is False
|
|
111
|
+
done.set()
|
|
112
|
+
await asyncio.sleep(0.05)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
@pytest.mark.asyncio
|
|
116
|
+
async def test_run_blocking_or_raise_returns_value() -> None:
|
|
117
|
+
camera = QHYCCDCamera()
|
|
118
|
+
assert await camera._run_blocking_or_raise(lambda: 42) == 42
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
@pytest.mark.asyncio
|
|
122
|
+
async def test_run_blocking_or_raise_reraises() -> None:
|
|
123
|
+
camera = QHYCCDCamera()
|
|
124
|
+
|
|
125
|
+
def boom() -> int:
|
|
126
|
+
raise ValueError("boom")
|
|
127
|
+
|
|
128
|
+
with pytest.raises(ValueError):
|
|
129
|
+
await camera._run_blocking_or_raise(boom)
|