Rust bindings for libdivecomputer, a cross-platform and open source library for communication with dive computers from various manufacturers.
This repository contains 2 crates:
Name | Description | Links |
---|---|---|
libdivecomputer |
High-level interface on top of libdivecomputer-sys 🚧 |
|
libdivecomputer-sys |
Unsafe bindings for libdivecomputer |
-
The high-level
libdivecomputer
wrapper is work-in-progress, and only covers a part of libdivecomputer functionality. -
Any other features have to be accessed through the unsafe libdivecomputer-sys crate.
The following code example shows how libdivecomputer
can be initialized.
use libdivecomputer::Descriptor;
let descriptor = Descriptor::default();
for dive_computer in descriptor {
println!("{dive_computer:?}");
}
Information about all wrapper functionality can be found in the libdivecomputer crate docs.
- autoreconf
- gcc
git submodule update --init
cargo build --release
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Note that libdivecomputer has its own LGPL-2.1 license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.