1.3. USB host controller driver communication level 1

There are the following functions to handle USB transfer requests at USB host controller driver side:

The USB host controller driver must ask the USB Module whether requests are pending for a given frame number or earlier by calling USB_RequestGetPending. If this is the case a pointer to the first transaction of a pending request will be returned to the USB host controller driver. The driver must check whether the are following transactions belonging to this request and fetch them too using USB_TransactionGetPending. The control over the transaction structures is passed in both cases from USB-Module to the USB host controller driver. The control over the transaction structure remains at the driver until it is passed back to the USB module by USB_TransactionResult with a result.

Note that the USB host controller driver is entirely free how to proceeed with the transactions in detail.

Internally level 1 is calculating the next frame at which the next request can be done for a pipe.