msdbot.c File Reference

Implements the host side of the Bulk Only Transport protocol for USB Mass Storage class Devices. More...

#include "em_usb.h"
#include "msdbot.h"
Include dependency graph for msdbot.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int MSDBOT_Init (USBH_Ep_TypeDef *out, USBH_Ep_TypeDef *in)
 MSDBOT module initialization.
int MSDBOT_Xfer (void *cbw, void *data)
 Perform an MSD Bulk Only Transfer (BOT).

Detailed Description

Implements the host side of the Bulk Only Transport protocol for USB Mass Storage class Devices.

Author:
Energy Micro AS
Version:
3.20.0

License

(C) Copyright 2012 Energy Micro AS, http://www.energymicro.com

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. 4. The source and compiled code may only be used on Energy Micro "EFM32" microcontrollers and "EFR4" radios.

DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no obligation to support this Software. Energy Micro AS is providing the Software "AS IS", with no express or implied warranties of any kind, including, but not limited to, any implied warranties of merchantability or fitness for any particular purpose or warranties against infringement of any proprietary rights of a third party.

Energy Micro AS will not be liable for any consequential, incidental, or special damages, or any other relief, or for any claim by any third party, arising from your use of this Software.

Definition in file msdbot.c.


Function Documentation

int MSDBOT_Init ( USBH_Ep_TypeDef *  out,
USBH_Ep_TypeDef *  in 
)

MSDBOT module initialization.

Parameters:
[in] out Pointer to an MSD bulk OUT endpoint structure.
[in] in Pointer to an MSD bulk IN endpoint structure.
Returns:
MSDBOT_STATUS_OK on success, else MSDBOT_INIT_ERROR.

Definition at line 76 of file msdbot.c.

References MSDBOT_INIT_ERROR, and MSDBOT_STATUS_OK.

Referenced by MSDSCSI_Init().

Here is the caller graph for this function:

int MSDBOT_Xfer ( void *  cbw,
void *  data 
)

Perform an MSD Bulk Only Transfer (BOT).

Parameters:
[in] cbw Pointer to a Command Block Wrapper (CBW) data structure.
[in] data Data buffer for data to be transferred.
Returns:
A positive (or zero) value indicating the number of bytes transferred.
A negative value indicates a transfer error code enumerated in MSDBOT_Status_TypeDef.

Definition at line 116 of file msdbot.c.

References MSDBOT_CSW_TypeDef::bCSWStatus, MSDBOT_CBW_TypeDef::dCBWDataTransferLength, MSDBOT_CBW_TypeDef::Direction, MSDBOT_CMD_FAILED, and MSDBOT_XFER_ERROR.

Referenced by MSDSCSI_Inquiry(), MSDSCSI_Read10(), MSDSCSI_ReadCapacity(), MSDSCSI_RequestSense(), MSDSCSI_TestUnitReady(), and MSDSCSI_Write10().

Here is the caller graph for this function: