mctp_usb_embassy/
lib.rs

1// SPDX-License-Identifier: MIT OR Apache-2.0
2/*
3 * Copyright (c) 2025 Code Construct
4 */
5#![no_std]
6#![forbid(unsafe_code)]
7
8//! # MCTP over USB transport for `embassy-usb`.
9//!
10//! Implements DMTF [DSP0283](https://www.dmtf.org/sites/default/files/standards/documents/DSP0283_1.0.1.pdf)
11//! standard for a MCTP transport over USB.
12//!
13//! A `MctpUsbClass` instance is created with a `embassy-usb` `Builder`.
14//!
15//! That can be used directly with a [`mctp_estack::Router`] by calling
16//! [`run()`](MctpUsbClass::run).
17//!
18//! A lower level interface can be used with [`Sender`] and [`Receiver`]
19//! to send and receive MCTP-over-USB packets.
20
21mod mctpusb;
22
23pub use mctpusb::{MctpUsbClass, Receiver, Sender};
24
25/// Maximum USB packet size for DSP0283 1.0.
26///
27/// This can be used to size `embassy-usb` endpoint buffers.
28pub const MCTP_USB_MAX_PACKET: usize = 512;