uint8_t USBD_HID_Init (void *pdev, uint8_t cfgidx) { DCD_PMA_Config(pdev, HID_IN_EP, USB_SNG_BUF, HID_IN_TX_ADDRESS); DCD_PMA_Config(pdev, HID_OUT_EP, USB_SNG_BUF, HID_OUT_RX_ADDRESS); DCD_EP_Open(pdev, HID_IN_EP, DAP_PACKET_SIZE, USB_EP_INT); DCD_EP_Open(pdev, HID_OUT_EP, DAP_PACKET_SIZE, USB_EP_INT); /* start the ball rolling by preparing the first receive buffer */ DCD_EP_PrepareRx(pdev, HID_OUT_EP, next_dap_queue_buffer(), DAP_PACKET_SIZE); return USBD_OK; }
/** * @brief usbd_cdc_Init * Initialize the CDC interface * @param pdev: device instance * @param cfgidx: Configuration index * @retval status */ uint8_t usbd_cdc_Init (void *pdev, uint8_t cfgidx) { DCD_PMA_Config(pdev , CDC_IN_EP,USB_SNG_BUF,BULK_IN_TX_ADDRESS); DCD_PMA_Config(pdev , CDC_CMD_EP,USB_SNG_BUF,INT_IN_TX_ADDRESS); DCD_PMA_Config(pdev , CDC_OUT_EP,USB_SNG_BUF,BULK_OUT_RX_ADDRESS); /* Open EP IN */ DCD_EP_Open(pdev, CDC_IN_EP, CDC_DATA_IN_PACKET_SIZE, USB_EP_BULK); /* Open EP OUT */ DCD_EP_Open(pdev, CDC_OUT_EP, CDC_DATA_OUT_PACKET_SIZE, USB_EP_BULK); /* Open Command IN EP */ DCD_EP_Open(pdev, CDC_CMD_EP, CDC_CMD_PACKET_SZE, USB_EP_INT); /* Initialize the Interface physical components */ APP_FOPS.pIf_Init(); /* Prepare Out endpoint to receive next packet */ DCD_EP_PrepareRx(pdev, CDC_OUT_EP, (uint8_t*)(USB_Rx_Buffer), CDC_DATA_OUT_PACKET_SIZE); return USBD_OK; }
/** * @brief USBD_HID_Init * Initialize the HID interface * @param pdev: device instance * @param cfgidx: Configuration index * @retval status */ uint8_t USBD_HID_Init (void *pdev, uint8_t cfgidx) { DCD_PMA_Config(pdev , HID_IN_EP,USB_SNG_BUF,HID_IN_TX_ADDRESS); DCD_PMA_Config(pdev , HID_OUT_EP,USB_SNG_BUF,HID_OUT_RX_ADDRESS); /* Open EP IN */ DCD_EP_Open(pdev, HID_IN_EP, HID_IN_PACKET, USB_EP_INT); /* Open EP OUT */ DCD_EP_Open(pdev, HID_OUT_EP, HID_OUT_PACKET, USB_EP_INT); /*Receive Data*/ DCD_EP_PrepareRx(pdev,HID_OUT_EP,Report_buf,2); return USBD_OK; }
static uint8_t USBD_Reset(USB_CORE_HANDLE *pdev) { DCD_PMA_Config(pdev , 0x00 ,USB_SNG_BUF, ENDP0_RX_ADDRESS); DCD_PMA_Config(pdev , 0x80 ,USB_SNG_BUF, ENDP0_TX_ADDRESS); /* Open EP0 OUT */ DCD_EP_Open(pdev, 0x00, USB_MAX_EP0_SIZE, EP_TYPE_CTRL); /* Open EP0 IN */ DCD_EP_Open(pdev, 0x80, USB_MAX_EP0_SIZE, EP_TYPE_CTRL); /* Upon Reset call usr call back */ pdev->dev.device_status = USB_DEFAULT; pdev->dev.usr_cb->DeviceReset(pdev->dev.speed); return USBD_OK; }
/** * @brief USBD_HID_Init * Initialize the HID interface * @param pdev: device instance * @param cfgidx: Configuration index * @retval status */ static uint8_t USBD_HID_Init (void *pdev, uint8_t cfgidx) { DCD_PMA_Config(pdev , HID_IN_EP,USB_SNG_BUF,HID_IN_TX_ADDRESS); /* Open EP IN */ DCD_EP_Open(pdev, HID_IN_EP, HID_IN_PACKET, USB_EP_INT); /* Open EP OUT */ DCD_EP_Open(pdev, HID_OUT_EP, HID_OUT_PACKET, USB_EP_INT); return USBD_OK; }