3 unstable releases
new 0.3.0 | Mar 3, 2025 |
---|---|
0.2.8 | Feb 9, 2025 |
0.1.6 |
|
#393 in Hardware support
433 downloads per month
295KB
5.5K
SLoC
Vzense ToF Camera Bindings for Rust
This library provides high-level bindings to connect to and read data from Vzense Time of Flight (ToF) Cameras. The underlying low-level FFI crate is vzense-sys
.
Architecture support
Support for x86_64
and aarch64
is provided.
OS support
Currently only Linux is supported (for MacOS, Vzense unfortunately does not provide drivers). The library is based on the Scepter SDK and Vzense SDK repositories. Tested for Debian 12.8 on x86-64 and Asahi Linux on aarch64 (Apple M2).
Camera support
The scepter
module supports NYX650/660, DS86/87, DS77C, and DS77 cameras. (Only NYX650 has been tested so far.)
The dcam560
module is specifically for the Vzense DCAM560 camera but other models like DCAM305, DCAM550, and DCAM710 can be added upon request. (Only DCAM560 has been tested so far.)
Example and Usage
The scepter
module is used by default. To use the dcam560
module, set default = ["dcam560"]
under [features]
in Cargo.toml.
The basic example covers all the functionality provided by the library and can be run with cargo run --example basic
. To stream with maximum frame rate add --release
. For the example, the show-image
crate is used as a dev-dependency to display data.
For a standalone binary to find links (stored in <projectDir>/target/<buildType>/deps/
) to the shared libraries, one can use for example chrpath but should make sure that rpath = true
is set under [profile.<buildType>]
in Cargo.toml.
Issues
There is an issue that data for the "color mapped to depth frame" is not available for the NYX650 camera if running with --release
. Please see here for details.
License
This project is licensed under the terms of the MIT and BSD-3-Clause License.
Dependencies
~0–1.6MB
~21K SLoC