Библиотека LUFA (раннее название MyUSB) версия 101122
Обработка пакета канала

Functions

static uint8_t Pipe_GetBusyBanks (void)
static bool Pipe_IsReadWriteAllowed (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Pipe_IsINReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Pipe_IsOUTReady (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static bool Pipe_IsSETUPSent (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Pipe_ClearSETUP (void) ATTR_ALWAYS_INLINE
static void Pipe_ClearIN (void) ATTR_ALWAYS_INLINE
static void Pipe_ClearOUT (void) ATTR_ALWAYS_INLINE
static bool Pipe_IsNAKReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Pipe_ClearNAKReceived (void) ATTR_ALWAYS_INLINE
static bool Pipe_IsStalled (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void Pipe_ClearStall (void) ATTR_ALWAYS_INLINE

Detailed Description

Функции, макросы, переменные, перечисления и типы, связанные поддержкой пакетов в канале.


Function Documentation

static void Pipe_ClearIN ( void  ) [inline, static]

Подтветждает прием запроса настройки IN от подключенного устройства на текущем выбранном канале, освобождение банка для готовности к следующему пакету.

static void Pipe_ClearNAKReceived ( void  ) [inline, static]

Очистка события NAK на текущем выбранном канале.

See also:
См. Pipe_IsNAKReceived() для подробностей.
static void Pipe_ClearOUT ( void  ) [inline, static]

Отправляет на устройство содержимое текущего выбранного канала в виде пакета OUT, освобождение банка для готовности к следующему пакету.

static void Pipe_ClearSETUP ( void  ) [inline, static]

Отправляет содержимое текущего выбранного канал типа CONTROL на устройство в виде пакета SETUP.

static void Pipe_ClearStall ( void  ) [inline, static]

Очищает флаг определения состояния STALL на текущем выбранном канале, но не очищает само по себе условие STALL (это должно быть сделано через управляющий запрос ClearFeature, посланный на устройство).

static uint8_t Pipe_GetBusyBanks ( void  ) [inline, static]

Запрашивает количество занятых банков в выбранном сейчас канале, которые поставлены в очередь на передачу командой Pipe_ClearOUT(), или ожидают подтверждения по команде Pipe_ClearIN().

Returns:
общее количество занятых банков в выбранном сейчас канале.
static bool Pipe_IsINReceived ( void  ) [inline, static]

Определяет, принят ли пакет от подключенного устройства в текущем выбранном канале IN.

Returns:
двоичное true, если текущий канал принял пакет IN, иначе false.
static bool Pipe_IsNAKReceived ( void  ) [inline, static]

Определяет, что устройство послало NAK (Negative Acknowledge, отрицательное подтверждение) в ответ на последний отправленный пакет на выбранном канале. Это происходит, когда хост отправляет пакет на устройство, но устройство сейчас не готово обработать пакет (например, банки конечной точки заполнены). Если принят NAK, то это должно быть очищено с использованием Pipe_ClearNAKReceived(), перед отправкой заново предыдущего (или любого другого) пакета.

Returns:
двоичное true, если принят NAK на текущем канале, иначе false.
static bool Pipe_IsOUTReady ( void  ) [inline, static]

Определяет, готов ли выбранный канал OUT отправить пакет OUT на подключенное устройство.

Returns:
двоичное true, если текущий канал готов к пакету OUT, иначе false.
static bool Pipe_IsReadWriteAllowed ( void  ) [inline, static]

Определяет, можно ли читать из выбранного канала (если ожидают данные в банке канала, и канал имеет направление IN, или если банк еще не заполнен, если канал имеет направление OUT). Эта функция вернет false, если на канале произошла ошибка, или если канал имеет направление IN, и не были приняты пакеты (или был принят пустой пакет), или если канал имеет направление OUT и банк заполнен.

Note:
Эта функция не допустима с каналами типа CONTROL.
Returns:
двоичное true, если выбранный канал можно читать или записывать, в зависимости от направления.
static bool Pipe_IsSETUPSent ( void  ) [inline, static]

Определяет, что не было отправлено запроса SETUP в подключенное устройство на выбранном канале, имеющем тип CONTROL.

Returns:
двоичное true, если текущий канал готов к пакету SETUP, иначе false.
static bool Pipe_IsStalled ( void  ) [inline, static]

Определяет, что текущий выбранный канал имеет условие STALL, установленное подключенным устройством.

Returns:
двоичное true, если текущий канал переведен подключенным устройством в состояние stall, иначе false.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines