LUFA Library  120219
Mass Storage Class Device Mode Driver

Data Structures

struct  USB_ClassInfo_MS_Device_t
 Mass Storage Class Device Mode Configuration and State Structure. More...

Functions

bool MS_Device_ConfigureEndpoints (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
void MS_Device_ProcessControlRequest (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
void MS_Device_USBTask (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
bool CALLBACK_MS_Device_SCSICommandReceived (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)

Detailed Description

Module Source Dependencies

The following files must be built with any user project that uses this module:

Module Description

Device Mode USB Class driver framework interface, for the Mass Storage USB Class driver.


Function Documentation

Mass Storage class driver callback for the user processing of a received SCSI command. This callback will fire each time the host sends a SCSI command which requires processing by the user application. Inside this callback the user is responsible for the processing of the received SCSI command from the host. The SCSI command is available in the CommandBlock structure inside the Mass Storage class state structure passed as a parameter to the callback function.

Parameters:
[in,out]MSInterfaceInfoPointer to a structure containing a Mass Storage Class configuration and state.
Returns:
Boolean true if the SCSI command was successfully processed, false otherwise.
bool MS_Device_ConfigureEndpoints ( USB_ClassInfo_MS_Device_t *const  MSInterfaceInfo)

Configures the endpoints of a given Mass Storage interface, ready for use. This should be linked to the library EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the given Mass Storage interface is selected.

Parameters:
[in,out]MSInterfaceInfoPointer to a structure containing a Mass Storage Class configuration and state.
Returns:
Boolean true if the endpoints were successfully configured, false otherwise.

Processes incoming control requests from the host, that are directed to the given Mass Storage class interface. This should be linked to the library EVENT_USB_Device_ControlRequest() event.

Parameters:
[in,out]MSInterfaceInfoPointer to a structure containing a Mass Storage Class configuration and state.
void MS_Device_USBTask ( USB_ClassInfo_MS_Device_t *const  MSInterfaceInfo)

General management task for a given Mass Storage class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().

Parameters:
[in,out]MSInterfaceInfoPointer to a structure containing a Mass Storage configuration and state.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines