Библиотека LUFA (раннее название MyUSB) версия 101122
Драйвер режима USB-устройства Mass Storage Class

Data Structures

struct  USB_ClassInfo_MS_Device_t
 Структура конфигурации и состояния устройства USB Mass Storage Class. 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

зависимости для исходного кода модуля

Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:

модуля

Фреймворк-интерфейс драйвера режима устройства, для Mass Storage USB Class.


Function Documentation

bool CALLBACK_MS_Device_SCSICommandReceived ( USB_ClassInfo_MS_Device_t *const  MSInterfaceInfo)

Функция обратного вызова (callback) драйвера класса Mass Storage для обработки пользователем принятой команды SCSI. Этот callback запускается каждый раз, когда хост отправляет команду SCSI, которая требует обработку приложением пользователя. Внутри этого callback пользователь отвечает за обработку принятой от хоста команды SCSI. Команда SCSI доступна в структуре CommandBlock, внутри структуры состояния класса Mass Storage, которая передается как параметр в функцию callback.

Parameters:
[in,out]MSInterfaceInfoуказатель на структуру, содержащую конфигурацию и состояние Mass Storage Class.
Returns:
двоичное true, если команда SCSI успешно обработана, иначе false.
bool MS_Device_ConfigureEndpoints ( USB_ClassInfo_MS_Device_t *const  MSInterfaceInfo)

Конфигурирует конечные точки указанного интерфейса Mass Storage готовыми для использования. Должно быть слинковано с событием EVENT_USB_Device_ConfigurationChanged() библиотеки, чтобы при выборе конфигурации, содержащей указанный интерфейс Mass Storage, были сконфигурированы соответствующие конечные точки.

Note:
Индексные номера конечной точки, как указано в структуре конфигурации интерфейса, не должны наложиться ни с каким другим интерфейсом, иначе произойдет повреждение банка конечной точки. Разрывы в номерах конечных точек или непоследовательные индексы в пределах единственного интерфейса допустимы, но никакие два интерфейса любого типа не должны иметь чередования индексов конечной точки.
Parameters:
[in,out]MSInterfaceInfoуказатель на структуру, содержащую конфигурацию и состояние Mass Storage Class.
Returns:
двоичное true, если конечные точки успешно сконфигурированы, иначе false.
void MS_Device_ProcessControlRequest ( USB_ClassInfo_MS_Device_t *const  MSInterfaceInfo)

Обрабатывает пришедшие от хоста запросы управления, которые направлены на указанный интерфейс класса Mass Storage. Это должно быть слинковано с событием EVENT_USB_Device_ControlRequest() библиотеки.

Parameters:
[in,out]MSInterfaceInfoуказатель на структуру, содержащую конфигурацию и состояние Mass Storage Class.
void MS_Device_USBTask ( USB_ClassInfo_MS_Device_t *const  MSInterfaceInfo)

Главная задача поддержки интерфейса класса Mass Storage, необходимая для его корректной работы. Должна часто вызываться в главном цикле программы, перед главной задачей поддержки USB USB_USBTask().

Parameters:
[in,out]MSInterfaceInfoуказатель на структуру, содержащую конфигурацию и состояние Mass Storage.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines