Prusa MINI Firmware overview
|
|
uint8_t | USBH_MSC_IsReady (USBH_HandleTypeDef *phost) |
| USBH_MSC_IsReady The function check if the MSC function is ready. More...
|
|
int8_t | USBH_MSC_GetMaxLUN (USBH_HandleTypeDef *phost) |
| USBH_MSC_GetMaxLUN The function return the Max LUN supported. More...
|
|
uint8_t | USBH_MSC_UnitIsReady (USBH_HandleTypeDef *phost, uint8_t lun) |
| USBH_MSC_UnitIsReady The function check whether a LUN is ready. More...
|
|
USBH_StatusTypeDef | USBH_MSC_GetLUNInfo (USBH_HandleTypeDef *phost, uint8_t lun, MSC_LUNTypeDef *info) |
| USBH_MSC_GetLUNInfo The function return a LUN information. More...
|
|
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. More...
|
|
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. More...
|
|
static USBH_StatusTypeDef | USBH_MSC_InterfaceInit (USBH_HandleTypeDef *phost) |
| USBH_MSC_InterfaceInit The function init the MSC class. More...
|
|
static USBH_StatusTypeDef | USBH_MSC_InterfaceDeInit (USBH_HandleTypeDef *phost) |
| USBH_MSC_InterfaceDeInit The function DeInit the Pipes used for the MSC class. More...
|
|
static USBH_StatusTypeDef | USBH_MSC_ClassRequest (USBH_HandleTypeDef *phost) |
| USBH_MSC_ClassRequest The function is responsible for handling Standard requests for MSC class. More...
|
|
static USBH_StatusTypeDef | USBH_MSC_Process (USBH_HandleTypeDef *phost) |
| USBH_MSC_Process The function is for managing state machine for MSC data transfers. More...
|
|
static USBH_StatusTypeDef | USBH_MSC_SOFProcess (USBH_HandleTypeDef *phost) |
| USBH_MSC_SOFProcess The function is for SOF state. More...
|
|
static USBH_StatusTypeDef | USBH_MSC_RdWrProcess (USBH_HandleTypeDef *phost, uint8_t lun) |
| USBH_MSC_RdWrProcess The function is for managing state machine for MSC I/O Process. More...
|
|
◆ USBH_MSC_IsReady()
USBH_MSC_IsReady The function check if the MSC function is ready.
- Parameters
-
- Return values
-
◆ USBH_MSC_GetMaxLUN()
USBH_MSC_GetMaxLUN The function return the Max LUN supported.
- Parameters
-
- Return values
-
logical | Unit Number supported |
◆ USBH_MSC_UnitIsReady()
USBH_MSC_UnitIsReady The function check whether a LUN is ready.
- Parameters
-
phost | Host handle |
lun | logical Unit Number |
- Return values
-
Lun | status (0: not ready / 1: ready) |
◆ USBH_MSC_GetLUNInfo()
USBH_MSC_GetLUNInfo The function return a LUN information.
- Parameters
-
phost | Host handle |
lun | logical Unit Number |
- Return values
-
◆ USBH_MSC_Read()
USBH_MSC_Read The function performs a Read operation.
- Parameters
-
phost | Host handle |
lun | logical Unit Number |
address | sector address |
pbuf | pointer to data |
length | number of sector to read |
- Return values
-
724 timeout = phost->
Timer;
◆ USBH_MSC_Write()
USBH_MSC_Write The function performs a Write operation.
- Parameters
-
phost | Host handle |
lun | logical Unit Number |
address | sector address |
pbuf | pointer to data |
length | number of sector to write |
- Return values
-
772 timeout = phost->
Timer;
◆ USBH_MSC_InterfaceInit()
USBH_MSC_InterfaceInit The function init the MSC class.
- Parameters
-
- Return values
-
157 if(interface == 0xFF)
◆ USBH_MSC_InterfaceDeInit()
USBH_MSC_InterfaceDeInit The function DeInit the Pipes used for the MSC class.
- Parameters
-
- Return values
-
◆ USBH_MSC_ClassRequest()
USBH_MSC_ClassRequest The function is responsible for handling Standard requests for MSC class.
- Parameters
-
- Return values
-
◆ USBH_MSC_Process()
USBH_MSC_Process The function is for managing state machine for MSC data transfers.
- Parameters
-
- Return values
-
332 switch (MSC_Handle->
state)
446 if((phost->
Timer - MSC_Handle->
timer) < 10000)
479 #if (USBH_USE_OS == 1)
487 #if (USBH_USE_OS == 1)
◆ USBH_MSC_SOFProcess()
USBH_MSC_SOFProcess The function is for SOF state.
- Parameters
-
- Return values
-
◆ USBH_MSC_RdWrProcess()
USBH_MSC_RdWrProcess The function is for managing state machine for MSC I/O Process.
- Parameters
-
phost | Host handle |
lun | logical Unit Number |
- Return values
-
550 #if (USBH_USE_OS == 1)
572 #if (USBH_USE_OS == 1)
599 #if (USBH_USE_OS == 1)
Definition: usbh_msc.h:91
#define USBH_malloc
Definition: usbh_conf.h:148
uint32_t timer
Definition: usbh_msc.h:133
Definition: usbh_msc.h:81
#define MSC_TRANSPARENT
Definition: usbh_msc.h:157
Definition: usbh_msc.h:92
Definition: usbh_def.h:308
Definition: usbh_msc.h:67
bool error
Definition: auto_build.py:637
USBH_StatusTypeDef USBH_MSC_SCSI_Read(USBH_HandleTypeDef *phost, uint8_t lun, uint32_t address, uint8_t *pbuf, uint32_t length)
USBH_MSC_SCSI_Read Issue Read10 command.
Definition: usbh_msc_scsi.c:384
#define HOST_USER_CLASS_ACTIVE
Definition: usbh_core.h:65
USBH_StatusTypeDef USBH_SelectInterface(USBH_HandleTypeDef *phost, uint8_t interface)
USBH_SelectInterface Select current interface.
Definition: usbh_core.c:233
Definition: usbh_def.h:398
uint8_t current_interface
Definition: usbh_def.h:428
USBH_StatusTypeDef USBH_MSC_BOT_Init(USBH_HandleTypeDef *phost)
USBH_MSC_BOT_Init The function Initializes the BOT protocol.
Definition: usbh_msc_bot.c:151
SCSI_CapacityTypeDef capacity
Definition: usbh_msc.h:107
USBH_InterfaceDescTypeDef Itf_Desc[USBH_MAX_NUM_INTERFACES]
Definition: usbh_def.h:296
#define SCSI_SENSE_KEY_UNIT_ATTENTION
Definition: usbh_msc_scsi.h:112
Definition: usbh_msc.h:102
USBH_StatusTypeDef USBH_ClrFeature(USBH_HandleTypeDef *phost, uint8_t ep_num)
USBH_ClrFeature This request is used to clear or disable a specific feature.
Definition: usbh_ctlreq.c:308
USBH_EpDescTypeDef Ep_Desc[USBH_MAX_NUM_ENDPOINTS]
Definition: usbh_def.h:281
USBH_StatusTypeDef USBH_MSC_SCSI_ReadCapacity(USBH_HandleTypeDef *phost, uint8_t lun, SCSI_CapacityTypeDef *capacity)
USBH_MSC_SCSI_ReadCapacity Issue Read Capacity command.
Definition: usbh_msc_scsi.c:146
#define USBH_free
Definition: usbh_conf.h:151
Definition: usbh_msc.h:73
uint8_t i
Definition: screen_test_graph.c:72
USBH_StatusTypeDef USBH_ClosePipe(USBH_HandleTypeDef *phost, uint8_t pipe_num)
USBH_ClosePipe Close a pipe.
Definition: usbh_pipes.c:121
Definition: usbh_msc.h:72
uint8_t key
Definition: usbh_msc_scsi.h:69
USBH_StatusTypeDef USBH_MSC_SCSI_TestUnitReady(USBH_HandleTypeDef *phost, uint8_t lun)
USBH_MSC_SCSI_TestUnitReady Issue TestUnitReady command.
Definition: usbh_msc_scsi.c:104
uint8_t product_id[17]
Definition: usbh_msc_scsi.h:81
__IO uint32_t Timer
Definition: usbh_def.h:461
uint16_t OutEpSize
Definition: usbh_msc.h:123
#define NULL
Definition: usbd_def.h:53
void * pData
Definition: usbh_def.h:446
#define USBH_memset
Definition: usbh_conf.h:154
#define USBH_memcpy
Definition: usbh_conf.h:157
Definition: usbh_msc.h:68
uint8_t InPipe
Definition: usbh_msc.h:119
MSC_ErrorTypeDef error
Definition: usbh_msc.h:105
uint8_t address
Definition: usbh_def.h:425
SCSI_StdInquiryDataTypeDef inquiry
Definition: usbh_msc.h:109
static USBH_StatusTypeDef USBH_MSC_RdWrProcess(USBH_HandleTypeDef *phost, uint8_t lun)
USBH_MSC_RdWrProcess The function is for managing state machine for MSC I/O Process.
Definition: usbh_msc.c:523
USBH_StatusTypeDef USBH_FreePipe(USBH_HandleTypeDef *phost, uint8_t idx)
USBH_Free_Pipe Free the USB Pipe.
Definition: usbh_pipes.c:158
uint8_t asc
Definition: usbh_msc_scsi.h:70
USBH_CfgDescTypeDef CfgDesc
Definition: usbh_def.h:430
USBH_StatusTypeDef USBH_OpenPipe(USBH_HandleTypeDef *phost, uint8_t ch_num, uint8_t epnum, uint8_t dev_address, uint8_t speed, uint8_t ep_type, uint16_t mps)
USBH_Open_Pipe Open a pipe.
Definition: usbh_pipes.c:93
MSC_ReqStateTypeDef prev_req_state
Definition: usbh_msc.h:128
Definition: usbh_msc.h:80
Definition: usbh_msc.h:69
uint8_t state_changed
Definition: usbh_msc.h:110
uint8_t ascq
Definition: usbh_msc_scsi.h:71
Definition: usbh_def.h:304
osStatus osMessagePut(osMessageQId queue_id, uint32_t info, uint32_t millisec)
Put a Message to a Queue.
Definition: cmsis_os.c:1113
USBH_StatusTypeDef USBH_MSC_SCSI_Inquiry(USBH_HandleTypeDef *phost, uint8_t lun, SCSI_StdInquiryDataTypeDef *inquiry)
USBH_MSC_SCSI_Inquiry Issue Inquiry command.
Definition: usbh_msc_scsi.c:202
#define USBH_DbgLog(...)
Definition: usbh_conf.h:185
USBH_DeviceTypeDef device
Definition: usbh_def.h:456
uint8_t speed
Definition: usbh_def.h:426
uint8_t revision_id[5]
Definition: usbh_msc_scsi.h:82
uint16_t rw_lun
Definition: usbh_msc.h:132
__IO uint8_t is_connected
Definition: usbh_def.h:427
MSC_LUNTypeDef unit[MAX_SUPPORTED_LUN]
Definition: usbh_msc.h:130
Definition: usbh_msc.h:70
if(size<=((png_alloc_size_t) -1) - ob)
Definition: pngwrite.c:2176
#define SCSI_SENSE_KEY_NOT_READY
Definition: usbh_msc_scsi.h:108
uint32_t block_nbr
Definition: usbh_msc_scsi.h:61
MSC_StateTypeDef state
Definition: usbh_msc.h:125
uint8_t vendor_id[9]
Definition: usbh_msc_scsi.h:80
uint16_t current_lun
Definition: usbh_msc.h:131
const uint8_t[]
Definition: 404_html.c:3
USBH_StatusTypeDef prev_ready_state
Definition: usbh_msc.h:106
#define USBH_UsrLog(...)
Definition: usbh_conf.h:166
UsbDeviceAddress address
Definition: address.h:202
MSC_ReqStateTypeDef req_state
Definition: usbh_msc.h:127
#define MSC_BOT
Definition: usbh_msc.h:156
USBH_StatusTypeDef
Definition: usbh_def.h:302
uint16_t InEpSize
Definition: usbh_msc.h:124
#define USB_EP_TYPE_BULK
Definition: usbh_def.h:172
USBH_StatusTypeDef USBH_LL_SetToggle(USBH_HandleTypeDef *phost, uint8_t, uint8_t)
Set toggle for a pipe.
Definition: usbh_conf.c:564
static status_t status
Definition: filament_sensor.c:37
uint8_t InEp
Definition: usbh_msc.h:122
MSC_ErrorTypeDef error
Definition: usbh_msc.h:126
USBH_StatusTypeDef USBH_MSC_SCSI_RequestSense(USBH_HandleTypeDef *phost, uint8_t lun, SCSI_SenseTypeDef *sense_data)
USBH_MSC_SCSI_RequestSense Issue RequestSense command.
Definition: usbh_msc_scsi.c:264
uint8_t OutPipe
Definition: usbh_msc.h:120
uint32_t max_lun
Definition: usbh_msc.h:118
USBH_StatusTypeDef USBH_MSC_SCSI_Write(USBH_HandleTypeDef *phost, uint8_t lun, uint32_t address, uint8_t *pbuf, uint32_t length)
USBH_MSC_SCSI_Write Issue write10 command.
Definition: usbh_msc_scsi.c:323
uint8_t USBH_FindInterface(USBH_HandleTypeDef *phost, uint8_t Class, uint8_t SubClass, uint8_t Protocol)
USBH_FindInterface Find the interface index for a specific class.
Definition: usbh_core.c:274
USBH_StatusTypeDef USBH_MSC_BOT_REQ_GetMaxLUN(USBH_HandleTypeDef *phost, uint8_t *Maxlun)
USBH_MSC_BOT_REQ_GetMaxLUN The function the MSC BOT GetMaxLUN request.
Definition: usbh_msc_bot.c:130
Definition: usbh_msc.h:71
uint8_t OutEp
Definition: usbh_msc.h:121
Definition: usbh_def.h:306
Definition: usbh_def.h:305
Definition: usbh_msc.h:66
void(* pUser)(struct _USBH_HandleTypeDef *pHandle, uint8_t id)
Definition: usbh_def.h:464
const char * Name
Definition: usbh_def.h:439
Definition: usbh_msc.h:65
png_uint_32 length
Definition: png.c:2247
USBH_ClassTypeDef * pActiveClass
Definition: usbh_def.h:458
__IO HOST_StateTypeDef gState
Definition: usbh_def.h:452
uint8_t USBH_AllocPipe(USBH_HandleTypeDef *phost, uint8_t ep_addr)
USBH_Alloc_Pipe Allocate a new Pipe.
Definition: usbh_pipes.c:138
MSC_StateTypeDef state
Definition: usbh_msc.h:104
Definition: usbh_msc.h:89
Definition: usbh_def.h:338
Definition: usbh_msc.h:82
uint16_t wMaxPacketSize
Definition: usbh_def.h:265
Definition: usbh_msc.h:116
uint8_t bEndpointAddress
Definition: usbh_def.h:263
uint16_t block_size
Definition: usbh_msc_scsi.h:62
Definition: usbh_def.h:307
SCSI_SenseTypeDef sense
Definition: usbh_msc.h:108
uint8_t info[12]
Definition: masstorage.h:54