#camera #qhyccd #api-bindings #astronomy

bin+lib qhyccd-rs

Rust bindings for the QHYCCD SDK. This crate provides a safe interface to the QHYCCD SDK for controlling QHYCCD cameras, filter wheels and focusers. The libqhyccd-sys crate provides the raw FFI bindings. It uses tracing for logging and eyre for error handling.

6 releases

0.1.5 Jan 4, 2024
0.1.4 Dec 30, 2023
0.1.2 Nov 26, 2023
0.1.1 Oct 29, 2023

#16 in #astronomy

36 downloads per month
Used in qhyccd-alpaca

MIT/Apache

160KB
3.5K SLoC

qhyccd-rs

Crates.io Documentation Codecov Dependency status

libqhyccd bindings for Rust.

Current bindings are not complete, but will grow as functionality is needed for the ASCOM alpaca drivers or other projects. It is very early in the dev cycle and I am still learning a ton about Rust, so things might be in flux for a while.

[dependencies]
qhyccd-rs = "0.1.5"

Rust version requirements

qhyccd-rs works with stable Rust. The minimum required Rust version is 1.65.0.

Version of libqhyccd

Currently the library works with QHYCCD SDK 23.09.06 newer versions require openCV to be installed and do not link well necessarily on ARM-based systems. The focus of this development here is unix, specifically AARCH64-based flavors, although CI is testing for x64 compatibility as well.

License

This project is licensed under either of

at your option.

The repository contains files from the QHYCCD SDK, these are not covered by these licenses and only provided, so builds in CI pass reasonably.

Contribution

All contributions are welcome.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in qhyccd-rs by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Quick Start

Install libusb-1.0-dev

Debian / Ubuntu

sudo apt-get install libusb-1.0-0-dev

Fedora

sudo dnf install libusb1-devel

Install QHYCCD SDK

ARM

wget https://www.qhyccd.com/file/repository/publish/SDK/230906/sdk_Arm64_23.09.06.tgz
tar xzvf sdk_Arm64_23.09.06.tgz 
cd sdk_Arm64_23.09.06/
sudo sh install.sh 

Linux_64

wget https://www.qhyccd.com/file/repository/publish/SDK/230906/sdk_linux64_23.09.06.tgz
tar xzvf sdk_linux64_23.09.06.tgz
cd sdk_linux64_23.09.06/
sudo sh install.sh 

Usage Examples

src/bin/LiveFrameMode.rs

src/bin/SingleFrameMode.rs

Dependencies

~1.6–2.4MB
~43K SLoC