msdscsi.c File Reference
SCSI interface for Mass Storage Devices (MSD).
- Version
- 5.5.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] outPointer to an MSD bulk OUT endpoint structure. [in] inPointer 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] dataInquiry 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] lbaSector address (LBA) of first sector to read. [in] sectorsNumber of sectors to read. [out] dataData 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] dataRead 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] dataRequest 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] lbaSector address (LBA) of first sector to write. [in] sectorsNumber of sectors to write. [out] dataData 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() .