Библиотека LUFA (раннее название MyUSB) версия 101122
|
Enumerations | |
enum | Pipe_Stream_RW_ErrorCodes_t { PIPE_RWSTREAM_NoError = 0, PIPE_RWSTREAM_PipeStalled = 1, PIPE_RWSTREAM_DeviceDisconnected = 2, PIPE_RWSTREAM_Timeout = 3, PIPE_RWSTREAM_CallbackAborted = 4 } |
Functions | |
uint8_t | Pipe_Discard_Stream (uint16_t Length, StreamCallbackPtr_t Callback) |
uint8_t | Pipe_Write_Stream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Write_EStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Write_PStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Write_Stream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Write_EStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Write_PStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Read_Stream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Read_EStream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Read_Stream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | Pipe_Read_EStream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
Функции, макросы, переменные, перечисления и типы, связанные с чтением и записью данных из каналов и в каналы.
Перечисление для возможных кодов ошибки, возвращаемых функциями Pipe_*_Stream_*.
PIPE_RWSTREAM_NoError |
Команда выполнена успешно, ошибок нет. |
PIPE_RWSTREAM_PipeStalled |
Устройство при передаче перевело канал в режим stall. |
PIPE_RWSTREAM_DeviceDisconnected |
При передаче устройство было отключено от хоста. |
PIPE_RWSTREAM_Timeout |
Устройство потерпело ошибку при приеме или отправке следующего пакета в течение периода программного таймаута, установленного макросом USB_STREAM_TIMEOUT_MS. |
PIPE_RWSTREAM_CallbackAborted |
Показывает, что функция callback сделала ранний обрыв передачи. |
uint8_t Pipe_Discard_Stream | ( | uint16_t | Length, |
StreamCallbackPtr_t | Callback | ||
) |
Читает и отбрасывает указанное количество байт из канала, отбрасывая по необходимости полностью прочитанные из хоста пакеты. Последний пакет не обрасывается автоматически, пока не будут прочитаны оставшиеся байты; пользователь отвечает за ручное отбрасывание последнего пакета от устройства с помощью макроса Pipe_ClearIN(). Между каждым пакетом USB, указанная функция callback потока выполняется с повторениями, пока не будет готов следующий пакет, что позволяет ранний обрыв потоковых передач.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
Токен канала устанавливается автоматически, что можно использовать на двунаправленных каналах напрямую без явного изменения направления данных через вызов Pipe_SetPipeToken().
[in] | Length | количество отправляемых данных via the currently selected pipe. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Read_EStream_BE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Pipe_Read_Stream_BE() с буфером в EEPROM.
[out] | Buffer | указатель на буфер, куда будут записаны данные. |
[in] | Length | количество читаемых байт для выбранного в настоящий момент потока, откуда читаются данные. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Read_EStream_LE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Pipe_Read_Stream_LE() с буфером в EEPROM.
[out] | Buffer | указатель на буфер, куда будут записаны данные. |
[in] | Length | количество читаемых байт для выбранного в настоящий момент потока, откуда читаются данные. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Read_Stream_BE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Читает указанное количество байт из канала в указанный буфер в формате big endian, отправляя полные пакеты в устройство по мере необходимости. Последний пакет не отправляется автоматически; пользователь отвечает за ручную отправку последнего записанного пакета с помощью макроса Pipe_ClearIN(). Между каждым пакетом USB, указанная функция callback вызывается с повторениями, пока не будет готов следующий пакет, что позволяет ранние обрывы передач потока.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
Токен канала устанавливается автоматически, что можно использовать на двунаправленных каналах напрямую без явного изменения направления данных через вызов Pipe_SetPipeToken().
[out] | Buffer | указатель на буфер, куда будут записаны данные. |
[in] | Length | количество читаемых байт для выбранного в настоящий момент потока, откуда читаются данные. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Read_Stream_LE | ( | void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Читает указанное количество байт из канала в указанный буфер в формате little endian, отправляя полные пакеты в устройство по мере необходимости. Последний пакет не отправляется автоматически; пользователь отвечает за ручную отправку последнего записанного пакета с помощью макроса Pipe_ClearIN(). Между каждым пакетом USB, указанная функция callback вызывается с повторениями, пока не будет готов следующий пакет, что позволяет ранние обрывы передач потока.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
Токен канала устанавливается автоматически, что можно использовать на двунаправленных каналах напрямую без явного изменения направления данных через вызов Pipe_SetPipeToken().
[out] | Buffer | указатель на буфер, куда будут записаны данные. |
[in] | Length | количество читаемых байт для выбранного в настоящий момент потока, откуда читаются данные. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Write_EStream_BE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Pipe_Write_Stream_BE() с буфером в EEPROM.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых в буфер байт для выбранного в настоящий момент канала. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Write_EStream_LE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Pipe_Write_Stream_LE() с буфером в EEPROM.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых в буфер байт для выбранного в настоящий момент канала. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Write_PStream_BE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Pipe_Write_Stream_BE() с буфером во FLASH.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых в буфер байт для выбранного в настоящий момент канала. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Write_PStream_LE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Версия Pipe_Write_Stream_LE() с буфером во FLASH.
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых в буфер байт для выбранного в настоящий момент канала. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Write_Stream_BE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Записывает указанное количество байт в канал из указанного буфера в формате big endian, отправляя полные пакеты на устройство по мере необходимости. Последний заполненный пакет не отправляется автоматически; пользователь отвечает за ручную отправку последнего записанного пакета с помощью макроса Pipe_ClearOUT(). Между каждым пакетом USB, указанная функция callback вызывается с повторениями, пока не будет готов следующий пакет, что позволяет ранние обрывы передач потока.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
Токен канала устанавливается автоматически, что можно использовать на двунаправленных каналах напрямую без явного изменения направления данных через вызов Pipe_SetPipeToken().
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых в буфер байт для выбранного в настоящий момент канала. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |
uint8_t Pipe_Write_Stream_LE | ( | const void * | Buffer, |
uint16_t | Length, | ||
StreamCallbackPtr_t | Callback | ||
) |
Записывает указанное количество байт в канал от указанного буфера в формате little endian, отправляя полные пакеты к устройству по мере необходимости. Последний заполненный пакет не отправляется автоматически; пользователь отвечает за ручную отправку последнего записанного пакета с помощью макроса Pipe_ClearOUT(). Между каждым пакетом USB, указанная функция callback вызывается с повторениями, пока не будет готов следующий пакет, что позволяет ранние обрывы передач потока.
Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.
Токен канала устанавливается автоматически, что можно использовать на двунаправленных каналах напрямую без явного изменения направления данных через вызов Pipe_SetPipeToken().
[in] | Buffer | указатель на буфер, откуда читаются данные. |
[in] | Length | количество читаемых в буфер байт для выбранного в настоящий момент канала. |
[in] | Callback | имя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует. |