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().