nexstar_rust 0.1.0

Celestron NexStar serial protocol: command building and response parsing
Documentation
  • Coverage
  • 7.44%
    23 out of 309 items documented1 out of 160 items with examples
  • Size
  • Source code size: 77.71 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 13.95 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 36s Average build duration of successful builds.
  • all releases: 36s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • spin7ion/nexstar_rust
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • spin7ion

nexstar_rust

docs.rs crates.io

Rust helpers for the Celestron NexStar handset serial protocol: build command frames and parse #-terminated responses.

This crate is a Rust port of the Dart/Flutter NexStar protocol library spin7ion/nexstar_flutter (command builders and response parsing). Behavior follows that project, with a few protocol fixes noted in the source where the original had clear mistakes.

API reference (this crate on Docs.rs): nexstar_rust on docs.rs

Source: github.com/spin7ion/nexstar_rust

Contact: spin7ion@gmail.com · spin@7ion.ru

This crate handles encoding and decoding only. It does not open a serial port; wire those bytes up with your platform’s UART/USB stack (for example serialport on desktop).

Quick start

Add the crate to your project:

[dependencies]
nexstar_rust = "0.1"

Build bytes and parse a reply:

use nexstar_rust::{build_get_version_command, NexstarParsedResponse};

let v = build_get_version_command();
let reply_from_mount = [4u8, 21, b'#'];
match v.parse_response(&reply_from_mount) {
    NexstarParsedResponse::Version(r) if r.success() => {
        assert_eq!(r.version(), "4.21");
    }
    _ => panic!("expected version"),
}

Examples

Example What it shows
build_commands Common command strings / byte vectors
parse_responses Turning sample replies into structs
cargo run --example build_commands
cargo run --example parse_responses

API overview

License

Licensed under either of Apache-2.0 or MIT at your option.

Publishing (maintainers)

See the Cargo Book: Publishing on crates.io. Run cargo publish --dry-run, then cargo login and cargo publish. Repository and homepage are set in Cargo.toml.