km003c-lib 0.2.0

Protocol parser and async USB library for the ChargerLAB POWER-Z KM003C
Documentation

km003c-lib

Async USB communication and protocol parsing for the ChargerLAB POWER-Z KM003C USB-C power analyzer.

The crate supports single-shot ADC measurements, authenticated AdcQueue streaming at 2/10/50/1000 SPS, USB Power Delivery event capture, device information, and recorded-packet parsing. Physical measurements use uom quantities throughout the Rust API.

use km003c_lib::uom::si::electric_potential::volt;
use km003c_lib::{DeviceConfig, KM003C};

# async fn read_voltage() -> Result<(), Box<dyn std::error::Error>> {
let mut device = KM003C::new(DeviceConfig::vendor()).await?;
let adc = device.request_adc_data().await?;
println!("VBUS: {:.3} V", adc.vbus.get::<volt>());
# Ok(())
# }

See the project repository for the CLI tools, GUI monitor, USB permissions, Python bindings, and protocol research links.

License

Licensed under either the Apache License, Version 2.0 or the MIT license, at your option.