GD32F10x USB-Device: E:/USB Libraries/GD32_USB_Device_Library/Class/msc/inc/usbd_msc_bot.h Source File

GD32F103 Firmware

usbd_msc_bot.h
Go to the documentation of this file.
1 
11 /* Define to prevent recursive inclusion -------------------------------------*/
12 #ifndef __GD32F10X_USBD_MSC_BOT_H
13 #define __GD32F10X_USBD_MSC_BOT_H
14 
15 /* Includes ------------------------------------------------------------------*/
16 #include "usbd_core.h"
17 #include "usbd_msc_scsi.h"
18 #include "usbd_msc_mem.h"
19 
39 #define BBB_IDLE 0 /* Idle state */
40 #define BBB_DATA_OUT 1 /* Data Out state */
41 #define BBB_DATA_IN 2 /* Data In state */
42 #define BBB_LAST_DATA_IN 3 /* Last Data In state */
43 #define BBB_SEND_DATA 4 /* Send Immediate data */
44 
45 #define BBB_CBW_SIGNATURE 0x43425355
46 #define BBB_CSW_SIGNATURE 0x53425355
47 #define BBB_CBW_LENGTH 31
48 #define BBB_CSW_LENGTH 13
49 
50 /* CSW Status Definitions */
51 #define CSW_CMD_PASSED 0x00
52 #define CSW_CMD_FAILED 0x01
53 #define CSW_PHASE_ERROR 0x02
54 
55 /* BOT Status */
56 #define BBB_STATUS_NORMAL 0
57 #define BBB_STATUS_RECOVERY 1
58 #define BBB_STATUS_ERROR 2
59 
67 typedef struct _MSC_BBB_CBW
68 {
69  uint32_t dCBWSignature;
70  uint32_t dCBWTag;
71  uint32_t dCBWDataTransferLength;
72  uint8_t bmCBWFlags;
73  uint8_t bCBWLUN;
74  uint8_t bCBWCBLength;
75  uint8_t CBWCB[16];
76 }
78 
79 
80 typedef struct _MSC_BBB_CSW
81 {
82  uint32_t dCSWSignature;
83  uint32_t dCSWTag;
84  uint32_t dCSWDataResidue;
85  uint8_t bCSWStatus;
86 }
88 
96 extern uint8_t MSC_BBB_Data[];
97 extern uint16_t MSC_BBB_DataLen;
98 extern uint8_t MSC_BBB_State;
99 
100 extern MSC_BBB_CBW_TypeDef MSC_BBB_cbw;
101 extern MSC_BBB_CSW_TypeDef MSC_BBB_csw;
102 
110 void MSC_BBB_Init (USB_DEVICE_HANDLE *pudev);
111 void MSC_BBB_Reset (USB_DEVICE_HANDLE *pudev);
112 void MSC_BBB_DeInit (USB_DEVICE_HANDLE *pudev);
113 void MSC_BBB_DataIn (USB_DEVICE_HANDLE *pudev, uint8_t EpID);
114 void MSC_BBB_DataOut (USB_DEVICE_HANDLE *pudev, uint8_t EpID);
115 void MSC_BBB_SendCSW (USB_DEVICE_HANDLE *pudev, uint8_t CSW_Status);
116 void MSC_BBB_CplClrFeature (USB_DEVICE_HANDLE *pudev, uint8_t EpID);
117 
138 #endif /* __GD32F10X_USBD_MSC_BOT_H */
139 
140 /************************ (C) COPYRIGHT 2014 GIGADEVICE *****END OF FILE****/
141 
void MSC_BBB_DeInit(USB_DEVICE_HANDLE *pudev)
De-Initialize the BBB Machine.
Definition: usbd_msc_bot.c:101
void MSC_BBB_SendCSW(USB_DEVICE_HANDLE *pudev, uint8_t CSW_Status)
Send the CSW(command status wrapper)
Definition: usbd_msc_bot.c:242
Header for the STORAGE DISK file.
void MSC_BBB_Init(USB_DEVICE_HANDLE *pudev)
Initialize the BBB process.
Definition: usbd_msc_bot.c:66
void MSC_BBB_CplClrFeature(USB_DEVICE_HANDLE *pudev, uint8_t EpID)
Complete the clear feature request.
Definition: usbd_msc_bot.c:291
void MSC_BBB_Reset(USB_DEVICE_HANDLE *pudev)
Reset the BBB machine.
Definition: usbd_msc_bot.c:85
void MSC_BBB_DataOut(USB_DEVICE_HANDLE *pudev, uint8_t EpID)
Handle BBB OUT data stage.
Definition: usbd_msc_bot.c:142
Header file for the usbd_msc_scsi.c file.
void MSC_BBB_DataIn(USB_DEVICE_HANDLE *pudev, uint8_t EpID)
Handle BBB IN data stage.
Definition: usbd_msc_bot.c:112
USB device core function protoype.
Generated on Fri Feb 6 2015 14:56:35 for GD32F10x USB-Device by   doxygen 1.8.8