Prusa MINI Firmware overview
|
Go to the documentation of this file.
96 #ifndef MAX_SUPPORTED_LUN
97 #define MAX_SUPPORTED_LUN 2
148 #define USB_REQ_BOT_RESET 0xFF
149 #define USB_REQ_GET_MAX_LUN 0xFE
153 #define USB_MSC_CLASS 0x08
157 #define MSC_TRANSPARENT 0x06
173 #define USBH_MSC_CLASS &USBH_msc
Definition: usbh_msc.h:91
#define USB_REQ_SET_ADDRESS
Definition: usbd_def.h:86
#define USB_REQ_GET_STATUS
Definition: usbd_def.h:83
#define USBD_STATE_ADDRESSED
Definition: usbd_def.h:119
#define USB_DESC_TYPE_STRING
Definition: usbd_def.h:97
uint32_t timer
Definition: usbh_msc.h:133
#define USB_REQ_SET_CONFIGURATION
Definition: usbd_def.h:90
USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
USBD_IsoINIncomplete Handle iso in incomplete event.
Definition: usbd_core.c:509
#define USBD_EP0_STATUS_OUT
Definition: usbd_def.h:130
#define USBD_IDX_CONFIG_STR
Definition: usbd_def.h:70
Definition: usbh_msc.h:81
uint8_t *(* GetSerialStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length)
Definition: usbd_def.h:207
uint8_t *(* GetConfigurationStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length)
Definition: usbd_def.h:208
#define MAX_SUPPORTED_LUN
Definition: usbh_msc.h:97
uint8_t(* DeInit)(struct _USBD_HandleTypeDef *pdev, uint8_t cfgidx)
Definition: usbd_def.h:163
uint8_t dev_old_state
Definition: usbd_def.h:237
#define USBD_ErrLog(...)
Definition: usbd_conf.h:157
uint8_t(* SOF)(struct _USBD_HandleTypeDef *pdev)
Definition: usbd_def.h:171
uint32_t status
Definition: usbd_def.h:218
Definition: usbh_msc.h:92
Definition: usbh_msc.h:67
USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev)
USBD_RunTestMode Launch test mode process.
Definition: usbd_core.c:213
Definition: usbd_def.h:201
#define USB_CONFIG_SELF_POWERED
Definition: usbd_def.h:105
USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlContinueRx continue receive data on the ctl pipe.
Definition: usbd_ioreq.c:160
uint16_t wLength
Definition: usbd_def.h:155
USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
USBD_ClrClassConfig Clear current configuration.
Definition: usbd_core.c:249
USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev)
Starts the low level portion of the device driver.
Definition: usbd_conf.c:355
Header file for usbh_core.c.
USBD_SetupReqTypedef request
Definition: usbd_def.h:243
struct _MSC_Process MSC_HandleTypeDef
USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_StdEPReq Handle standard usb endpoint requests.
Definition: usbd_ctlreq.c:207
#define USBD_STATE_CONFIGURED
Definition: usbd_def.h:120
USBH_StatusTypeDef USBH_MSC_Write(USBH_HandleTypeDef *phost, uint8_t lun, uint32_t address, uint8_t *pbuf, uint32_t length)
USBH_MSC_Write The function performs a Write operation.
Definition: usbh_msc.c:748
SCSI_CapacityTypeDef capacity
Definition: usbh_msc.h:107
USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed)
USBD_LL_Reset Handle Reset event.
Definition: usbd_core.c:451
uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Returns the last transfered packet size.
Definition: usbd_conf.c:696
#define LOBYTE(x)
Definition: usbd_def.h:263
USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
USBD_ClrClassConfig Clear current configuration.
Definition: usbd_core.c:249
uint8_t(* Setup)(struct _USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
Definition: usbd_def.h:165
USBD_ClassTypeDef * pClass
Definition: usbd_def.h:245
Definition: usbh_msc.h:102
USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id)
USBD_Init Initializes the device stack and load the class driver.
Definition: usbd_core.c:96
USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev)
USBD_LL_Reset Handle Reset event.
Definition: usbd_core.c:415
#define MIN(a, b)
Definition: usbd_def.h:265
Definition: usbh_msc.h:73
Definition: usbh_msc_scsi.h:59
Definition: usbd_def.h:197
USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
USBD_SetClassConfig Configure device and start the interface.
Definition: usbd_core.c:227
uint8_t(* DataOut)(struct _USBD_HandleTypeDef *pdev, uint8_t epnum)
Definition: usbd_def.h:170
uint8_t dev_state
Definition: usbd_def.h:236
#define USB_REQ_CLEAR_FEATURE
Definition: usbd_def.h:84
uint32_t ep0_state
Definition: usbd_def.h:234
USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev)
USBD_Stop Stop the USB Device Core.
Definition: usbd_core.c:196
USBD_EndpointTypeDef ep_in[15]
Definition: usbd_def.h:232
USBD_DescriptorsTypeDef * pDesc
Definition: usbd_def.h:244
uint8_t *(* GetHSConfigDescriptor)(uint16_t *length)
Definition: usbd_def.h:175
Definition: usbh_msc.h:72
#define USBD_EP0_DATA_OUT
Definition: usbd_def.h:128
USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Clears a Stall condition on an endpoint of the Low Level Driver.
Definition: usbd_conf.c:548
USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr)
Assigns a USB address to the device.
Definition: usbd_conf.c:596
USBH_StatusTypeDef USBH_MSC_Read(USBH_HandleTypeDef *phost, uint8_t lun, uint32_t address, uint8_t *pbuf, uint32_t length)
USBH_MSC_Read The function performs a Read operation.
Definition: usbh_msc.c:700
uint8_t *(* GetLangIDStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length)
Definition: usbd_def.h:204
#define USBD_IDX_PRODUCT_STR
Definition: usbd_def.h:68
#define USB_DESC_TYPE_CONFIGURATION
Definition: usbd_def.h:96
uint8_t bmRequest
Definition: usbd_def.h:151
#define USBD_EP0_SETUP
Definition: usbd_def.h:126
Definition: usbh_msc.h:90
uint16_t OutEpSize
Definition: usbh_msc.h:123
#define USB_DESC_TYPE_DEVICE_QUALIFIER
Definition: usbd_def.h:100
uint32_t ep0_data_len
Definition: usbd_def.h:235
#define USB_REQ_GET_CONFIGURATION
Definition: usbd_def.h:89
#define USB_DESC_TYPE_DEVICE
Definition: usbd_def.h:95
Definition: usbh_def.h:450
void * pClassData
Definition: usbd_def.h:246
BOT_HandleTypeDef hbot
Definition: usbh_msc.h:129
#define NULL
Definition: usbd_def.h:53
#define USB_MAX_EP0_SIZE
Definition: usbd_def.h:115
static uint8_t USBD_GetLen(uint8_t *buf)
USBD_GetLen return the string length.
Definition: usbd_ctlreq.c:756
USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev)
USBD_Suspend Handle Suspend event.
Definition: usbd_core.c:464
uint8_t *(* GetManufacturerStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length)
Definition: usbd_def.h:205
uint32_t dev_config
Definition: usbd_def.h:228
#define USBD_MAX_NUM_CONFIGURATION
Definition: usbd_conf.h:97
Definition: usbh_msc.h:68
uint8_t InPipe
Definition: usbh_msc.h:119
MSC_ErrorTypeDef error
Definition: usbh_msc.h:105
default
Definition: createSpeedLookupTable.py:15
USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev)
USBD_Resume Handle Resume event.
Definition: usbd_core.c:478
#define USB_REQ_RECIPIENT_DEVICE
Definition: usbd_def.h:78
#define USB_REQ_RECIPIENT_INTERFACE
Definition: usbd_def.h:79
USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_StdEPReq Handle standard usb endpoint requests.
Definition: usbd_ctlreq.c:207
USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps)
Opens an endpoint of the low level driver.
Definition: usbd_conf.c:420
SCSI_StdInquiryDataTypeDef inquiry
Definition: usbh_msc.h:109
USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_StdDevReq Handle standard usb device requests.
Definition: usbd_ctlreq.c:119
#define USB_REQ_GET_DESCRIPTOR
Definition: usbd_def.h:87
void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata)
USBD_ParseSetupRequest Copy buffer into setup structure.
Definition: usbd_ctlreq.c:698
USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *buf, uint16_t len)
USBD_CtlSendData send data on the ctl pipe.
Definition: usbd_ioreq.c:95
#define USBD_IDX_MFC_STR
Definition: usbd_def.h:67
#define USB_DESC_TYPE_BOS
Definition: usbd_def.h:102
USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
Initializes the low level portion of the device driver.
Definition: usbd_conf.c:290
#define USB_FEATURE_REMOTE_WAKEUP
Definition: usbd_def.h:108
void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata)
USBD_ParseSetupRequest Copy buffer into setup structure.
Definition: usbd_ctlreq.c:698
USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_StdDevReq Handle standard usb device requests.
Definition: usbd_ctlreq.c:119
MSC_ReqStateTypeDef
Definition: usbh_msc.h:87
#define USB_FEATURE_EP_HALT
Definition: usbd_def.h:107
USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
USBD_SetClassConfig Configure device and start the interface.
Definition: usbd_core.c:227
#define USBD_IDX_INTERFACE_STR
Definition: usbd_def.h:71
USBH_StatusTypeDef USBH_MSC_GetLUNInfo(USBH_HandleTypeDef *phost, uint8_t lun, MSC_LUNTypeDef *info)
USBH_MSC_GetLUNInfo The function return a LUN information.
Definition: usbh_msc.c:676
USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev)
Stops the low level portion of the device driver.
Definition: usbd_conf.c:386
Definition: usbd_def.h:225
USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass)
USBD_RegisterClass Link class driver to Device Core.
Definition: usbd_core.c:157
MSC_ReqStateTypeDef prev_req_state
Definition: usbh_msc.h:128
uint8_t *(* GetInterfaceStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length)
Definition: usbd_def.h:209
USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Sets a Stall condition on an endpoint of the Low Level Driver.
Definition: usbd_conf.c:516
Definition: usbd_def.h:216
Definition: usbh_msc_scsi.h:67
Definition: usbh_msc.h:80
Definition: usbh_msc.h:69
uint8_t state_changed
Definition: usbh_msc.h:110
#define USBD_IDX_LANGID_STR
Definition: usbd_def.h:66
uint32_t dev_remote_wakeup
Definition: usbd_def.h:241
USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlContinueRx continue receive data on the ctl pipe.
Definition: usbd_ioreq.c:160
uint32_t dev_config_status
Definition: usbd_def.h:230
USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev)
USBD_Start Start the USB Device Core.
Definition: usbd_core.c:181
uint8_t USBH_MSC_UnitIsReady(USBH_HandleTypeDef *phost, uint8_t lun)
USBH_MSC_UnitIsReady The function check whether a LUN is ready.
Definition: usbh_msc.c:655
Definition: usbd_def.h:160
uint16_t rw_lun
Definition: usbh_msc.h:132
uint8_t(* EP0_RxReady)(struct _USBD_HandleTypeDef *pdev)
Definition: usbd_def.h:167
MSC_LUNTypeDef unit[MAX_SUPPORTED_LUN]
Definition: usbh_msc.h:130
uint32_t rem_length
Definition: usbd_def.h:220
Definition: usbh_msc.h:70
uint8_t(* DataIn)(struct _USBD_HandleTypeDef *pdev, uint8_t epnum)
Definition: usbd_def.h:169
USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev)
USBD_CtlSendStatus send zero lzngth packet on the ctl pipe.
Definition: usbd_ioreq.c:177
uint16_t wIndex
Definition: usbd_def.h:154
USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint16_t size)
Transmits data over an endpoint.
Definition: usbd_conf.c:630
uint8_t(* Init)(struct _USBD_HandleTypeDef *pdev, uint8_t cfgidx)
Definition: usbd_def.h:162
Definition: usbh_msc.h:74
static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_GetConfig Handle Get device configuration request.
Definition: usbd_ctlreq.c:568
MSC_StateTypeDef state
Definition: usbh_msc.h:125
Header file for the usbd_ioreq.c file.
USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlContinueSendData continue sending data on the ctl pipe.
Definition: usbd_ioreq.c:117
#define SWAPBYTE(addr)
Definition: usbd_def.h:260
static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_SetFeature Handle Set device feature request.
Definition: usbd_ctlreq.c:648
uint16_t current_lun
Definition: usbh_msc.h:131
Definition: usbd_def.h:188
USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev)
USBD_SOF Handle SOF event.
Definition: usbd_core.c:491
void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_CtlError Handle USB low level Error.
Definition: usbd_ctlreq.c:716
USBH_ClassTypeDef USBH_msc
Definition: usbh_msc.c:111
Definition: usbh_msc_scsi.h:75
uint8_t id
Definition: usbd_def.h:227
const uint8_t[]
Definition: 404_html.c:3
USBH_StatusTypeDef prev_ready_state
Definition: usbh_msc.h:106
UsbDeviceAddress address
Definition: address.h:202
Definition: usbd_def.h:148
USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev)
USBD_DevConnected Handle device connection event.
Definition: usbd_core.c:531
MSC_ReqStateTypeDef req_state
Definition: usbh_msc.h:127
static void USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_SetConfig Handle Set device configuration request.
Definition: usbd_ctlreq.c:491
USBD_SpeedTypeDef dev_speed
Definition: usbd_def.h:231
USBH_StatusTypeDef
Definition: usbh_def.h:302
USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint16_t size)
Prepares an endpoint for reception.
Definition: usbd_conf.c:664
static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_GetStatus Handle Get Status request.
Definition: usbd_ctlreq.c:608
Header file for usbh_msc_bot.c.
uint16_t InEpSize
Definition: usbh_msc.h:124
uint16_t wValue
Definition: usbd_def.h:153
USBD_EndpointTypeDef ep_out[15]
Definition: usbd_def.h:233
USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev)
USBD_CtlSendStatus send zero lzngth packet on the ctl pipe.
Definition: usbd_ioreq.c:177
#define USBD_STATE_DEFAULT
Definition: usbd_def.h:118
uint8_t *(* GetProductStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length)
Definition: usbd_def.h:206
Definition: usbh_msc_bot.h:131
uint8_t USBH_MSC_IsReady(USBH_HandleTypeDef *phost)
USBH_MSC_IsReady The function check if the MSC function is ready.
Definition: usbh_msc.c:617
#define USBD_IDX_SERIAL_STR
Definition: usbd_def.h:69
#define USB_REQ_SET_FEATURE
Definition: usbd_def.h:85
uint8_t dev_test_mode
Definition: usbd_def.h:240
USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev)
USBD_CtlReceiveStatus receive zero lzngth packet on the ctl pipe.
Definition: usbd_ioreq.c:195
uint8_t *(* GetDeviceDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length)
Definition: usbd_def.h:203
static status_t status
Definition: filament_sensor.c:37
USBD_StatusTypeDef
Definition: usbd_def.h:194
uint8_t InEp
Definition: usbh_msc.h:122
USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_StdItfReq Handle standard usb interface requests.
Definition: usbd_ctlreq.c:170
MSC_ErrorTypeDef error
Definition: usbh_msc.h:126
uint8_t OutPipe
Definition: usbh_msc.h:120
uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Returns Stall condition.
Definition: usbd_conf.c:580
USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev)
USBD_CtlReceiveStatus receive zero lzngth packet on the ctl pipe.
Definition: usbd_ioreq.c:195
uint32_t max_lun
Definition: usbh_msc.h:118
uint8_t bRequest
Definition: usbd_def.h:152
uint16_t USBD_GetRxCount(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
USBD_GetRxCount returns the received data length.
Definition: usbd_ioreq.c:217
Definition: usbh_msc.h:71
#define USB_REQ_RECIPIENT_ENDPOINT
Definition: usbd_def.h:80
#define USB_CONFIG_REMOTE_WAKEUP
Definition: usbd_def.h:104
MSC_ErrorTypeDef
Definition: usbh_msc.h:78
uint8_t OutEp
Definition: usbh_msc.h:121
USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev)
USBD_DeInit Re-Initialize th device library.
Definition: usbd_core.c:132
MSC_StateTypeDef
Definition: usbh_msc.h:63
USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
USBD_IsoOUTIncomplete Handle iso out incomplete event.
Definition: usbd_core.c:520
USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlPrepareRx receive data on the ctl pipe.
Definition: usbd_ioreq.c:135
USBD_SpeedTypeDef
Definition: usbd_def.h:186
uint8_t *(* GetFSConfigDescriptor)(uint16_t *length)
Definition: usbd_def.h:176
Header file for usbh_msc_scsi.c.
#define USBD_MAX_NUM_INTERFACES
Definition: usbd_conf.h:95
Definition: usbh_msc.h:66
#define USBD_EP0_STATUS_IN
Definition: usbd_def.h:129
#define USBD_EP_TYPE_CTRL
Definition: usbd_def.h:133
static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_ClrFeature Handle clear device feature request.
Definition: usbd_ctlreq.c:669
Definition: usbh_msc.h:65
png_uint_32 length
Definition: png.c:2247
uint8_t dev_address
Definition: usbd_def.h:238
uint8_t *(* GetDeviceQualifierDescriptor)(uint16_t *length)
Definition: usbd_def.h:178
#define USBD_STATE_SUSPENDED
Definition: usbd_def.h:121
#define USBD_EP0_DATA_IN
Definition: usbd_def.h:127
uint8_t(* EP0_TxSent)(struct _USBD_HandleTypeDef *pdev)
Definition: usbd_def.h:166
uint32_t dev_default_config
Definition: usbd_def.h:229
USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata)
USBD_DataOutStage Handle data OUT stage.
Definition: usbd_core.c:299
int8_t USBH_MSC_GetMaxLUN(USBH_HandleTypeDef *phost)
USBH_MSC_GetMaxLUN The function return the Max LUN supported.
Definition: usbh_msc.c:637
USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata)
USBD_DataInStage Handle data in stage.
Definition: usbd_core.c:343
MSC_StateTypeDef state
Definition: usbh_msc.h:104
Definition: usbh_msc.h:89
Definition: usbd_def.h:195
Definition: usbh_msc.h:82
static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_GetDescriptor Handle Get Descriptor requests.
Definition: usbd_ctlreq.c:331
Definition: usbh_msc.h:116
uint32_t maxpacket
Definition: usbd_def.h:221
#define USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION
Definition: usbd_def.h:101
USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlContinueSendData continue sending data on the ctl pipe.
Definition: usbd_ioreq.c:117
void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len)
USBD_GetString Convert Ascii string into unicode one.
Definition: usbd_ctlreq.c:732
SCSI_SenseTypeDef sense
Definition: usbh_msc.h:108
USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev)
USBD_DevDisconnected Handle device disconnection event.
Definition: usbd_core.c:542
USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlSendData send data on the ctl pipe.
Definition: usbd_ioreq.c:95
USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup)
USBD_SetupStage Handle the setup stage.
Definition: usbd_core.c:263
static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_SetAddress Set device address.
Definition: usbd_ctlreq.c:449
uint8_t *(* GetOtherSpeedConfigDescriptor)(uint16_t *length)
Definition: usbd_def.h:177
uint32_t total_length
Definition: usbd_def.h:219
USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev)
De-Initializes the low level portion of the device driver.
Definition: usbd_conf.c:324
USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_StdItfReq Handle standard usb interface requests.
Definition: usbd_ctlreq.c:170
Definition: usbh_def.h:437
Header file for usbd_core.c file.
uint8_t info[12]
Definition: masstorage.h:54