Библиотека LUFA (раннее название MyUSB) версия 101122
|
Enumerations | |
enum | Endpoint_Stream_RW_ErrorCodes_t { ENDPOINT_RWSTREAM_NoError = 0, ENDPOINT_RWSTREAM_EndpointStalled = 1, ENDPOINT_RWSTREAM_DeviceDisconnected = 2, ENDPOINT_RWSTREAM_BusSuspended = 3, ENDPOINT_RWSTREAM_Timeout = 4, ENDPOINT_RWSTREAM_CallbackAborted = 5 } |
enum | Endpoint_ControlStream_RW_ErrorCodes_t { ENDPOINT_RWCSTREAM_NoError = 0, ENDPOINT_RWCSTREAM_HostAborted = 1, ENDPOINT_RWCSTREAM_DeviceDisconnected = 2, ENDPOINT_RWCSTREAM_BusSuspended = 3 } |
Functions | |
uint8_t | Endpoint_Discard_Stream (uint16_t Length, StreamCallbackPtr_t Callback) |
uint8_t | Endpoint_Write_Stream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_EStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_PStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_Stream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_EStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_PStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_Stream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_EStream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_Stream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_EStream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_Control_Stream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_Control_EStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_Control_PStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_Control_Stream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_Control_EStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Write_Control_PStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_Control_Stream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_Control_EStream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_Control_Stream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Endpoint_Read_Control_EStream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
Функции, макросы, переменные, перечисления и типы, связанные с чтением и записью потоков данных из конечных точек и в конечные точки.
Перечисление для возможных кодов возврата ошибки из функций Endpoint_*_Control_Stream_*.
Перечисление для возможных кодов возврата ошибки функций Endpoint_*_Stream_*.
ENDPOINT_RWSTREAM_NoError |
Команда выполнена успешно, ошибок нет. |
ENDPOINT_RWSTREAM_EndpointStalled |
Конечная точка переведена в состояние stalled во время переноса потока даннных хостом или устройством. |
ENDPOINT_RWSTREAM_DeviceDisconnected |
Устройство отсоединено от хоста во время передачи данных. |
ENDPOINT_RWSTREAM_BusSuspended |
Шина USB переведена хостом в режим suspended (приостановлено), и далее невозможен никакой трафик USB через конечную точку, пока работа шины не будет возобновлена (resume). |
ENDPOINT_RWSTREAM_Timeout |
Хост потерпел неудачу при принятии или отправке следующего пакета в пределах программного периода таймаута, установленного макросом USB_STREAM_TIMEOUT_MS. |
ENDPOINT_RWSTREAM_CallbackAborted |
Показывает, что функция обратного вызова произвела преждевременный обрыв передачи. |
uint8_t Endpoint_Discard_Stream | ( | uint16_t | Length, |
StreamCallbackPtr_t | Callback | ||
) |
Читает и отбрасывает указанное количество байт от конечной точки из указанного буфера, отбрасывая полностью прочитанные от хоста пакеты, если необходимо. Последний пакет не отбрасывается автоматически, пока не будут прочитаны остальные байты; пользователь отвечает за ручное отбрасывание последнего пакета от хоста через макрос Endpoint_ClearOUT(). Между каждым пакетом USB, указанная функция callback делает повторяющиеся вызовы, пока не будет готов следующий пакет, что позволяет делать ранний обрыв (abort) потоковых передач.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Read_Control_EStream_BE | ( | void * | Buffer, |
uint16_t | Length | ||
) |
Версия Endpoint_Read_Control_Stream_BE() с буфером в EEPROM.
[out] | Buffer | указатель на буфер назначения, куда будут записаны данные. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
uint8_t Endpoint_Read_Control_EStream_LE | ( | void * | Buffer, |
uint16_t | Length | ||
) |
Версия Endpoint_Read_Control_Stream_LE() с буфером в EEPROM.
[out] | Buffer | указатель на буфер назначения, куда будут записаны данные. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
uint8_t Endpoint_Read_Control_Stream_BE | ( | void * | Buffer, |
uint16_t | Length | ||
) |
Читает указанное количество байт от конечной точки CONTROL в указанный буфер в формате big endian, отбрасывая польностью прочитанные пакеты от хоста по мере необходимости. Подтверждение IN не отправляется автоматически после состояния успеха или ошибки; пользователь отвечает за ручную отправку установки IN для завершения передачи с помощью макроса Endpoint_ClearIN().
[out] | Buffer | указатель на буфер назначения, куда будут записаны данные. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
uint8_t Endpoint_Read_Control_Stream_LE | ( | void * | Buffer, |
uint16_t | Length | ||
) |
Читает указанное количество байт от конечной точки CONTROL в указанный буфер в формате little endian, отбрасывая польностью прочитанные пакеты от хоста по мере необходимости. Подтверждение IN не отправляется автоматически после состояния успеха или ошибки; пользователь отвечает за ручную отправку установки IN для завершения передачи с помощью макроса Endpoint_ClearIN().
[out] | Buffer | указатель на буфер назначения, куда будут записаны данные. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
uint8_t Endpoint_Read_EStream_BE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Endpoint_Read_Stream_BE() с буфером в EEPROM.
[out] | Buffer | указатель на буфер, куда будут записываться данные, размещенный в памяти EEPROM. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Read_EStream_LE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Endpoint_Read_Stream_LE() с буфером в EEPROM.
[out] | Buffer | указатель на буфер, куда будут записываться данные, размещенный в памяти EEPROM. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Read_Stream_BE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Читает указанное количество байт от конечной точки в указанный буфер в формате big endian, при необходимости отбрасывая полностью прочитанные от хоста пакеты. Последний пакет не отбрасывается автоматически, пока не будут прочитаны остальные байты; пользователь отвечает за ручное отбрасывание последнего пакета от хоста через макрос Endpoint_ClearOUT(). Между каждым пакетом USB указанный callback потока вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
[out] | Buffer | указатель на буфер назначения, куда будут записаны данные. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Read_Stream_LE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Читает указанное количество байт от конечной точки в указанный буфер в формате little endian, при необходимости отбрасывая полностью прочитанные от хоста пакеты. Последний пакет не отбрасывается автоматически, пока не будут прочитаны остальные байты; пользователь отвечает за ручное отбрасывание последнего пакета от хоста через макрос Endpoint_ClearOUT(). Между каждым пакетом USB указанный callback потока вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
[out] | Buffer | указатель на буфер назначения, куда будут записаны данные. |
[in] | Length | количество отправляемых данных через выбранную в настоящее время конечную точку. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Write_Control_EStream_BE | ( | const void * | Buffer, |
uint16_t | Length | ||
) |
Версия Endpoint_Write_Control_Stream_BE() с буфером в EEPROM.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
uint8_t Endpoint_Write_Control_EStream_LE | ( | const void * | Buffer, |
uint16_t | Length | ||
) |
Версия Endpoint_Write_Control_Stream_LE() с буфером в EEPROM.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
uint8_t Endpoint_Write_Control_PStream_BE | ( | const void * | Buffer, |
uint16_t | Length | ||
) |
Версия Endpoint_Write_Control_Stream_BE() с буфером во FLASH.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
uint8_t Endpoint_Write_Control_PStream_LE | ( | const void * | Buffer, |
uint16_t | Length | ||
) |
Версия Endpoint_Write_Control_Stream_LE() с буфером во FLASH.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
uint8_t Endpoint_Write_Control_Stream_BE | ( | const void * | Buffer, |
uint16_t | Length | ||
) |
Записывает указанное число байт в конечную точку типа CONTROL из указанного буфера в формате big endian, отправляя полные пакеты хосту по мере необходимости. Подтверждение хосту OUT не очищается автоматически и в состоянии ошибки, и в состоянии успешной передачи; пользователь отвечает за ручную очистку установки OUT для завершения передачи через макрос Endpoint_ClearOUT().
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
uint8_t Endpoint_Write_Control_Stream_LE | ( | const void * | Buffer, |
uint16_t | Length | ||
) |
Записывает указанное количество байт в конечную точку типа CONTROL из указанного буфера в формате little endian, отправляя полные пакеты на хост по мере необходимости. Подтверждение хосту OUT не очищается автоматически и в состоянии ошибки, и в состоянии успешной передачи; пользователь отвечает за ручную очистку установки OUT для завершения передачи через макрос Endpoint_ClearOUT().
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
uint8_t Endpoint_Write_EStream_BE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Endpoint_Write_Stream_BE() с буфером исходных данных в EEPROM.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Write_EStream_LE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Endpoint_Write_Stream_LE() с исходным буфером в EEPROM.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Write_PStream_BE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Endpoint_Write_Stream_BE() с буфером исходных данных во FLASH.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Write_PStream_LE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Endpoint_Write_Stream_LE() с исходным буфером во FLASH.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Write_Stream_BE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Записывает указанное количество байт в конечную точку из указанного буфера в формате big endian, отправляя хосту полные пакеты по мере необходимости. Последний заполненный пакет не отправляется автоматически; пользователь сам отвечает за ручную отправку хосту последнего записанного пакета через макрос Endpoint_ClearIN(). Между каждым пакетом USB указанный callback вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Endpoint_Write_Stream_LE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Записывает указанное количество байт в конечную точку из указанного буфера в формате little endian, с отправкой по необходимости хосту полных пакетов. Последний заполненный пакет не отправляется автоматически; пользователь сам отвечает за ручную отправку хосту последнего записанного пакета через макрос Endpoint_ClearIN(). Между каждым пакетом USB указанный callback вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых байт из буфера для выбранной в настоящий момент конечной точки. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |