usbd_storage/
lib.rs

1//! USB Mass Storage implementation for [usb-device]
2//!
3//! # Subclasses:
4//! * [SCSI] - SCSI device
5//! * [UFI] - USB Floppy Interface
6//! * [Vendor Specific subclass] - implement [Transport] trait
7//!
8//! # Transports:
9//! * [Bulk Only]
10//! * [Vendor Specific Transport]
11//!
12//! # Features
13//! | Feature | Description                           |
14//! | ------- |---------------------------------------|
15//! | `bbb` | Include Bulk Only Transport           |
16//! | `scsi` | Include SCSI subclass                 |
17//! | `ufi` | Include USB Floppy Interface subclass |
18//! | `defmt` | Enable logging via [defmt](https://crates.io/crates/defmt) crate |
19//!
20//! [usb-device]: https://crates.io/crates/usb-device
21//! [SCSI]: crate::subclass::scsi
22//! [UFI]: crate::subclass::ufi
23//! [Bulk Only]: crate::transport::bbb
24//! [Vendor Specific subclass]: crate::subclass
25//! [Vendor Specific Transport]: crate::transport
26//! [Transport]: crate::transport::Transport
27
28#![cfg_attr(not(test), no_std)]
29
30#[cfg(feature = "bbb")]
31pub(crate) mod buffer;
32pub(crate) mod fmt;
33pub mod subclass;
34pub mod transport;
35
36/// USB Mass Storage Class code
37pub const CLASS_MASS_STORAGE: u8 = 0x08;