| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __USB_VENDOR_H
- #define __USB_VENDOR_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* Includes ------------------------------------------------------------------*/
- #include "usbd_ioreq.h"
- #include "usb/usb_hooks.h"
- #include "usb/usb_config.h"
- #include "core/config.h"
- #include "drivers/usb/class/common/class_common.h"
- #define VENDOR_IN_EP 0x81 /* EP1 for data IN */
- #define VENDOR_OUT_EP 0x01 /* EP1 for data OUT */
- #define VENDOR_DATAIN_MAX_PACKET_SIZE 64 // Control-EP size
- #define VENDOR_DATAOUT_MAX_PACKET_SIZE 64 // Control-EP size
- #define VENDOR_USE_COMMON_EP0RXREADY 1
- #define VENDOR_USE_COMMON_EP0TXSENT 1
- #define VENDOR_USE_COMMON_SETUP 1
- #if USB_CONTROL_VENDOR_RX_BUFFER < USB_MAX_EP0_SIZE
- #error Invalid USB_CONTROL_VENDOR_RX_BUFFER buffer size. Must be at least USB_MAX_EP0_SIZE bytes.
- #endif
- #if USB_CONTROL_VENDOR_TX_BUFFER < USB_MAX_EP0_SIZE
- #error Invalid USB_CONTROL_VENDOR_TX_BUFFER buffer size. Must be at least USB_MAX_EP0_SIZE bytes.
- #endif
- /*---------------------------------------------------------------------*/
- /* VENDOR definitions */
- /*---------------------------------------------------------------------*/
-
- typedef struct
- {
- sUSBTransfer_t ep0_tx_transfer;
- sUSBTransfer_t ep0_rx_transfer;
-
- uint8_t ep0_tx_buffer[ USB_CONTROL_VENDOR_TX_BUFFER ];
- uint8_t ep0_rx_buffer[ USB_CONTROL_VENDOR_RX_BUFFER ];
-
- }
- USBD_VENDOR_HandleTypeDef;
- static inline size_t USBD_VENDOR_get_control_tx_transfer_size()
- {
- return sizeof(((USBD_VENDOR_HandleTypeDef*)0)->ep0_tx_buffer);
- }
- static inline size_t USBD_VENDOR_get_control_rx_transfer_size()
- {
- return sizeof(((USBD_VENDOR_HandleTypeDef*)0)->ep0_rx_buffer);
- }
- extern const USBD_COMMON_ItfTypeDef USBD_Interface_Vendor_UsbInterface;
- extern const USBD_ClassTypeDef USBD_VENDOR;
- #define USBD_VENDOR_CLASS &USBD_VENDOR
- #ifdef __cplusplus
- }
- #endif
- #endif /* __USB_VENDOR_H */
|