cspcl 0.1.0

Rust bindings for the cspcl library
Documentation
  • Coverage
  • 85.71%
    6 out of 7 items documented0 out of 0 items with examples
  • Size
  • Source code size: 15.98 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.81 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 29s Average build duration of successful builds.
  • all releases: 27s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • hugoponthieu

CSPCL - Rust Bindings

Safe Rust bindings for the CubeSat Space Protocol Convergence Layer (CSPCL), enabling Bundle Protocol 7 (BP7) bundles to be transmitted over CubeSat Space Protocol (CSP).

Features

  • Type-safe API - Safe Rust wrappers around C FFI
  • Bundle Send/Receive - Simple interface for BP7 bundle handling
  • Automatic Cleanup - Resource management via RAII (Drop trait)
  • Cross-platform - POSIX (Linux) and FreeRTOS support

Quick Start

Add to Cargo.toml:

[dependencies]
cspcl = "0.1"

Basic usage:

use cspcl::Cspcl;

// Initialize with local CSP address
let mut cspcl = Cspcl::init(1)?;
cspcl.open_rx_socket()?;

// Send bundle to CSP address 2
let bundle = vec![/* BP7 bundle data */];
cspcl.send_bundle(&bundle, 2)?;

// Receive bundle (5 second timeout)
let (data, src_addr) = cspcl.recv_bundle(5000)?;
println!("Received {} bytes from CSP addr {}", data.len(), src_addr);

Documentation

See main repository README for complete documentation and examples.

License

MIT