| 
    Библиотека LUFA (раннее название MyUSB) версия 101122 
   | 
 
Enumerations | |
| enum | USB_DescriptorMemorySpaces_t {  MEMSPACE_FLASH = 0, MEMSPACE_EEPROM = 1, MEMSPACE_RAM = 2 }  | 
| enum | USB_Device_States_t {  DEVICE_STATE_Unattached = 0, DEVICE_STATE_Powered = 1, DEVICE_STATE_Default = 2, DEVICE_STATE_Addressed = 3, DEVICE_STATE_Configured = 4, DEVICE_STATE_Suspended = 5 }  | 
Functions | |
| void | USB_Device_SendRemoteWakeup (void) | 
| static uint16_t | USB_Device_GetFrameNumber (void) | 
| static void | USB_Device_EnableSOFEvents (void) ATTR_ALWAYS_INLINE | 
| static void | USB_Device_DisableSOFEvents (void) ATTR_ALWAYS_INLINE | 
| uint16_t | CALLBACK_USB_GetDescriptor (const uint16_t wValue, const uint8_t wIndex, const void **const DescriptorAddress, uint8_t *MemoryAddressSpace) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) | 
Variables | |
| uint8_t | USB_ConfigurationNumber | 
| bool | USB_RemoteWakeupEnabled | 
| bool | USB_CurrentlySelfPowered | 
| volatile uint8_t | USB_DeviceState | 
Маски опций режима устройства USB | |
| #define | USB_DEVICE_OPT_LOWSPEED (1 << 0) | 
| #define | USB_DEVICE_OPT_FULLSPEED (0 << 0) | 
Макросы и перечисления, связанные с устройством USB. Этот модуль содержит макросы и перечисления, которые используются, когда контроллер USB инициализирован в режиме устройства USB.
| #define USB_DEVICE_OPT_FULLSPEED (0 << 0) | 
Маска для параметра Options функции USB_Init(). Показывает, что интерфейс USB должен быть инициализирован в режим полной скорости full speed (12 мегабит/сек).
| #define USB_DEVICE_OPT_LOWSPEED (1 << 0) | 
Маска для параметра Options функции USB_Init(). Показывает, что интерфейс USB должен быть инициализирован в режим низкой скорости low speed (1.5 мегабит/сек).
Перечисление для возможных областей памяти, для MemoryAddressSpace функции CALLBACK_USB_GetDescriptor(). Может использоваться, когда не используются опции времени компиляции USE_*_DESCRIPTORS, чтобы показать, в какой области памяти сохранен дескриптор.
| enum USB_Device_States_t | 
| uint16_t CALLBACK_USB_GetDescriptor | ( | const uint16_t | wValue, | 
| const uint8_t | wIndex, | ||
| const void **const | DescriptorAddress, | ||
| uint8_t * | MemoryAddressSpace | ||
| ) | 
Функция получения для указанного дескриптора размера и размещения в памяти по указанному типу дескриптора, индексу и ID языка. Эта функция ДОЛЖНА быть переопределена в приложении пользователя (добавлена с полным, идентичным прототипом и именем, чтобы библиотека могла её вызвать для получения данных дескриптора.
| [in] | wValue | Тип дескриптора для получения в старшем байте, и его индекс в младшем байте (когда имеется больше одного дескриптора указанного типа, как в случае строковых дескрипторов). Тип может быть одним из стандартных типов, заданных в перечислении DescriptorTypes_t, или может иметь специфичное для класса дескриптора значение типа. | 
| [in] | wIndex | ID языка для возврата, если тип wValue указывает на DTYPE_String, иначе ноль для стандартных дескрипторов, или как задано в стандартах, специфичных для класса. | 
| [out] | DescriptorAddress | Указатель на дескриптор в памяти. Это должно быть установлено в подпрограмме на адрес дескриптора. | 
| [out] | MemoryAddressSpace | A value from the USB_DescriptorMemorySpaces_t enum to indicate the memory space in which the descriptor is stored. Этот параметр не существует, когда используется одна из опций времени компиляции USE_*_DESCRIPTORS. | 
| static void USB_Device_DisableSOFEvents | ( | void | ) |  [inline, static] | 
        
Запрещает события Start Of Frame режима устройства. Когда запрещено, останавливает запуск события EVENT_USB_Device_StartOfFrame(), когда прошла энумерация в режиме устройства USB.
| static void USB_Device_EnableSOFEvents | ( | void | ) |  [inline, static] | 
        
Разрешает события Start Of Frame (SOF, начало фрейма) при работе в режиме устройства USB. Когда разрешено, это приводит к запуску события EVENT_USB_Device_StartOfFrame() раз в милисекунду, синхронно с шиной USB, в начале каждого фрейма USB, когда прошла энумерация в режиме устройства USB.
| static uint16_t USB_Device_GetFrameNumber | ( | void | ) |  [inline, static] | 
        
Возвращает текущий номер фрейма USB в режиме работы устройства USB. Каждую милисекунду при активной шине USB (когда устройство прошло энумерацию хостом) номер фрейма увеличивается на единицу.
| void USB_Device_SendRemoteWakeup | ( | void | ) | 
Отправляет на хост запрос Remote Wakeup. Сигнализирует хосту, что устройство должно выйти из режима приостановки (suspended mode), и обмен данными должен продолжиться.
Обычно это реализовано, чтобы устройства HID (мыши, клавиатуры и т. п.) могли разбудить компьютер хоста, когда хост находится в режиме сна, и все устройства USB находятся в состоянии низкого энергопотребления.
| uint8_t USB_ConfigurationNumber | 
Показывает установленный в настоящий момент номер конфигурации устройства. Устройства USB могут иметь несколько различных конфигураций, между которыми хост может сделать выбор; эта переменная показывает выбранное значение, или 0, если не выбрана конфигурация.
Указывает, запитано ли устройство в настоящий момент от собственного источника питания, вместо того, чтобы быть запитанным от источника шины хоста USB. Этот флаг должен оставаться очищенным, если устройство не поддерживает режим самостоятельного питания, и его значение указывается в дескрипторах устройства.
| volatile uint8_t USB_DeviceState | 
Показывает текущее состояние машины устройства USB. В режиме работы устройства USB, это показывает состояние через одно из значений перечисления USB_Device_States_t.
Это значение не должно быть изменено в приложении пользователя, поскольку оно автоматически обрабатывается библиотекой. Только одно исключение из этого правила - если используется токен NO_LIMITED_CONTROLLER_CONNECT (см. события EVENT_USB_Device_Connect() и EVENT_USB_Device_Disconnect()).
Чтобы уменьшить размер программы и ускорения проверки этой глобальной переменной, она может быть размещена в аппаратные регистры GPIOR AVR вместо RAM, путем задания токена DEVICE_STATE_AS_GPIOR в значение между 0 и 2 в makefile проекта и передачи его компилятору через ключ -D. Когда токен задан, то соответствующий регистр GPIOR не может быть использован программой пользователя, за исколючением неявного использования через API библиотеки.
Показывает, разрешено ли в настоящий момент хостом выдача устройством событий удаленного пробуждения (remote wakeup events). Если этот флаг очищен, то устройство не должно выдавать хосту события удаленного пробуждения.