2 #if (USE_STM32_USB_HOST_MODE || USE_STM32_USB_USE_DEVICE_MODE || USE_STM32_USB_OTG_MODE)
32 #include "stm32/usb/usbd_core.h"
35 #ifndef __USBD_MSC_BOT_H
36 #define __USBD_MSC_BOT_H
38 #define MSC_IN_EP 0x81
39 #define MSC_OUT_EP 0x01
42 #define MSC_MAX_PACKET 512
44 #define MSC_MAX_PACKET 64
47 #define MSC_MAX_PACKET 64
51 #define MSC_MEDIA_PACKET 4096
67 #define BOT_DATA_OUT 1
69 #define BOT_LAST_DATA_IN 3
70 #define BOT_SEND_DATA 4
72 #define BOT_CBW_SIGNATURE 0x43425355
73 #define BOT_CSW_SIGNATURE 0x53425355
74 #define BOT_CBW_LENGTH 31
75 #define BOT_CSW_LENGTH 13
78 #define CSW_CMD_PASSED 0x00
79 #define CSW_CMD_FAILED 0x01
80 #define CSW_PHASE_ERROR 0x02
83 #define BOT_STATE_NORMAL 0
84 #define BOT_STATE_RECOVERY 1
85 #define BOT_STATE_ERROR 2
100 typedef struct _MSC_BOT_CBW
104 uint32_t dDataLength;
113 typedef struct _MSC_BOT_CSW
117 uint32_t dDataResidue;
131 extern uint8_t MSC_BOT_Data[];
132 extern uint16_t MSC_BOT_DataLen;
133 extern uint8_t MSC_BOT_State;
134 extern uint8_t MSC_BOT_BurstMode;
135 extern MSC_BOT_CBW_TypeDef MSC_BOT_cbw;
136 extern MSC_BOT_CSW_TypeDef MSC_BOT_csw;
143 void MSC_BOT_Init (USB_OTG_CORE_HANDLE *pdev);
144 void MSC_BOT_Reset (USB_OTG_CORE_HANDLE *pdev);
145 void MSC_BOT_DeInit (USB_OTG_CORE_HANDLE *pdev);
146 void MSC_BOT_DataIn (USB_OTG_CORE_HANDLE *pdev,
149 void MSC_BOT_DataOut (USB_OTG_CORE_HANDLE *pdev,
152 void MSC_BOT_SendCSW (USB_OTG_CORE_HANDLE *pdev,
155 void MSC_BOT_CplClrFeature (USB_OTG_CORE_HANDLE *pdev,
libheivs configuration file