msdscsi.c File Reference
SCSI interface for Mass Storage Devices (MSD).
- Version
- 5.4.0
License
Copyright 2015 Silicon Labs, Inc. http://www.silabs.com
This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.
Definition in file
msdscsi.c
.
#include "em_usb.h"
#include "
msdscsi.h
"
#include "
msdbot.h
"
Functions |
|
bool | MSDSCSI_Init (USBH_Ep_TypeDef *out, USBH_Ep_TypeDef *in) |
MSDSCSI module initialization.
|
|
bool | MSDSCSI_Inquiry ( MSDSCSI_InquiryData_TypeDef *data) |
Issue a SCSI Inquiry command.
|
|
bool | MSDSCSI_Read10 (uint32_t lba, uint16_t sectors, void *data) |
Issue a SCSI Read(10) command.
|
|
bool | MSDSCSI_ReadCapacity ( MSDSCSI_ReadCapacityData_TypeDef *data) |
Issue a SCSI Read Capacity command.
|
|
bool | MSDSCSI_RequestSense ( MSDSCSI_RequestSenseData_TypeDef *data) |
Issue a SCSI Request Sense command.
|
|
bool | MSDSCSI_TestUnitReady (void) |
Issue a SCSI Test Unit Ready command.
|
|
bool | MSDSCSI_Write10 (uint32_t lba, uint16_t sectors, const void *data) |
Perform a SCSI Write(10) command.
|
|
Function Documentation
bool MSDSCSI_Init | ( | USBH_Ep_TypeDef * |
out,
|
USBH_Ep_TypeDef * |
in
|
||
) |
MSDSCSI module initialization.
- Parameters
-
[in] out
Pointer to an MSD bulk OUT endpoint structure. [in] in
Pointer to an MSD bulk IN endpoint structure.
- Returns
- Returns true on success, false otherwise.
Definition at line
155
of file
msdscsi.c
.
References MSDBOT_Init() , MSDBOT_STATUS_OK , SCSI_INQUIRYDATA_LEN , SCSI_READ10_LEN , SCSI_READCAPACITYDATA_LEN , SCSI_REQUESTSENSEDATA_LEN , and SCSI_WRITE10_LEN .
Referenced by MSDH_Init() .
bool MSDSCSI_Inquiry | ( | MSDSCSI_InquiryData_TypeDef * |
data
|
) |
Issue a SCSI Inquiry command.
- Parameters
-
[out] data
Inquiry response data buffer.
- Returns
- Returns true on success, false otherwise.
Definition at line
187
of file
msdscsi.c
.
References MSDBOT_Xfer() , and SCSI_INQUIRYDATA_LEN .
Referenced by MSDH_Init() .
bool MSDSCSI_Read10 | ( | uint32_t |
lba,
|
uint16_t |
sectors,
|
||
void * |
data
|
||
) |
Issue a SCSI Read(10) command.
- Parameters
-
[in] lba
Sector address (LBA) of first sector to read. [in] sectors
Number of sectors to read. [out] data
Data buffer through which data is returned to caller.
- Returns
- Returns true on success, false otherwise.
Definition at line
212
of file
msdscsi.c
.
References MSDSCSI_Read10_TypeDef::Lba , MSDBOT_Xfer() , SL_ALIGN , SL_ATTRIBUTE_ALIGN , and MSDSCSI_Read10_TypeDef::TransferLength .
Referenced by MSDH_ReadSectors() .
bool MSDSCSI_ReadCapacity | ( | MSDSCSI_ReadCapacityData_TypeDef * |
data
|
) |
Issue a SCSI Read Capacity command.
- Parameters
-
[out] data
Read Capacity response data buffer.
- Returns
- Returns true on success, false otherwise.
Definition at line
240
of file
msdscsi.c
.
References MSDSCSI_ReadCapacityData_TypeDef::LogicalBlockAddress , MSDSCSI_ReadCapacityData_TypeDef::LogicalBlockLength , MSDBOT_Xfer() , and SCSI_READCAPACITYDATA_LEN .
Referenced by MSDH_GetBlockSize() , MSDH_GetSectorCount() , MSDH_GetSectorSize() , and MSDH_Init() .
bool MSDSCSI_RequestSense | ( | MSDSCSI_RequestSenseData_TypeDef * |
data
|
) |
Issue a SCSI Request Sense command.
- Parameters
-
[out] data
Request Sense response data buffer.
- Returns
- Returns true on success, false otherwise.
Definition at line
266
of file
msdscsi.c
.
References MSDBOT_Xfer() , and SCSI_REQUESTSENSEDATA_LEN .
Referenced by MSDH_Init() .
bool MSDSCSI_TestUnitReady | ( | void |
|
) |
Issue a SCSI Test Unit Ready command.
- Returns
- Returns true if device ready, false if device not ready or cmd transfer error.
Definition at line
283
of file
msdscsi.c
.
References MSDBOT_STATUS_OK , and MSDBOT_Xfer() .
Referenced by MSDH_Init() .
bool MSDSCSI_Write10 | ( | uint32_t |
lba,
|
uint16_t |
sectors,
|
||
const void * |
data
|
||
) |
Perform a SCSI Write(10) command.
- Parameters
-
[in] lba
Sector address (LBA) of first sector to write. [in] sectors
Number of sectors to write. [out] data
Data buffer containing data to be written.
- Returns
- Returns true on success, false otherwise.
Definition at line
308
of file
msdscsi.c
.
References MSDSCSI_Write10_TypeDef::Lba , MSDBOT_Xfer() , SL_ALIGN , SL_ATTRIBUTE_ALIGN , and MSDSCSI_Write10_TypeDef::TransferLength .
Referenced by MSDH_WriteSectors() .