//***************************************************************************** // // Called by the USB stack for any activity involving one of our endpoints // other than EP0. This function is a fan out that merely directs the call to // the correct handler depending upon the endpoint and transaction direction // signaled in ulStatus. // //***************************************************************************** static void HandleEndpoints(void *pvInstance, unsigned int ulStatus, unsigned int ulIndex) { const tUSBDBulkDevice *psBulkInst; tBulkInstance *psInst; ASSERT(pvInstance != 0); // // Determine if the serial device is in single or composite mode because // the meaning of ulIndex is different in both cases. // psBulkInst = (const tUSBDBulkDevice *)pvInstance; psInst = psBulkInst->psPrivateBulkData; // // Handler for the bulk OUT data endpoint. // if(ulStatus & (0x10000 << USB_EP_TO_INDEX(psInst->ucOUTEndpoint))) { // // Data is being sent to us from the host. // ProcessDataFromHost(pvInstance, ulStatus, ulIndex); } // // Handler for the bulk IN data endpoint. // if(ulStatus & (1 << USB_EP_TO_INDEX(psInst->ucINEndpoint))) { ProcessDataToHost(pvInstance, ulStatus, ulIndex); } }
//***************************************************************************** // // Called by the USB stack for any activity involving one of our endpoints // other than EP0. This function is a fan out that merely directs the call to // the correct handler depending upon the endpoint and transaction direction // signaled in ui32Status. // //***************************************************************************** static void HandleEndpoints(void *pvBulkDevice, uint32_t ui32Status) { tUSBDBulkDevice *psBulkDevice; tBulkInstance *psInst; ASSERT(pvBulkDevice != 0); // // The bulk device structure pointer. // psBulkDevice = (tUSBDBulkDevice *)pvBulkDevice; // // Get a pointer to the bulk device instance data pointer // psInst = &psBulkDevice->sPrivateData; // // Handler for the bulk OUT data endpoint. // if(ui32Status & (0x10000 << USBEPToIndex(psInst->ui8OUTEndpoint))) { // // Data is being sent to us from the host. // ProcessDataFromHost(psBulkDevice, ui32Status); } // // Handler for the bulk IN data endpoint. // if(ui32Status & (1 << USBEPToIndex(psInst->ui8INEndpoint))) { ProcessDataToHost(psBulkDevice, ui32Status); } }