6 releases
Uses new Rust 2024
| 0.3.0 | Jun 10, 2025 |
|---|---|
| 0.2.0 | Oct 19, 2024 |
| 0.1.3 | Nov 19, 2023 |
| 0.1.2 | Sep 21, 2023 |
| 0.1.1 | Feb 21, 2023 |
#948 in Hardware support
Used in boardswarm
64KB
1.5K
SLoC
Rockchip usb protocol host implementation
Rockchip bootroms and early loaders implement an USB protocol to help loader early firmware, flashing persistant storage etc. This crate contains a sans-io implementation of that protocol as well as an optional implementations of IO using libusb or nusb.
Printing chip info using libusb backend:
# #[cfg(feature = "libusb")] {
# fn main() -> anyhow::Result<()> {
let devices = rockusb::libusb::Devices::new()?;
let mut device = devices.iter().next()
.ok_or_else(|| anyhow::anyhow!("No Device found"))??;
println!("Chip Info: {:0x?}", device.chip_info()?);
Ok(())
# }
# }
Printing chip info using nusb backend:
# #[cfg(feature = "nusb")] {
# #[tokio::main]
# async fn main() -> anyhow::Result<()> {
let mut devices = rockusb::nusb::devices()?;
let info = devices.next()
.ok_or_else(|| anyhow::anyhow!("No Device found"))?;
let mut device = rockusb::nusb::Device::from_usb_device_info(info)?;
println!("Chip Info: {:0x?}", device.chip_info().await?);
Ok(())
# }
# }
Dependencies
~0.6–14MB
~158K SLoC