diff --git a/components/usb/hcd_dwc.c b/components/usb/hcd_dwc.c index e51de377c7..53b1aef38f 100644 --- a/components/usb/hcd_dwc.c +++ b/components/usb/hcd_dwc.c @@ -1798,6 +1798,16 @@ err: return ret; } +int hcd_pipe_get_mps(hcd_pipe_handle_t pipe_hdl) +{ + pipe_t *pipe = (pipe_t *)pipe_hdl; + int mps; + HCD_ENTER_CRITICAL(); + mps = pipe->ep_char.mps; + HCD_EXIT_CRITICAL(); + return mps; +} + esp_err_t hcd_pipe_free(hcd_pipe_handle_t pipe_hdl) { pipe_t *pipe = (pipe_t *)pipe_hdl; diff --git a/components/usb/private_include/hcd.h b/components/usb/private_include/hcd.h index d2de4aa9f0..b640f0e8bd 100644 --- a/components/usb/private_include/hcd.h +++ b/components/usb/private_include/hcd.h @@ -361,6 +361,15 @@ esp_err_t hcd_port_set_fifo_bias(hcd_port_handle_t port_hdl, hcd_port_fifo_bias_ */ esp_err_t hcd_pipe_alloc(hcd_port_handle_t port_hdl, const hcd_pipe_config_t *pipe_config, hcd_pipe_handle_t *pipe_hdl); +/** + * @brief Get maximum packet size (mps) of HCD pipe + * + * @param[in] port_hdl Pipe handle + * + * @retval HCD pipe mps + */ +int hcd_pipe_get_mps(hcd_pipe_handle_t pipe_hdl); + /** * @brief Free a pipe *