USB Libraries Help > USB Host Libraries > USB Host Layer Library > Configuring the Library > USB_HOST_PIPES_NUMBER Macro
MPLAB Harmony USB Stack
USB_HOST_PIPES_NUMBER Macro

USB Host Layer Pipes Number 

This configuration constant defines the maximum number of device communication pipes that Host Layer would need in the application. Every attached device requires atleast one pipe. This pipe is the control transfer pipe. Additional pipes are needed based on the type of device. For example, a standard Mass Storage Class device will need 2 pipes, a Communication Class Device will need 3 pipes, a HID device will need atleast 1 pipe. Vendor device will need communication pipe based on the device implementation. The number of pipes must also take into account the number of devices to support.

C
#define USB_HOST_PIPES_NUMBER 
Remarks

This number should match the number of pipes configured in the HCD that this application will use, that is DRV_USBHS_HOST_PIPES_NUMBER or DRV_USBFS_HOST_PIPES_NUMBER.

Example

If a USB Host application must support 2 devices, either 2 USB pen driver or 2 CDC devices or a mix of both, then the pipes number should be set to

  1. This is because the 2 CDC devices connected to the host will pose larger pipe

requirement. Two such devices will requires 2 control pipes, 2 interrupt pipes, 2 Bulk IN and 2 Bulk OUT pipes.