5 releases
0.2.0 | Oct 19, 2024 |
---|---|
0.1.3 | Nov 19, 2023 |
0.1.2 | Sep 21, 2023 |
0.1.1 | Feb 21, 2023 |
0.1.0 | Feb 20, 2023 |
#261 in Hardware support
443 downloads per month
Used in boardswarm
66KB
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:
# fn main() -> anyhow::Result<()> {
let devices = rockusb::libusb::Devices::new()?;
let mut transport = devices.iter().next()
.ok_or_else(|| anyhow::anyhow!("No Device found"))??;
println!("Chip Info: {:0x?}", transport.chip_info()?);
Ok(())
# }
Printing chip info using nusb backend:
# #[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 transport = rockusb::nusb::Transport::from_usb_device_info(info)?;
println!("Chip Info: {:0x?}", transport.chip_info().await?);
Ok(())
# }
Dependencies
~0.5–9.5MB
~107K SLoC