27 #define CBW_SCSI_READ10_INIT_DEFAULT \
46 #define CBW_SCSI_WRITE10_INIT_DEFAULT \
69 0x12, 0x34, 0x56, 0x78,
75 0x00, 0x00, 0x00, 0x00,
76 0x00, 0x00, 0x00, 0x00,
88 0x12, 0x34, 0x56, 0x78,
93 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00,
95 0x00, 0x00, 0x00, 0x00,
107 0x12, 0x34, 0x56, 0x78,
114 0x00, 0x00, 0x00, 0x00,
115 0x00, 0x00, 0x00, 0x00,
127 0x12, 0x34, 0x56, 0x78,
128 0x00, 0x00, 0x00, 0x00,
131 0x00, 0x00, 0x00, 0x00,
132 0x00, 0x00, 0x00, 0x00,
133 0x00, 0x00, 0x00, 0x00,
139 static uint32_t lbaCount = 0;
140 static uint32_t lbaSize = 0;
167 DEBUG_USB_API_PUTS(
"\nMSDSCSI_Init(), typedef size error");
220 cbw.dCBWDataTransferLength = sectors * lbaSize;
221 cb->
Lba = __REV(lba);
224 if ((uint32_t)
MSDBOT_Xfer(&cbw, data) == cbw.dCBWDataTransferLength)
314 cbw.dCBWDataTransferLength = sectors * lbaSize;
315 cb->
Lba = __REV(lba);
318 if ((uint32_t)
MSDBOT_Xfer(&cbw, (
void*) data) == cbw.dCBWDataTransferLength)
#define SCSI_TESTUNIT_READY
SCSI Inquiry response data typedef.
bool MSDSCSI_Init(USBH_Ep_TypeDef *out, USBH_Ep_TypeDef *in)
MSDSCSI module initialization.
bool MSDSCSI_RequestSense(MSDSCSI_RequestSenseData_TypeDef *data)
Issue a SCSI Request Sense command.
#define SCSI_REQUESTSENSEDATA_LEN
SCSI Request Sense response data typedef.
#define SL_ALIGN(X)
Macro for aligning a variable. Use this macro before the variable definition. X denotes the stora...
bool MSDSCSI_TestUnitReady(void)
Issue a SCSI Test Unit Ready command.
SCSI Read Capacity response data typedef.
SCSI interface for Mass Storage Devices (MSD).
uint32_t LogicalBlockAddress
#define SCSI_READCAPACITY
uint32_t LogicalBlockLength
bool MSDSCSI_Read10(uint32_t lba, uint16_t sectors, void *data)
Issue a SCSI Read(10) command.
#define SL_ATTRIBUTE_ALIGN(X)
GCC style macro for aligning a variable.
Definitions for the Bulk Only Transport protocol of USB Mass Storage devices.
SCSI Read 10 Command Descriptor Block (CDB) typedef.
int MSDBOT_Xfer(void *cbw, void *data)
Perform an MSD Bulk Only Transfer (BOT).
USB protocol stack library API for EFM32/EZR32.
bool MSDSCSI_ReadCapacity(MSDSCSI_ReadCapacityData_TypeDef *data)
Issue a SCSI Read Capacity command.
#define SCSI_READCAPACITYDATA_LEN
bool MSDSCSI_Write10(uint32_t lba, uint16_t sectors, const void *data)
Perform a SCSI Write(10) command.
Bulk Only Transport (BOT) Command Block Wrapper (CBW) typedef.
#define SCSI_INQUIRYDATA_LEN
bool MSDSCSI_Inquiry(MSDSCSI_InquiryData_TypeDef *data)
Issue a SCSI Inquiry command.
SCSI Write 10 Command Descriptor Block (CDB) typedef.
USB HOST endpoint status data.
#define SCSI_REQUESTSENSE
int MSDBOT_Init(USBH_Ep_TypeDef *out, USBH_Ep_TypeDef *in)
MSDBOT module initialization.